首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS CodeDeploy需要两个目标组,但为什么?

问AWS CodeDeploy需要两个目标组,但为什么?
EN

Stack Overflow用户
提问于 2020-03-14 15:04:45
回答 1查看 3.7K关注 0票数 5

AWS CodeDeploy要求必须有两个目标组。我只和一个人一起工作,我不需要第二个目标群体。但是,当我试图只使用目标组时,我会收到以下消息

目标组对必须具有不同的目标组。

我不太明白为什么CodeDeploy需要两个目标组而不仅仅是一个目标组(我阅读了文档)。

EN

回答 1

Stack Overflow用户

发布于 2020-03-18 09:23:07

因为您正在进行蓝色/绿色部署,并且需要两个TGs (蓝色和绿色),所以CodeDeploy可以创建一个新的ECS任务集,将该任务组附加到Green TG,然后开始将流量从Blue转移到Green TG。没有两个目标组,就不会有太多的蓝/绿,它将全是蓝色。

这是ECS的CodeDeploy蓝/绿行为:

代码语言:javascript
复制
Application load balancer (ALB) -> ALB DNS URL
|
|-- Port 80 (Production Listener) -> website-tg-blue on port 80 at container
|-- Port 8080 (Test Listener)     -> website-tg-green on port 80 at container

当前目标组网站- the通过侦听器端口80指向生产流量,现在让我们假设您正在对您的ECS映像进行更新,方法是对您的任务定义进行新的修订并更新您的ECS服务。最初,Code使用新的任务定义创建了一个ECS替换任务,它从ALB获得测试侦听器端口8080,该端口将被路由到网站-tg-green目标组,然后如果您与相关的钩子相关联,它将根据您的逻辑执行代码部署钩子。如果所有测试都是通过钩子通过的,或者没有配置任何钩子,那么代码部署将更新ALB侦听器规则,方法是将侦听器端口80侦听器流量切换到替换目标组,即网站- target,并且产品流量将得到新的更改。

然后,代码部署将等待配置的等待时间,并移除原始任务集。最后,ALB侦听器端口80和测试端口8080都将指向网站-tg-绿色目标组。

如果您对相同的ECS服务做进一步更新,那么生产侦听器目标组网站-tg-绿色将切换到网站-tg-蓝色,反之亦然,在ECS服务级别的进一步更新。

参考文献:

https://docs.aws.amazon.com/AmazonECS/latest/userguide/security_iam_id-based-policy-examples.html#IAM_update_service_policies

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60684118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档