有没有办法使用带有共享 ALB 的 aws codedeploy 进行 ECS 蓝绿部署?

问题描述 投票:0回答:2

我有一个共享 ALB,通过配置主机标头规则将流量转发到特定目标组,供多个 Fargate 服务使用

是否可以仅使用一个共享 ALB,使用 ECS Fargate 应用程序的 codedeploy 进行蓝绿部署?

我尝试进行 POC,但找不到在代码部署时配置主机标头条件的位置

amazon-web-services aws-fargate aws-code-deploy blue-green-deployment
2个回答
0
投票

您可以使用跨多个

CodeDeploy
应用程序/部署组的共享 ALB 执行蓝绿部署。在包含
ALB
TargetGroupOne
TargetGroupTwo
的部署组中,部署会对指定负载均衡器内为部署组定义的目标组名称执行字符串比较,并根据所选策略协调流量转移。目标组可以在默认规则或其他规则中定义,以包括路径、主机、基于标头的路由或其组合。 CodeDeploy 将找到为 100% 目标组流量提供服务的活动规则,然后切换到同一部署组中定义的其他目标组。


0
投票

这里的问题在于监听器和测试监听器。很明显你指定了不同的目标群体,但是如何使用不同的监听器和测试监听器呢?每个侦听器都必须有唯一的端口。如果您使用共享 ALB,侦听器是共享的并且具有不同的主机标头规则。

因为代码部署没有指定标头的选项,所以它会根据目标的默认操作响应回滚/失败/部署您的应用程序。目标群体没有回应。

所以看起来您的发现是正确的,就目前而言,您不能将代码部署(如果您希望它正常工作)与共享 ALB 结合使用。

© www.soinside.com 2019 - 2024. All rights reserved.