AWS CodeDeploy蓝色/绿色部署ELB体系结构
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AWS CodeDeploy蓝色/绿色部署ELB体系结构相关的知识,希望对你有一定的参考价值。
我正在使用交换自动缩放组方法来执行AWS CodeDeploy B / G部署。为此,我创建了一个具有两个实例的自动缩放组。接下来,我介绍了两个目标组originaltargetgroup
和replacementtargetgroup
。然后,我创建了一个应用程序负载平衡器,其侦听器为originaltargetgroup
(100%流量)和replacementtargetgroup
(0%流量)。当我在codedeploy中启动B / G部署时,目标组为replacementtargetgroup
,它创建了带有两个新替换实例的原始自动伸缩组的副本。
我的问题是我无法使用ELB DNS访问这两个新的绿色实例。我发现这是因为绿色实例放置在replacementtargetgroup
中,该实例提供了0%的流量。
为什么ELB没有将所有流量都切换到replacementtargetgroup
,或者我做错了。
基本上,我对以上架构的工作方式感到困惑。我是否只需要为B / G部署创建一个目标组或两个目标组即可。我完全困惑,无法弄清楚。
使用CodeDeploy进行的蓝色/绿色部署不需要具有2个ASG和2个Targets组。您只需提供输入作为您现有的AutoScalingGroup和现有的ElasticLoadBalancer。
当触发B / G部署时,将触发以下顺序:
- 由CodeDeploy创建一个新的AutoScalingGroup,它是现有ASG的精确副本。
- 完成上述步骤后,您将获得新的EC2实例。如果现有的ASG有2个EC2服务器,则新的ASG也将有2个EC2服务器正在运行。
- 当供应新的EC2服务器时,将在这些服务器上进行部署,以便将它们上的应用程序更新到新版本。
- 部署完成后,新服务器将注册到现有TargetGroup。
- 注册新实例并且它们运行状况良好之后,流量从旧服务器重新路由到新服务器。
- 发布此,旧服务器已注销。
- 注销旧服务器后,CodeDeploy可以根据配置终止它们
以上是关于AWS CodeDeploy蓝色/绿色部署ELB体系结构的主要内容,如果未能解决你的问题,请参考以下文章
如何设置AWS CodeDeploy和EC2 CodeDeploy安全环境
CodeDeploy allowTraffic失败,但我的代码仍然部署在实例上