0

我想知道是否有办法确定任务将在集群中的哪个 EC2 实例上运行?

我在 Amazon ECS 中有一个 EC2 实例集群,我在该集群上运行多个服务。

当我使用新任务更新服务时,有时任务在 EC2 实例上运行而没有任务运行,但有时它在 EC2 实例上运行,任务已在其上运行。我想让每个 EC2 实例上运行的任务保持一致,因为我需要知道 IP 地址才能将请求映射到适当的 EC2 实例。

有没有办法解决这个问题?

4

2 回答 2

0

ECS 不会将您的任务分配给已知主机,它总是会从池中选择一个。如果您需要访问需要将 DNS 条目绑定到它的任务,则可以通过这种方式访问​​该服务。

于 2018-09-11T17:40:05.297 回答
0

一个相当“幼稚”的答案,因为它不能完全解决 ECS 集群的整个动态 DNS 主题,但它确实为您提供了当前容器正在运行的 EC2 实例 ID:

aws ecs describe-container-instances --container-instances YOUR_CONTAINER_ID --cluster YOUR_CLUSTER_NAME --query 'containerInstances[*].ec2InstanceId'

您可以使用以下命令获取集群中的容器列表 aws ecs list-container-instances --cluster YOUR_CLUSTER_NAME

于 2018-09-12T09:34:41.253 回答