

# Amazon ECS 线性部署所需的资源
<a name="linear-deployment-implementation"></a>

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

以下列表简要概述了配置 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`。
+ 在服务定义中将部署策略配置为 `linear`。
+ 或者，配置其他参数，例如：
  + 新部署的烘焙时间
  + 每个增量中要转移的流量百分比。
  + 每个流量转移增量之间等待的持续时间（以分钟为单位）。
  + 用于自动回滚的 CloudWatch 警报
  + 部署生命周期挂钩（在指定部署阶段运行的 Lambda 函数或暂停钩子）

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

请遵循下面的最佳实践以成功进行 Amazon ECS 线性部署：
+ **确保您的应用程序可以处理同时运行的两个服务修订。**
+ **规划足够的集群容量，以便在部署期间处理两个服务修订。**
+ **在生产环境中实施回滚程序之前，先对其进行测试。**
+ 配置适当的运行状况检查，以准确反映应用程序的运行状况。
+ 设置一个烘焙时间，以便充分测试新的服务修订。
+ 实施 CloudWatch 警报，以自动检测问题并触发回滚。
+ 选择步骤百分比和烘焙时间，以平衡部署速度和验证需求。
+ 对关键应用程序使用较小步骤百分比（5-10%），以最大程度地降低风险。
+ 对于需要时间预热或稳定的应用程序，设置更长的步骤烘焙时间。
+ 实施 CloudWatch 警报，以任何流量增量自动检测问题并触发回滚。
+ 在每次流量转移期间密切监控应用程序指标，以便及早检测性能下降。
+ 确保您的应用程序可以处理同时运行的两个服务修订。
+ 在生产环境中实施回滚过程之前，先在不同的流量百分比下对其进行测试。