使用不同的端口在一个主机中基于相同的任务定义运行多个ECS任务

时间:2016-12-19 11:46:12

标签: amazon-web-services amazon-ec2 load-balancing amazon-ecs

我有一个ecs任务定义。上述任务定义的多个任务可以在多个端口上的一个EC2实例上运行吗?

我已经在几个ec2实例上运行了几个任务。我想减少资源的消耗。由于一个EC2实例具有足够的资源来运行多个任务。是否可以在一个EC2实例上的不同端口上多次运行相同的任务?

2 个答案:

答案 0 :(得分:2)

是的,自2016年以来,ECS对此提供了很好的支持。您可以在容器定义中将主机端口留空,这将导致为您的容器选择随机端口。因此,可以在一个ECS实例上运行相同任务定义的更多实例。

您可以将ECS服务与应用程序负载均衡器配合使用,以便在启动新任务时,它将在关联的目标组中注册端口号。这样你就不必处理随机端口了。

如果您通过AWS控制台设置服务,配置非常简单。

答案 1 :(得分:1)

可以通过在定义任务时在“容器定义”的“端口映射”设置中将“主机端口”设置为0来进行配置。

以下设置在“任务的容器定义”中可用。

enter image description here

它允许ECS为在同一EC2中运行的任务分配随机端口。

有关更多详细信息,请检查-Setup Dynamic Port Mapping for ECS