

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 通过创建 Amazon ECS blue/green 部署 CloudFormation
<a name="deployments-create-ecs-cfn"></a>

您可以使用 AWS CloudFormation 通过管理 Amazon ECS blue/green 部署 CodeDeploy。通过定义蓝绿资源并指定要在 CloudFormation中使用的流量路由和稳定设置来生成部署。本主题介绍由管理的 Amazon ECS blue/green 部署 CodeDeploy 和由管理的部署之间的区别 CloudFormation。

*有关使用 CloudFormation 来管理 Amazon ECS 蓝/绿部署的 step-by-step说明，请参阅用户指南 AWS CloudFormation中的[ CodeDeploy 使用自动执行 ECS 蓝/绿部署](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/blue-green.html)。AWS CloudFormation *

**注意**  
亚太地区（大阪）区域 CloudFormation 不支持使用管理 Amazon ECS blue/green 部署。

## 通过 CodeDeploy 和 blue/green 部署的 Amazon ECS 之间的区别 CloudFormation
<a name="differences-ecs-bg-cfn"></a>

 CloudFormation 堆栈模板建模 Amazon ECS 任务相关的资源和基础设施，以及部署的配置选项。因此，标准 Amazon ECS blue/green 部署和通过创建的 blue/green 部署之间存在差异 CloudFormation。

与标准 Amazon ECS blue/green 部署不同，您无需对以下内容进行建模或手动创建：
+ 您不能通过指定唯一代表要部署的内容的名称来创建 AWS CodeDeploy 应用程序。
+ 您不创建 AWS CodeDeploy 部署组。
+ 您无需指定*应用程序规范文件*（AppSpec 文件）。通常使用该 AppSpec 文件管理的信息，例如加权配置选项或生命周期事件，由`AWS::CodeDeploy::BlueGreen`挂钩管理。

 此表汇总了部署类型之间的高级工作流程中的差异。


****  

| 函数 | 标准 blue/green 部署 | 蓝/绿部署 CloudFormation | 
| --- | --- | --- | 
| 指定 Amazon ECS 集群、Amazon ECS 服务、应用程序负载均衡器或网络负载均衡器、生产侦听器、测试侦听器和两个目标组。 | 创建指定这些资源的 CodeDeploy 部署组。 | 创建 CloudFormation 模板来对这些资源进行建模。 | 
| 指定要部署的更改。 | 创建 CodeDeploy 应用程序。 | 创建指定容器镜像的 CloudFormation 模板。 | 
| 指定 Amazon ECS 任务定义、容器名称和容器端口。 | 创建指定这些资源的 AppSpec 文件。 | 创建 CloudFormation 模板来对这些资源进行建模。 | 
| 指定部署流量转移选项和生命周期事件挂钩。 | 创建一个指定这些选项的 AppSpec 文件。 | 创建一个使用AWS::CodeDeploy::BlueGreen挂钩参数来指定这些选项的 CloudFormation 模板。 | 
|  CloudWatch 警报。  |  创建触发回滚的 CloudWatch 警报。  |  在 CloudFormation 堆栈级别配置触发回滚的 CloudWatch 警报。  | 
| 回滚/重新部署。 | 指定回滚和重新部署选项。 | 取消中的堆栈更新 CloudFormation。 | 

## 通过以下方式监控 Amazon ECS blue/green 部署 CloudFormation
<a name="monitoring-ecs-bg-cfn"></a>

您可以通过 CloudFormation 和监控 blue/green 部署 CodeDeploy。有关通过监控的信息 CloudFormation，请参阅《*AWS CloudFormation 用户指南》 CloudFormation*[中的监控 blue/green 事件](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/blue-green.html#blue-green-events)。

**要在中查看部署的 blue/green 部署状态 CodeDeploy**

1. 登录 AWS 管理控制台 并在 [https://console.aws.amazon.com/codede](https://console.aws.amazon.com/codedeploy) ploy 上打开 CodeDeploy 控制台。
**注意**  
使用您在[入门 CodeDeploy](getting-started-codedeploy.md)中设置的同一用户登录。

1. 在 “**部署**” 中，将显示由 CloudFormation 堆栈更新触发的部署。选择部署以查看 **Deployment history（部署历史记录）**。  
![\[显示“Deployments（部署）”部分和部署历史记录的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/codedeploy/latest/userguide/images/cfn-cd-bg-deplhist.png)

1. 选择部署以查看流量转移状态。请注意，不会创建应用程序和部署组。  
![\[显示部署状态为“completed（已完成）”的部署详细信息的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/codedeploy/latest/userguide/images/cfn-cd-bg-deplstatus.png)

1. 以下内容适用于回滚或停止部署：
   + 成功部署显示在中， CodeDeploy 并显示部署是由启动的 CloudFormation。
   + 如果要停止并回滚部署，则必须取消中的堆栈更新 CloudFormation。