Amazon ECS 蓝绿部署所需的资源
您可以在有或没有托管流量转移的情况下使用 Amazon ECS 蓝绿部署。当您的服务使用 Elastic Load Balancing 或 Service Connect 时,Amazon ECS 会为您管理蓝色和绿色服务修订之间的流量转移。如果服务未使用负载均衡器或 Service Connect(无外设服务),您仍然可以使用蓝绿部署进行受控部署,但 Amazon ECS 不会自动管理流量转移。
对于托管流量转移,请配置以下项之一:
-
Elastic Load Balancing
-
Service Connect
以下列表简要概述了配置 Amazon ECS 蓝绿部署所需的内容:
-
如果服务使用应用程序负载均衡器、网络负载均衡器或 Service Connect,请配置相应的资源以进行托管流量转移。
-
应用程序负载均衡器:有关更多信息,请参阅适用于蓝绿部署、线性部署和金丝雀部署的应用程序负载均衡器资源。
-
网络负载均衡器:有关更多信息,请参阅适用于 Amazon ECS 蓝绿部署、线性部署和金丝雀部署的网络负载均衡器资源。
-
Service Connect:有关更多信息,请参阅适用于 Amazon ECS 蓝绿部署、线性部署和金丝雀部署的 Service Connect 资源。
如果服务是无外设的(没有负载均衡器或 Service Connect),则无需配置额外的流量转移资源。
-
-
将服务部署控制器设置为
ECS。 -
在服务定义中将部署策略配置为
blue/green。 -
或者,配置其他参数,例如:
-
新部署的烘焙时间
-
用于自动回滚的 CloudWatch 警报
-
用于测试的部署生命周期挂钩(这些挂钩是在指定部署阶段运行的 Lambda 函数)
-
最佳实践
遵循以下最佳实践,以实现 Amazon ECS 蓝绿部署:
-
配置适当的运行状况检查,以准确反映应用程序的运行状况。
-
设置烘焙时间,以便对绿色部署进行充分测试。
-
实施 CloudWatch 警报,以自动检测问题并触发回滚。
-
使用生命周期挂钩在每个部署阶段执行自动测试。
-
确保您的应用程序能够处理同时运行的蓝色和绿色服务修订。
-
规划足够的集群容量,以便在部署期间处理两个服务修订。
-
在生产环境中实施回滚程序之前,先对其进行测试。