【问题标题】:ELB target group - target is not added automatically when the a task is is launched by ECSELB目标组-ECS启动任务时不会自动添加目标
【发布时间】:2019-05-15 18:02:11
【问题描述】:

我有一个带有两个 EC2 实例的 UAT ECS 集群。 我有一项服务(在同一个集群内),它的 Desired Task = 1 (因此它在两个 EC2 实例中的任何一个上运行)。 我有一个具有健康实例的 ELB 和目标组。

问题: 每当发生部署时,正在运行的任务就会停止,新任务会在另一个 EC2 实例中启动。这不会相应地更新目标组。因此,每次部署后,目标组都会保存先前运行状况不佳的 EC2 目标,该目标在部署之前运行任务。

这是 AWS 的预期行为吗?有什么建议可以绕过我每次部署后采取的手动操作?

【问题讨论】:

    标签: amazon-web-services amazon-ec2 devops amazon-elb amazon-ecs


    【解决方案1】:

    这绝对不是预期的行为。是否在 ECS 服务上设置了负载均衡?

    例如,如果我使用 CLI 来描述服务:

    $ aws ecs describe-services --services <serviceName> --cluster <clusterName>
    {
        "services": [
            // a bunch of stuff
            "loadBalancers": [
                {
                    "containerName": <container name>,
                    "targetGroupArn": <ELB Target Group ARN>
                    "containerPort": <container port number>
                }
            ]
            // more stuff here
        ]
    }
    

    有了这一点,每次 ECS 启动新任务或删除现有任务时,负载均衡器目标组都会更新。

    如果您在创建服务时没有配置负载均衡器,很遗憾您无法在事后更新该部分服务。您所能做的就是创建一个新服务并删除旧服务。

    【讨论】:

    • 不,我没有那个。 “负载平衡器”:[],
    • 有没有办法在服务创建后更新 LoadBalancers 的详细信息?
    猜你喜欢
    • 2020-11-28
    • 2020-04-29
    • 2020-02-09
    • 1970-01-01
    • 2021-07-26
    • 2019-06-27
    • 2021-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多