

# Amazon ECS 蓝绿部署所需的资源
<a name="blue-green-deployment-implementation"></a>

要使用支持托管流量转移的蓝绿部署，服务必须使用以下功能之一：
+ Elastic Load Balancing
+ Service Connect

不使用服务发现、Service Connect、VPC Lattice 或 Elastic Load Balancing 的服务也可以使用蓝绿部署，但无法获得任何托管流量转移的优势。

以下列表简要概述了配置 Amazon ECS 蓝绿部署所需的内容：
+ 服务使用应用程序负载均衡器、网络负载均衡器或 Service Connect。配置相应的资源。
  + 应用程序负载均衡器：有关更多信息，请参阅[适用于蓝绿部署、线性部署和金丝雀部署的应用程序负载均衡器资源](alb-resources-for-blue-green.md)。
  + 网络负载均衡器：有关更多信息，请参阅[适用于 Amazon ECS 蓝绿部署、线性部署和金丝雀部署的网络负载均衡器资源](nlb-resources-for-blue-green.md)。
  + Service Connect：有关更多信息，请参阅[适用于 Amazon ECS 蓝绿部署、线性部署和金丝雀部署的 Service Connect 资源](service-connect-blue-green.md)。
+ 将服务部署控制器设置为 `ECS`。
+ 在服务定义中将部署策略配置为 `blue/green`。
+ 或者，配置其他参数，例如：
  + 新部署的烘焙时间
  + 用于自动回滚的 CloudWatch 警报
  + 用于测试的部署生命周期挂钩（这些挂钩是在指定部署阶段运行的 Lambda 函数）

## 最佳实践
<a name="blue-green-deployment-best-practices"></a>

遵循以下最佳实践，以实现 Amazon ECS 蓝绿部署：
+ 配置适当的运行状况检查，以准确反映应用程序的运行状况。
+ 设置烘焙时间，以便对绿色部署进行充分测试。
+ 实施 CloudWatch 警报，以自动检测问题并触发回滚。
+ 使用生命周期挂钩在每个部署阶段执行自动测试。
+ 确保您的应用程序能够处理同时运行的蓝色和绿色服务修订。
+ 规划足够的集群容量，以便在部署期间处理两个服务修订。
+ 在生产环境中实施回滚程序之前，先对其进行测试。