将部署策略从 Amazon ECS 蓝绿部署更新为滚动更新 - Amazon Elastic Container Service

将部署策略从 Amazon ECS 蓝绿部署更新为滚动更新

可以将蓝绿部署迁移到滚动更新部署。

迁移到滚动部署时,请注意以下事项:

  • 流量处理:利用滚动部署,新任务将在通过运行状况检查后立即开始接收流量。不像蓝绿部署那样有独立的测试阶段。

  • 资源效率:滚动部署通常比蓝绿部署使用的资源更少,因为它们会以增量方式替换任务,而不是创建完全重复的环境。

  • 回滚复杂性:与蓝绿部署相比,滚动部署的回滚更为复杂。如果需要回滚,必须使用先前的任务定义启动新的部署。

  • 部署速度:滚动部署的完成时间可能比蓝绿部署更长,尤其是对于包含许多任务的服务。

  • 负载均衡器配置:现有的负载均衡器配置将继续支持滚动部署,但流量转移行为会有所不同。

先决条件

在将服务从蓝绿部署迁移到滚动部署之前,请确保满足以下条件:

  • 使用蓝绿部署策略的现有 Amazon ECS 服务

  • 该服务没有正在进行的部署(等待任何当前部署完成)

  • 清楚地了解服务在滚动部署下的行为方式

注意

如果服务正在进行部署,则无法将其迁移到滚动部署。等待当前所有部署完成,然后再继续操作。

迁移过程

按照以下步骤将 Amazon ECS 服务从蓝绿部署迁移到滚动部署:

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

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

  3. 集群页面上,选择包含要迁移的服务的集群。

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

  5. 选择要迁移的服务,然后选择更新

  6. 更新服务页面上,导航到部署选项部分,必要时将其展开。

  7. 对于部署策略,选择滚动更新

  8. 配置滚动部署设置:

    1. 对于最低正常运行百分比,输入部署期间必须保持在 RUNNING 状态的任务的最小百分比。该值是作为服务所需任务数的百分比指定的。

    2. 对于最高正常运行百分比,输入部署期间允许处于 RUNNINGPENDING 状态的任务的最大百分比。该值是作为服务所需任务数的百分比指定的。

  9. 可选:在部署失败检测下,配置 Amazon ECS 如何检测和处理部署失败:

    1. 要启用部署断路器,请选择使用部署断路器

    2. 要自动回滚失败的部署,请选择失败时回滚

  10. 查看配置更改,然后选择更新以保存更改并将服务迁移到滚动部署。

Amazon ECS 将更新服务配置以使用滚动部署策略。下次更新服务时,将使用滚动部署流程。

注意

从蓝绿部署迁移到滚动部署时,Amazon ECS 会通过以下方式处理迁移:

  1. 识别当前正在传送流量的有效服务修订。

  2. 保持现有的负载均衡器配置,但更改新部署的处理方式。

  3. 为服务做好准备,应对将来的滚动部署。

后续步骤