更新 Amazon ECS Express Mode 服务 - Amazon Elastic Container Service

更新 Amazon ECS Express Mode 服务

Express Mode 服务通过为联网、负载均衡和 Application Auto Scaling 提供可配置的选项,并协调这些服务之间的更改,简化了服务更新过程。

您可以更新 Express Mode 服务以修改容器映像、调整资源分配或更改配置设置。将使用金丝雀部署来部署更新,通过基于警报的回滚警报保持可用性。

部署行为

Express Mode 服务默认使用金丝雀部署来确保安全更新和快速回滚:

  • 创建一个新环境,并使用您的更改部署任务

  • 5% 的流量转移到新环境

  • 如果在 3 分钟内有 2 个数据点的 4xx 和 5xx 错误百分比之和大于 1,则会触发基于警报的回滚

  • 运行状况检查验证新任务是否正常

  • 3 分钟烘焙时间后,100% 的流量将转移到新环境

  • 3 分钟烘焙时间进行监控后,旧任务会逐渐停止并被替换

有关更多信息,请参阅 Amazon ECS 金丝雀部署

过程

  1. https://console.aws.amazon.com/ecs/v2 打开控制台。

  2. 在导航窗格中,选择集群

  3. 集群页面上,选择包含您的 Express Mode 服务的集群的名称。

  4. 在集群详细信息页面上,选择服务选项卡。

  5. 配置一个筛选条件以查看您的 Express Mode 服务。对于筛选资源管理类型,请选择 ECS

    Express Mode 服务的名称旁边有一个 Express 徽章。

  6. 配置下:

    1. 指定要用于您的应用程序的映像。对于映像 URI,输入您的映像的 URI。要浏览您的 Amazon ECR 映像,请选择浏览 ECR 映像,然后执行以下操作:

      1. 对于私有存储库,请选择 Amazon ECR 私有存储库。

      2. 对于映像,请选择您的映像。

      3. 选择如何识别映像。对于按以下方式选择映像,请选择以下选项之一:

        • AWS 建议您选择映像摘要

        • 要使用标签,请选择映像标签,然后选择标签。

    2. 要使用私有注册表,请选择私有注册表。然后,对于 Secrets Manager ARN 或名称,输入您在先决条件中创建的 Secrets Manager ARN。

    3. 对于任务执行角色,请选择角色或创建新角色并刷新。当您需要添加其他权限时,可以更新任务执行角色。

  7. 其他配置下,自定义您的服务。

    1. 容器下:

      1. 对于容器端口,更新您的应用程序侦听的端口(默认值为 80)。

      2. 对于运行状况检查路径,更新运行状况检查的路径(例如,/health)。

    2. 环境变量下,添加应用程序所需的环境变量的键值对:

      1. 对于,请键入环境变量名称。

      2. 对于值类型,请选择环境变量密钥

      3. 对于值或值来自,输入值或参考。

      4. 要根据需要添加更多变量,请选择添加环境变量

    3. 对于命令,根据需要输入自定义命令来覆盖 Docker CMD 指令。

    4. 对于任务角色,添加一个 IAM 角色来向在容器中运行的应用程序授予权限。这允许您的应用程序对 AWS 服务进行 API 调用。

    5. 计算下:

      1. 对于 CPU,更新任务的 vCPU 分配(例如,1 个 vCPU)。

      2. 对于内存,更新任务的内存分配(例如,2 GB)。

    6. 自动扩缩下:

      1. 对于 ECS 服务指标,选择要扩展的指标(例如,ECS 服务平均内存利用率每个目标的请求计数)。

      2. 对于目标值,输入扩展的目标(例如,601000)。

      3. 对于最小任务数最大任务数,更新扩展限制。

    7. 日志下:

      1. 对于 Amazon CloudWatch 日志组,更新您的应用程序日志的日志组名称。请注意,这不会移动现有日志,而是从新的服务修订开始写入日志。

      2. 对于 Amazon CloudWatch 日志流前缀,输入日志流的新前缀。

  8. 选择更新以更新您的 Express Mode 服务。