gpt4 book ai didi

amazon-web-services - AWS CodeDeploy 需要两个目标组,但为什么呢?

转载 作者:行者123 更新时间:2023-12-04 12:59:25 24 4
gpt4 key购买 nike

AWS CodeDeploy 需要两个目标群体。我只与一个人合作,我不需要第二个目标群体。但是当我尝试仅使用目标组时,我收到此消息

Target group pair must have distinct target groups.



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

最佳答案

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

这是 ECS CodeDeploy 蓝/绿行为:

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

目前,目标组网站-tg-blue 指向通过监听器端口 80 的生产流量,现在假设您正在通过对任务定义进行新修订并更新 ECS 服务来更新 ECS 镜像。首先,Code deploy 创建一个带有新任务定义的 ECS 替换任务,它从 ALB 监听测试监听器端口 8080,该端口将路由到 website-tg-green 目标组,然后它会根据您的逻辑执行代码部署 Hook 如果您与相关钩子(Hook)相关联,则通过您的 lambda 函数。如果所有测试都通过钩子(Hook)通过或者如果您没有配置任何钩子(Hook),那么代码部署将通过将您的监听器端口 80 监听器流量切换到替换目标组,即 website-tg-green 和生产流量来更新 ALB 监听器规则将获得新的变化。

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

如果您对同一 ECS 服务进行进一步更新,那么生产监听器目标组 website-tg-green 将切换到 website-tg-blue,反之亦然,以进一步更新 ECS 服务级别。

文档引用:
  • ECS 蓝绿部署 - https://docs.aws.amazon.com/AmazonECS/latest/userguide/security_iam_id-based-policy-examples.html#IAM_update_service_policies
  • 示例 ECS 蓝绿部署 - https://docs.aws.amazon.com/AmazonECS/latest/userguide/security_iam_id-based-policy-examples.html#IAM_update_service_policies
  • 关于amazon-web-services - AWS CodeDeploy 需要两个目标组,但为什么呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60684118/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com