如何在群集的EC2实例中管理到适当服务的映射?

时间:2018-09-11 17:37:16

标签: amazon-web-services amazon-ec2 aws-ecr

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

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

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

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分: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