我们正在使用ECS Fargate容器来部署我们所有的服务(~10),并希望遵循蓝/绿部署。
我们已经在BLUE flag下部署了所有服务,目标组指向这些服务。
在CICD中,创建了新的目标组,并具有稍微不同的转发规则,以允许测试而不会出现任何问题。
现在,我的系统运行有两种目标组,服务和任务定义-
- tg_blue, service_blue, task_blue→指向旧容器并提供实时流量
-
tg_green, service_green, task_green→指向新的容器并且没有任何流量。
以上步骤均在Terraform中完成。
现在,我想切换流量,这里我卡住了,如何切换流量和下一个部署将看起来像什么?
如果没有重要的理由,我会选择AWS本地解决方案。我想到了CodeDeploy。它在TGroups之间自动切换。如果没有CDeploy,您需要在两个tgroup之间实现加权平衡,并在稍后进行调整。那是额外的工作。整个流程在这个YT视频中有很好的解释。