ECS 任务所需计数不工作

ECS tasks desired count not working

我有三个 EC2 实例,带有一个经典的负载均衡器。理想情况下,我应该在两个实例中有两个任务 运行ning。因此,在创建服务时,我将所需的任务数设为 2。

当我尝试 运行 新版本的任务定义时,我的问题出现了。我将服务更新为 运行 新任务定义。所以理论上应该 运行 两个更新任务替换旧任务,因为我有三个 ec2 运行ning。

实际上只有一项更新任务与旧任务 运行结合在一起。所以总共有 3 个任务 运行ning,即使所需的计数设置为 2,正如您在给定图像中看到的那样。

有人知道这个的解决方案吗?

使用经典负载均衡器时,您只能映射 ec2 实例上的静态端口。

您的部署设置是: min-health: 100% max-healthy: 200%

新版本的服务将需要另外两台主机提供您请求的免费 tcp 端口。由于集群中只有 3 台服务器,因此不会满足此条件。您可以向集群添加更多服务器,或使用应用程序负载均衡器 (ALB),它将与 docker 动态端口映射集成。

关于安全组的更新: 要管理安全组,您可以将一个安全组标记为另一个。例如,用 'app-gateway-alb' 标记您的 ALB,它允许来自网络外部的特定端口,然后在容器上有一个安全组,它允许来自 'app-gateway-alb' 的任何 TCP,这是通过将安全组 ID 放在通常放置 CIDR 规则的文本框。