ral*_*nca 6 amazon-web-services aws-code-deploy aws-codepipeline
AWS CodeDeploy 要求必须有两个目标组。我只与一个目标群体合作,不需要第二个目标群体。但是当我尝试仅使用目标群体时,我收到此消息
目标群体对必须具有不同的目标群体。
我不太明白(我阅读了文档)为什么 CodeDeploy 需要两个目标组,而不仅仅是一个。
由于您正在进行蓝/绿部署,并且需要两个 TG(蓝色和绿色),因此 CodeDeploy 可以创建一个新的 ECS 任务集,将该任务集附加到绿色 TG,然后开始将流量从蓝色 TG 转移到绿色 TG。如果没有两个目标组,就不会有太多的蓝/绿,它将全部是蓝色。
\n\n以下是 ECS CodeDeploy 蓝/绿行为:
\n\nApplication load balancer (ALB) -> ALB DNS URL\n|\n|-- Port 80 (Production Listener) -> website-tg-blue on port 80 at container\n|-- Port 8080 (Test Listener) -> website-tg-green on port 80 at container\nRun Code Online (Sandbox Code Playgroud)\n\n目前,目标组 website-tg-blue 通过侦听器端口 80 指向生产流量,现在让\xe2\x80\x99s 假设您正在通过对任务定义进行新修订并更新来对 ECS 映像进行更新您的 ECS 服务。首先,代码部署使用新的任务定义创建一个 ECS 替换任务,并从 ALB 监听测试侦听器端口 8080,该端口将路由到 website-tg-green 目标组,然后它根据您的逻辑执行代码部署挂钩如果您已与相关挂钩关联,则可以通过您的 lambda 函数来实现。如果所有测试都通过钩子通过,或者如果您没有配置任何钩子,则代码部署将通过将侦听器端口 80 侦听器流量切换到替换目标组(即 website-tg-green)和生产流量来更新 ALB 侦听器规则将得到新的变化。
\n\n然后代码部署将等待配置的等待时间并删除原始任务集。最后,ALB 侦听器端口 80 和测试端口 8080 都将指向 website-tg-green 目标组。
\n\n如果您对同一 ECS 服务进行进一步更新,则生产侦听器目标组 website-tg-green 将切换到 website-tg-blue,并在进一步 ECS 服务级别更新时继续反之亦然。
\n\n文档参考:
\n\n| 归档时间: |
|
| 查看次数: |
5576 次 |
| 最近记录: |