通过创建 Amazon ECS 蓝/绿部署 Amazon CloudFormation - Amazon CodeDeploy
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

通过创建 Amazon ECS 蓝/绿部署 Amazon CloudFormation

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

有关使用 Amazon CloudFormation 管理您的 Amazon ECS 蓝/绿部署的 step-by-step 说明,请参阅用户指南 Amazon CloudFormation中的 CodeDeploy 使用自动执行ECS蓝/绿部署。Amazon CloudFormation

注意

亚太地区(大阪)区域 Amazon CloudFormation 不支持使用管理 Amazon ECS 蓝/绿部署。

通过和的 Amazon ECS 蓝/绿部署之间的区别 CodeDeploy Amazon CloudFormation

Amazon CloudFormation 堆栈模板对与 Amazon ECS 任务相关的资源和基础设施以及部署的配置选项进行了建模。因此,标准的 Amazon ECS 蓝/绿部署和通过创建的蓝/绿部署之间存在差异。 Amazon CloudFormation

与标准的 Amazon ECS 蓝/绿部署不同,您无需对以下内容进行建模或手动创建:

  • 您不能通过指定唯一代表要部署的内容的名称来创建 Amazon CodeDeploy 应用程序。

  • 您不创建 Amazon CodeDeploy 部署组。

  • 您无需指定应用程序规范文件(AppSpec 文件)。通常使用该 AppSpec 文件管理的信息,例如加权配置选项或生命周期事件,由AWS::CodeDeploy::BlueGreen挂钩管理。

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

函数 标准蓝/绿部署 蓝/绿部署 Amazon CloudFormation
指定 Amazon ECS 集群、Amazon ECS 服务、Application Load Balancer 或 Network Load Balancer、Production 侦听器、测试侦听器和两个目标组。 创建指定这些资源的 CodeDeploy 部署组。 创建 Amazon CloudFormation 模板来对这些资源进行建模。
指定要部署的更改。 创建 CodeDeploy 应用程序。 创建指定容器镜像的 Amazon CloudFormation 模板。
指定 Amazon ECS 任务定义、容器名称和容器端口。 创建指定这些资源的 AppSpec 文件。 创建 Amazon CloudFormation 模板来对这些资源进行建模。
指定部署流量转移选项和生命周期事件挂钩。 创建一个指定这些选项的 AppSpec 文件。 创建一个使用AWS::CodeDeploy::BlueGreen挂钩参数来指定这些选项的 Amazon CloudFormation 模板。

CloudWatch 警报。

创建触发回滚的 CloudWatch 警报。

在 Amazon CloudFormation 堆栈级别配置触发回滚的 CloudWatch 警报。

回滚/重新部署。 指定回滚和重新部署选项。 取消中的堆栈更新 Amazon CloudFormation。

通过以下方式监控 Amazon ECS 蓝/绿部署 Amazon CloudFormation

您可以通过 Amazon CloudFormation 和监控蓝/绿部署。 CodeDeploy有关通过监控的信息 Amazon CloudFormation,请参阅《Amazon CloudFormation 用户指南》Amazon CloudFormation中的 “监控蓝/绿事件”。

要在中查看蓝/绿部署的部署状态 CodeDeploy
  1. 登录 Amazon Web Services Management Console 并在 https://console.aws.amazon.com/codede ploy 上打开 CodeDeploy 控制台。

    注意

    使用您在入门 CodeDeploy中设置的同一用户登录。

  2. 在 “部署” 中,将显示由 Amazon CloudFormation 堆栈更新触发的部署。选择部署以查看 Deployment history(部署历史记录)

    显示“Deployments(部署)”部分和部署历史记录的控制台屏幕截图。
  3. 选择部署以查看流量转移状态。请注意,不会创建应用程序和部署组。

    显示部署状态为“completed(已完成)”的部署详细信息的控制台屏幕截图。
  4. 以下内容适用于回滚或停止部署:

    • 成功部署显示在中, CodeDeploy 并显示部署是由启动的 Amazon CloudFormation。

    • 如果要停止并回滚部署,则必须取消中的堆栈更新 Amazon CloudFormation。