ECS服务相关汇总

注:本文这套操作文档是按照2022年的AWS ESC容器服务的Console体验编写,2023年新的ECS Console已经推出。截图和文字有待更新。

容器基础1:构建Apache+PHP镜像DockerFile (更新了Amazon Linux 2023模版)

容器基础2:构建容器镜像并上传到ECR (更新了AWSCLI的ECR认证)

容器基础3:复制ECR上的镜像并指定新的Tag标签

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文件服务提供持久化存储

构建基于 Amazon Linux 2/2023系统的Apache2+PHP 7.4/8 环境的容器Dockerfile文件

2024-07 更新了Amazon Linux 2023操作系统Apache+PHP8的模版

一、背景

1、启动脚本问题

构建容器用于AWS ECS服务和AWS EKS服务的时候,由于容器服务的启动endpoint只能是唯一的启动进程,而且必须处于前台,因此会面临无法同时启动php-fpm和httpd的问题。为了解决这个问题,可增加一个启动服务脚本,然后让容器调用这个单一脚本。

Continue reading “构建基于 Amazon Linux 2/2023系统的Apache2+PHP 7.4/8 环境的容器Dockerfile文件”

在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进程”

实验九、为私有NLB使用指定的、固定的内网IP地址

EKS动手实验合集请参考这里

EKS 1.30 版本 @2024-07 AWS Global区域测试通过

一、背景

在一些情况下,EKS部署的服务需要使用私有的NLB方式对VPC内的其他应用暴露服务,但是又不需要暴露在互联网上。这些场景可能包括:

Continue reading “实验九、为私有NLB使用指定的、固定的内网IP地址”

查询EKS创建的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 “查询EKS创建的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方式为应用生成临时授权”