从 CodeDeploy 蓝绿服务部署迁移到 Amazon ECS 滚动更新服务部署 - Amazon Elastic Container Service

从 CodeDeploy 蓝绿服务部署迁移到 Amazon ECS 滚动更新服务部署

可以将服务部署从 CodeDeploy 蓝绿部署迁移到 Amazon ECS 滚动更新部署。此举有助于摆脱对 CodeDeploy 的依赖,转而使用集成部署。

Amazon ECS 服务计划程序会将当前正在运行的任务替换为新任务。在滚动更新期间 Amazon ECS 在服务中添加或删除的任务数量由服务部署配置控制。

先决条件

在开始蓝绿部署之前,执行以下操作。

  1. 将不再需要 Amazon ECS CodeDeploy IAM 角色。

  2. 关闭 CodeDeploy 自动化。有关更多信息,请参阅 CodeDeploy User Guide 中的 Working with deployment groups in CodeDeploy

  3. 确认服务没有正在进行的服务部署。有关更多信息,请参阅 使用 Amazon ECS 服务部署查看服务历史记录

有关更新服务部署控制器的更多信息,请参阅更新 Amazon ECS 服务参数

过程

  1. https://console.aws.amazon.com/ecs/v2 打开控制台。

  2. Clusters(集群)页面上,选择集群。

    此时将显示集群详细信息页面。

  3. 服务选项卡中,选择服务。

    此时将显示服务详细信息页面。

  4. 在横幅中,选择迁移

    将显示更新部署配置页面。

  5. 展开部署选项,然后指定以下参数。

    1. 对于部署控制器类型,选择 ECS

    2. 对于部署策略,选择滚动更新

    3. 对于Min running tasks(最小运行任务数),输入服务中在部署期间必须保持 RUNNING 状态的任务数的下限,以所需任务数的百分比表示(四舍五入到最接近的整数)。有关更多信息,请参阅部署配置

    4. 对于 Max running tasks(最大运行任务数),输入部署期间 RUNNINGPENDING 状态下允许的服务中任务数的上限,以所需任务数的百分比表示(四舍五入到最接近的整数)。

  6. 展开 Load Balancing,然后配置以下内容:

    1. 对于角色,选择在先决条件中创建的具有蓝绿权限的角色。

      有关更多信息,请参阅 Amazon ECS 蓝绿部署中 Lambda 函数所需的权限

    2. 对于侦听器,从 CodeDeploy 蓝绿部署中选择生产侦听器。

    3. 对于目标组,从 CodeDeploy 蓝绿部署中选择生产目标组。

  7. 选择更新

后续步骤

必须更新服务才能使更改生效。有关更多信息,请参阅 更新 Amazon ECS 服务