AWS CodeDeploy
用户指南 (API 版本 2014-10-06)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

步骤 3:使用 CodeDeploy 控制台部署 Amazon ECS 服务

在本部分中,您将创建 CodeDeploy 应用程序和部署组,以部署更新的 Amazon ECS 应用程序。在部署过程中,CodeDeploy 将 Amazon ECS 应用程序的生产流量转移到新的替换任务集的新版本。要完成此步骤,您需要以下各项:

  • Amazon ECS 集群名称。

  • Amazon ECS 服务名称。

  • 应用程序负载均衡器 名称。

  • 生产侦听器端口。

  • 目标组名称。

  • 您创建的 S3 存储桶的名称。

创建 CodeDeploy 应用程序

  1. Sign in to the AWS 管理控制台 and open the CodeDeploy console at https://console.amazonaws.cn/codedeploy/.

  2. 选择 Create application (创建应用程序)

  3. Application name (应用程序名称) 中,输入 ecs-demo-codedeploy-app

  4. Compute platform (计算平台) 中,选择 Amazon ECS

  5. 选择 Create application (创建应用程序)

创建 CodeDeploy 部署组

  1. 在应用程序页面的 Deployment groups (部署组) 选项卡上,选择 Create deployment group (创建部署组)

  2. Deployment group name (部署组名称) 中,输入 ecs-demo-dg

  3. Service role (服务角色) 中,选择授予 CodeDeploy 访问 Amazon ECS 权限的服务角色。有关更多信息,请参阅为 CodeDeploy 使用基于身份的策略(IAM 策略)

  4. Environment configuration (环境配置) 中,选择 Amazon ECS 集群名称和服务名称。

  5. Load balancers (负载均衡器) 中,选择将流量提供给 Amazon ECS 服务的负载均衡器的名称。

  6. Production listener port (生产侦听器端口) 中,选择将生产流量提供给 Amazon ECS 服务的侦听器的端口和协议(例如,HTTP: 80)。本教程不包括可选的测试侦听器,因此请勿从 Test listener port (测试侦听器端口) 中选择端口。

  7. Target group 1 name (目标组 1 名称)Target group 2 name (目标组 2 名称) 中,选择两个不同的目标组以在部署期间路由流量。请确保它们是您为负载均衡器创建的目标组。哪个用于目标组 1 和哪个用于目标组 2 并不重要。

  8. 选择 Reroute traffic immediately (立即重新路由流量)

  9. 对于 Original revision termination (原始修订终止),选择 0 天、0 小时和 5 分钟。与使用默认值(1 小时)相比,这可以让您更快地完成部署。

  10. 选择 Create deployment group (创建部署组)

部署 Amazon ECS 应用程序

  1. 从部署组控制台页面中,选择 Create deployment (创建部署)

  2. 对于 Deployment group (部署组),选择 ecs-demo-dg

  3. 对于 Revision type (修订类型),选择 My application is stored in Amazon S3 (我的应用程序存储在 Amazon S3 中)。在 Revision location (修订位置) 中,输入 S3 存储桶的名称。

  4. 对于 Revision file type (修订文件类型),根据情况选择 .json.yaml

  5. (可选)在 Deployment description (部署描述) 框中,为部署输入描述。

  6. 选择 Create deployment (创建部署)

  7. 您可以在 Deployment status (部署状态) 中监控部署。在生产流量已全部路由至替换任务集并等待五分钟之后,您可以选择 Terminate original task set (终止原始任务集),以立即终止原始任务集。如果未选择 Terminate original task set (终止原始任务集),则原始任务集将在您指定的五分钟等待时间到期后终止。