映射一个AWS ELB负载平衡器端口以平衡到多个实例端口?


8

可以说我有多个进程在多个EC2实例上运行,每个实例都在不同的端口上。我可以映射单个AWS ELB来平衡任何实例中的任何这些流程吗?

例如,理想情况下,我希望这样的设置:

HTTPS 443 -> Instance 1 Process 1 Port 8081
       or -> Instance 1 Process 2 Port 8082
       or -> Instance 2 Process 1 Port 8081
       or -> Instance 2 Process 2 Port 8082

有什么办法可以像这样配置ELB吗?我试图避免在每个实例上运行负载平衡器以平衡该实例的进程。

Answers:


6

重要更新

服务产品已经发展,因此以下信息(原始答案)仅适用于ELB / 1.0,现在称为ELB经典负载均衡器:


不,ELB无法做到这一点。

您可以将多个侦听器映射到ELB的前端以在后端实例上击中单个端口,但不能将单个侦听器映射到ELB的字体侧以击打后端的多个端口,最终实例。


ELB / 2.0(称为应用程序负载平衡器)于2016年末发布,使用“目标组”支持多个实例端口。

它还允许通过路径模式匹配进行选择性的请求路由,支持HTTP模式下的Web套接字,以及正面的HTTP / 2。

启动平衡器时,您仍然可以启动Classic(仍然可用,并且每个侦听器的单实例端口限制仍然适用),也可以启动ALB以获取新功能。


那NLB呢?NLB不允许SSL,但ELB允许。但是,NLB支持将多个实例端口添加到LB,而ELB不支持。是否可以通过SSL传输支持LB的多个端口?
哈里斯·法鲁基

1
@HarisFarooqui和NLB,在您的实例上运行的服务需要处理SSL。如果您需要(a)平衡器的SSL卸载,(b)非HTTPS的协议的存储以及(c)每个实例多个端口,则AWS对此没有平衡器解决方案。
Michael-sqlbot

0

使用应用程序负载平衡器(ALB)可以做到这一点

CLI文档在此处可用

API文档在这里

您必须在API文档中寻找端口替代选项。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.