我有一个集群,可以说我的集群。它有 2 个服务正在运行。让我们称它们为我的服务。每个服务有 1 个任务正在运行。我的任务 1 和我的任务 2。
EC2 实例由启动 2 个 EC2 实例的自动扩展组启动。我正在使用应用程序负载平衡器。
当我创建服务时,我选择了 AZ-balance-spread,它是这样描述的:“此模板将跨可用区域分发任务,并在可用区域内跨实例分发任务。了解更多。策略:spread(attribute:ecs.availability-zone) , 传播 (instanceId)"
我的 EC2 实例位于不同的可用区。但是,当我单击 my-cluster 并选择 ECS-instances 选项卡时,我看到 2 个任务都在 1 个容器实例上运行。另一个容器实例说 0 个任务正在运行。
我期待 2 个容器实例,每个实例运行 1 个任务。
我的问题是,如果我选择了 AZ-balance-spread,这些任务不应该分布在不同 AZ 上的 2 个 EC2 实例之间吗?
我想设置它,以便所有任务都分布在 AZ 之间,所以如果一个实例出现故障,另一个 AZ 中另一个实例上的另一个任务仍然运行。但我似乎无法弄清楚如何做到这一点。话虽如此,如果我创建 4 个任务,它确实会将它们分布在两个实例之间。一个任务2个,另一个任务2个。但是当我只有 2 个任务时,它会将它们全部放在一个 EC2 实例中。
非常感谢您在解决这个谜团方面的帮助!
谢谢!