通过子域名授权的方式实现海外和国内分别使用Route53服务解析的方案

一、背景

1、使用单一域名按国家解析的挑战

有的客户希望在国内和海外采用单一域名运行,例如将域名部署在AWS全球的Route53服务上,并设置按照不同国家解析到不同Region的记录。此时,由于域名解析完全位于海外的DNS,国内的解析效果可能较差,存在解析不出来、同步延迟大等问题。如果由此将域名解析完全部署在中国区的Route53服务上,对国内用户体验良好,但是对海外用户又有解析失败概率提高的可能。

由此可采取授权子域名解析的办法。请看如下详细解释。

Continue reading “通过子域名授权的方式实现海外和国内分别使用Route53服务解析的方案”

ECS服务相关汇总

容器基础1:构建Apache+PHP镜像DockerFile

容器基础2:构建容器镜像并上传到ECR

ECS 201 Workshop(一)准备工作:配置IAM和任务定义

ECS 201 Workshop(二)发布ECS服务

ECS 201 Workshop(三)弹性扩展

ECS 201 Workshop(四)通过CodeDeploy实现蓝绿发布

ECS 201 Workshop(五)使用CLI发起CodeDeploy部署新的ECS版本

(六)使用为ECS Fargate使用Spot实例

(七)在ECS Fargate使用Session Manager登录到容器内的SSH进程

(八)在ECS容器服务上使用EFS文件服务提供持久化存储

构建Apache2+PHP容器的例子

构建容器用于AWS ECS服务和AWS EKS服务的时候,由于容器服务的启动endpoint只能是唯一的启动进程,而且必须处于前台,因此会面临无法同时启动php-fpm和httpd的问题。此外,在构建容器中,还经常遇到体积过大,影响服务发布速度等问题。

如下配置文件可参考构建容器镜像用于AWS ECS服务和AWS EKS服务。中国区和海外区测试通过。

Continue reading “构建Apache2+PHP容器的例子”

在ECS容器服务上使用EFS文件服务提供持久化存储

一、背景

EFS文件系统可以提供可靠的、持续的文件系统给多种服务,这其中也包括ECS容器服务。在容器场景上使用EFS的主要优势是可以简化管理,借助托管服务快速部署无须复杂运维,让ECS容器镜像的构建只需要关心应用程序本身,不需要将配置文件、数据文件打包到容器中。由此可实现容器的运行时和数据的分离。ECS Fargate和Fargate Spot都支持使用EFS文件系统,其中在Fargate Spot服务上搭配EFS,更可以借助EFS的持久化,避免Spot中断时候的数据持久保存问题。

Continue reading “在ECS容器服务上使用EFS文件服务提供持久化存储”

在ECS Fargate使用Session Manager登录到容器内的SSH进程

一、背景

之前介绍过使用System Manager套件中的Session Manager免密钥登录EC2,可参考这篇文章。针对ECS容器服务,因为开发、调试和运维的需要,也希望能登录到容器内部的shell上进行操作。此场景可使用ECS服务的exec功能在容器上执行shell命令的功能。

本文档适用于ECS Fargate和ECS Fargate spot,并在中国区测试通过。

Continue reading “在ECS Fargate使用Session Manager登录到容器内的SSH进程”

为EKS使用私有NLB并指定IP地址

一、背景

在一些情况下,EKS部署的服务需要使用私有的NLB即 Internal NLB + Node Port 方式对VPC暴露服务,例如:

  • 某个纯内网的微服务,不需要外部互联网调用,只需要从VPC和其他内网调用
  • 结合Gateway Load Balancer部署的多VPC的网络流量扫描方案,EKS所在的VPC为纯内网
  • 其他需要固定IP地址作为入口的场景

在这些场景下创建Internal NLB即可,不需要创建Internet-facing NLB。

Continue reading “为EKS使用私有NLB并指定IP地址”

查询NLB使用的IP地址

一、背景

AWS Elastic Load Balancer(简称ELB)有Application Load Balancer(简称ALB)和Network Load Balancer(简称NLB)两种。其中NLB是四层负债均衡器,常用于TCP/UDP协议的转发。又因为NLB支持使用固定的EIP或者内网IP作为流量入口,所以在特定场景下也会使用NLB转发HTTP和HTTPS流量。

NLB有两种类型,别分是Internet-facing和Internal NLB。前者用于直接对外提供互联网入口,对内连接到VPC内的内网资源;后者用于完全在VPC内的场景,其流量入口和目标组(Target Group)都是内网资源。

本文介绍如何查询NLB使用的IP地址。

Continue reading “查询NLB使用的IP地址”

在Amazon Linux(CentOS)和Ubuntu系统的EC2上使用EFS服务

2年前写过一篇EFS挂载使用说明,一晃2年过去。EFS界面已经大幅优化,挂载命令对中国区支持也更加友好,不需要以前步骤的人工修改挂载点了。因此重新编写了本文档。

新版EFS操作界面简化了创建过程,可实现几次点击即可配置好EFS。本文描述如何创建EFS服务,并在Amazon Linux(CentOS)和Ubuntu系统的EC2挂载使用。

Continue reading “在Amazon Linux(CentOS)和Ubuntu系统的EC2上使用EFS服务”

HIPAA 定义的PHI

HIPAA 是《健康保险流通与责任法案》。 制定 HIPAA 是为了提高医疗保健系统的效率和有效性,并建立美国联邦安全标准来保护受保护的健康信息 (PHI) 的安全和隐私。

HIPAA is the Health Insurance Portability and Accountability Act. HIPAA was enacted to improve the efficiency and effectiveness of the health care system and establishes federal security standards to protect the security and privacy of Protected Health Information (PHI).

Continue reading “HIPAA 定义的PHI”

通过API查询Amazon OpenSearch服务(ElasticSearch)版本和可用机型

一、确认要使用的版本

Amazon OpenSearch Service 是一款开源的分布式搜索和分析套件,衍生自 Elasticsearch。Amazon OpenSearch Service 是 Amazon Elasticsearch Service 的后继者,提供最新版本的 OpenSearch,支持 19 个版本的 Elasticsearch(1.5 到 7.10 版本),并支持由 OpenSearch Dashboards 和 Kibana(1.5 到 7.10 版本)提供的可视化功能。

引擎版本差异在这里

至此的插件版本差异在这里

更多信息参考官网的FAQ页面这里(中文)。

Continue reading “通过API查询Amazon OpenSearch服务(ElasticSearch)版本和可用机型”

使用STS服务和STS Tag标签、通过AssumeRole方式为应用生成临时授权

一、背景

在某些环境内,需要为某个系统生成一个临时访问授权,例如某应用允许用户发起对S3存储桶的特定目录的写入操作,而且有超时时间,过期后失效。此时,可使用STS服务临时生成AK/SK密钥,然后将临时AK/SK作为应用程序上传时候调用的角色即可。

本文编写参考了这篇博客,并针对AWS中国区的IAM策略添加了aws-cn标签。

Continue reading “使用STS服务和STS Tag标签、通过AssumeRole方式为应用生成临时授权”