将部署策略从 Amazon ECS 蓝绿部署更新为滚动更新
可以将蓝绿部署迁移到滚动更新部署。
迁移到滚动部署时,请注意以下事项:
-
流量处理:利用滚动部署,新任务将在通过运行状况检查后立即开始接收流量。不像蓝绿部署那样有独立的测试阶段。
-
资源效率:滚动部署通常比蓝绿部署使用的资源更少,因为它们会以增量方式替换任务,而不是创建完全重复的环境。
-
回滚复杂性:与蓝绿部署相比,滚动部署的回滚更为复杂。如果需要回滚,必须使用先前的任务定义启动新的部署。
-
部署速度:滚动部署的完成时间可能比蓝绿部署更长,尤其是对于包含许多任务的服务。
-
负载均衡器配置:现有的负载均衡器配置将继续支持滚动部署,但流量转移行为会有所不同。
先决条件
在将服务从蓝绿部署迁移到滚动部署之前,请确保满足以下条件:
-
使用蓝绿部署策略的现有 Amazon ECS 服务
-
该服务没有正在进行的部署(等待任何当前部署完成)
-
清楚地了解服务在滚动部署下的行为方式
注意
如果服务正在进行部署,则无法将其迁移到滚动部署。等待当前所有部署完成,然后再继续操作。
迁移过程
按照以下步骤将 Amazon ECS 服务从蓝绿部署迁移到滚动部署:
-
从 https://console.aws.amazon.com/ecs/v2
打开 Amazon ECS 控制台。 -
在导航窗格中,选择集群。
-
在集群页面上,选择包含要迁移的服务的集群。
-
在集群详细信息页面上,选择服务选项卡。
-
选择要迁移的服务,然后选择更新。
-
在更新服务页面上,导航到部署选项部分,必要时将其展开。
-
对于部署策略,选择滚动更新。
-
配置滚动部署设置:
-
对于最低正常运行百分比,输入部署期间必须保持在
RUNNING
状态的任务的最小百分比。该值是作为服务所需任务数的百分比指定的。 -
对于最高正常运行百分比,输入部署期间允许处于
RUNNING
或PENDING
状态的任务的最大百分比。该值是作为服务所需任务数的百分比指定的。
-
-
可选:在部署失败检测下,配置 Amazon ECS 如何检测和处理部署失败:
-
要启用部署断路器,请选择使用部署断路器。
-
要自动回滚失败的部署,请选择失败时回滚。
-
-
查看配置更改,然后选择更新以保存更改并将服务迁移到滚动部署。
Amazon ECS 将更新服务配置以使用滚动部署策略。下次更新服务时,将使用滚动部署流程。
注意
从蓝绿部署迁移到滚动部署时,Amazon ECS 会通过以下方式处理迁移:
-
识别当前正在传送流量的有效服务修订。
-
保持现有的负载均衡器配置,但更改新部署的处理方式。
-
为服务做好准备,应对将来的滚动部署。
后续步骤
更新服务以启动部署。有关更多信息,请参阅 更新 Amazon ECS 服务。