如何为具有多个端口映射的ECS服务使用Application Load Balancer?

时间:2016-10-12 04:51:38

标签: amazon-web-services docker amazon-elb amazon-ecs

我希望能够使用ALB(ELBv2)将流量路由到由给定服务的任务公开的多个端口映射。

示例 -

服务A由1个运行任务定义B的任务组成。

任务定义B有一个'Container',它在两个不同的端口号(端口8000和端口9000,都是TCP)内部运行两个守护进程。因此,任务定义B有两个端口需要映射到ALB。

我并不太担心ALB暴露的端口(它们不一定是8000和9000,但如果它们会有帮助的话)。

  • my-lb-dns.com:8000 - > myservice:8000
  • my-lb-dns.com:9000 - >为MyService:9000

有关如何创建多个侦听器和目标组以实现此目的的任何想法?控制台用户界面中没有任何内容允许我这样做,而且API也不是很有帮助。

非常感谢!

1 个答案:

答案 0 :(得分:9)

在与AWS支持人员交谈后,似乎ECS服务面向预计仅暴露一个端口的微服务。 不支持使用ECS服务使用应用程序负载均衡器映射两个或多个端口。

当然,可以通过配置适当的目标组等手动添加额外的Load Balancer,但ECS不会在更新或扩展服务时以及基础容器实例更改时自动更新配置。