如何将Application Load Balancer用于多端口映射的ECS服务?

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

示例 –

服务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

任何想法如何创build多个监听器和目标组来实现这个目标? 控制台界面中没有任何东西允许我这样做,API也没有什么帮助。

非常感谢!

在与AWS支持部门交stream之后,看起来ECS服务是面向微型服务的,而微服务预计只会暴露一个端口。 拥有ECS服务时,不支持使用应用程序负载平衡器来映射两个或更多端口。

当然,通过configuration适当的目标组等等,可以手动添加额外的负载平衡器,但是当服务更新或扩展时,以及底层容器实例更改时,ECS不会自动更新configuration。