滚动更新 - Amazon ECS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

滚动更新

当启动一项使用滚动更新 (ECS) 部署类型时,Amazon ECS 服务调度器会将当前正在运行的任务替换为新任务。在滚动更新期间 Amazon ECS 在服务中添加或删除的任务数量由部署配置控制。部署配置由 minimumHealthyPercentmaximumPercent 值组成,这些值是在创建服务时定义的,但也可以在现有服务上更新。

minimumHealthyPercent 表示在部署期间或容器实例耗尽时应为服务运行的任务数的下限,服务所需任务数的百分比表示。此值四舍五入。例如,如果最小运行状况百分比为 50,并且所需的任务计数为 4,则调度器可以在启动两个新任务之前停止两个现有任务。同样,如果最小运行状况百分比为 75%,所需任务计数为 2,则由于结果值也为 2,调度器无法停止任何任务。

maximumPercent 表示部署期间或容器实例耗尽时应为服务运行的任务数的上限,服务所需任务数的百分比表示。此值四舍五入。例如,如果最大百分比为 200 且目标任务为计数四,则调度器可以在停止四个现有任务之前启动四个新任务。同样,如果最大百分比为 125,且目标任务计数为三,则调度器无法启动任何任务,因为结果值也是三。

重要

设置最小运行状况百分比或最大百分比时,应确保调度器在启动部署时可以停止或启动至少一个任务。如果您的服务由于部署配置无效而停滞的部署,将发送服务事件消息。有关更多信息,请参阅 因为服务部署配置,服务 (service-name) 无法在部署期间停止或启动任务。更新 minimumHealthyPercent 或最大百分比值,然后重试。

当新的服务部署开始或部署完成时,Amazon ECS 会将服务部署状态更改事件发送到 EventBridge。这提供了一种用于监控服务部署状态的编程方式。有关更多信息,请参阅服务部署状态更改事件

要利用所有功能,请使用控制台或Amazon CLI来部署您的服务。

故障检测方法

滚动更新部署有两种方法,可让您快速确定部署失败的时间,然后可以选择将故障回滚到上一个有效部署。

您可以使用任一方法,也可以同时使用这两种方法。当您同时使用这两种方法时,只要满足任一故障方法的故障标准,部署就会设置为失败。

使用以下准则来帮助确定要使用哪种方法:

  • 断路器 — 若要在任务无法启动时停止部署,请使用此方法。

  • CloudWatch alarms-如果您想根据应用程序指标停止部署,请使用此方法。

有关 Amazon ECS 部署过程的信息,请参阅《Amazon ECS 最佳实践指南》中的任务部署