ECS 的 AWS Classic Loadbalancer 动态端口映射

AWS Classic Loadbalancer dynamic port mapping for ECS

目前,一个 CLB 无法在同一个多节点 ECS 集群中负载平衡两个不同的 TCP 服务 运行(经 AWS 支持确认)。

上下文: 假设我有一个自定义的 TCP 服务器。我想 运行 每个客户的这个服务器,每个客户一个容器实例,并将这些服务暴露给外界。 理想情况下,对于每个服务,ECS 会在 CLB 中添加一个 TCP 侦听器,将流量路由到特定的 EC2:port 实例(端口对无关紧要,重要的是它可以从外部访问)。

谢谢

对于动态端口上服务 运行 之间的 TCP 通信,大多数 AWS 客户使用 linkerd、consul 或 weaveworks(提供覆盖网络)等解决方案进行胖客户端负载平衡。您还可以使用基于 DNS 的服务发现。

此处列出了与 Amazon ECS 完美集成的服务发现机制:https://github.com/nathanpeck/awesome-ecs#service-discovery

得知刚刚发布了一种名为网络负载平衡器 (NLB) 的新型负载平衡器,您会很高兴。这应该可以解决您的问题!

https://aws.amazon.com/blogs/aws/new-network-load-balancer-effortless-scaling-to-millions-of-requests-per-second/