更新 Amazon ECS Express Mode 服务
Express Mode 服务通过为联网、负载均衡和 Application Auto Scaling 提供可配置的选项,并协调这些服务之间的更改,简化了服务更新过程。
您可以更新 Express Mode 服务以修改容器映像、调整资源分配或更改配置设置。将使用金丝雀部署来部署更新,通过基于警报的回滚警报保持可用性。
部署行为
Express Mode 服务默认使用金丝雀部署来确保安全更新和快速回滚:
-
创建一个新环境,并使用您的更改部署任务
-
5% 的流量转移到新环境
-
如果在 3 分钟内有 2 个数据点的 4xx 和 5xx 错误百分比之和大于 1,则会触发基于警报的回滚
-
运行状况检查验证新任务是否正常
-
3 分钟烘焙时间后,100% 的流量将转移到新环境
-
3 分钟烘焙时间进行监控后,旧任务会逐渐停止并被替换
有关更多信息,请参阅 Amazon ECS 金丝雀部署。
过程
-
在导航窗格中,选择集群。
-
在集群页面上,选择包含您的 Express Mode 服务的集群的名称。
-
在集群详细信息页面上,选择服务选项卡。
-
配置一个筛选条件以查看您的 Express Mode 服务。对于筛选资源管理类型,请选择 ECS。
Express Mode 服务的名称旁边有一个 Express 徽章。
-
在配置下:
-
指定要用于您的应用程序的映像。对于映像 URI,输入您的映像的 URI。要浏览您的 Amazon ECR 映像,请选择浏览 ECR 映像,然后执行以下操作:
-
对于私有存储库,请选择 Amazon ECR 私有存储库。
对于映像,请选择您的映像。
选择如何识别映像。对于按以下方式选择映像,请选择以下选项之一:
-
Amazon 建议您选择映像摘要。
-
要使用标签,请选择映像标签,然后选择标签。
-
-
-
要使用私有注册表,请选择私有注册表。然后,对于 Secrets Manager ARN 或名称,输入您在先决条件中创建的 Secrets Manager ARN。
-
对于任务执行角色,请选择角色或创建新角色并刷新。当您需要添加其他权限时,可以更新任务执行角色。
-
-
在其他配置下,自定义您的服务。
-
在容器下:
-
对于容器端口,更新您的应用程序侦听的端口(默认值为 80)。
-
对于运行状况检查路径,更新运行状况检查的路径(例如,
/health)。
-
-
在环境变量下,添加应用程序所需的环境变量的键值对:
-
对于键,请键入环境变量名称。
-
对于值类型,请选择环境变量或密钥。
-
对于值或值来自,输入值或参考。
-
要根据需要添加更多变量,请选择添加环境变量。
-
-
对于命令,根据需要输入自定义命令来覆盖 Docker CMD 指令。
-
对于任务角色,添加一个 IAM 角色来向在容器中运行的应用程序授予权限。这允许您的应用程序对 Amazon 服务进行 API 调用。
-
在计算下:
-
对于 CPU,更新任务的 vCPU 分配(例如,1 个 vCPU)。
-
对于内存,更新任务的内存分配(例如,2 GB)。
-
-
在自动扩缩下:
-
对于 ECS 服务指标,选择要扩展的指标(例如,ECS 服务平均内存利用率或每个目标的请求计数)。
-
对于目标值,输入扩展的目标(例如,60 或 1000)。
-
对于最小任务数和最大任务数,更新扩展限制。
-
-
在日志下:
-
对于 Amazon CloudWatch 日志组,更新您的应用程序日志的日志组名称。请注意,这不会移动现有日志,而是从新的服务修订开始写入日志。
-
对于 Amazon CloudWatch 日志流前缀,输入日志流的新前缀。
-
-
-
选择更新以更新您的 Express Mode 服务。