我希望能够使用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
关于如何创建多个侦听器和目标组来实现这一目标,有什么想法吗?控制台UI中没有任何东西允许我这样做,API也不是很有帮助。
在与AWS支持人员交谈后,似乎ECS服务面向的是预计只公开一个端口的微服务。不支持ECS服务使用应用程序负载均衡器来映射两个或多个端口。
当然,可以通过配置适当的目标组等手动添加额外的负载均衡器,但是当服务更新或扩展时,以及底层容器实例更改时,ECS不会自动更新配置。
我可能迟到了讨论,但对于任何有同样问题的人来说,我最近面临着同样的情况,经过大量和大量的搜索,我终于把Nginx反向代理背后的所有服务,并添加(添加到负载平衡)Nginx容器在ECS中进行负载平衡,并为我的ABL配置了一个目标组,现在它正在按预期工作ALB-DNS/app1(应用程序运行在端口8080)ALB-DNS/app2(应用程序运行在端口9090)等