具有两个负载均衡器的AWS CodeDeploy(蓝色/绿色)部署组

时间:2020-08-01 08:36:51

标签: amazon-web-services load-balancing amazon-ecs aws-code-deploy aws-codepipeline

我的架构就像

hello

此ECS服务运行完全正常。我可以同时使用负载平衡器来完成内部和外部流量任务。

我想创建一个与CodeDeploy应用程序相对应的Blue / Green CodeDeploy部署组,该组将在需要时成功部署该服务。我正在使用CLI进行所有操作。

问题在于,由于我正在使用两个负载平衡器,因此无法将它们两者都关联在一起以创建CodeDeploy部署组。是否有关于如何创建此部署组的指示?

此外,我想使用此部署组创建管道,以便每次代码更改时都可以部署应用程序。

总的来说,我想实现一个服务,该服务应该在VPC内部使用内部ALB进行访问,并在外部使用其公共ALB进行访问。因此,我创建了两个ALB并为这些ALB创建了侦听器,然后将这些目标组附加到ECS服务。

1 个答案:

答案 0 :(得分:0)

当前CodeDeploy不支持使用多个目标组,只有在使用滚动更新的部署方式1(非蓝绿色操作)时才支持它们:

仅当服务使用滚动更新(ECS)部署控制器类型时才支持多个目标组。如果您使用的是CodeDeploy或外部部署控制器,则不支持多个目标组。

如果可能的话,建议的解决方法是使用滚动ECS更新而不是Blue / Green CodeDeploy。如果不可能,唯一的其他解决方法是将服务拆分为两个(每个端口一个)或开发自定义Lambda函数,该函数将作为生命周期挂钩2的一部分运行,Lambda函数将具有负责设置其他目标群体。