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

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

假设我在多个 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?我试图避免在每个实例上运行负载平衡器来平衡该实例的进程。

答案1

重要更新

服务产品已经发展,因此以下信息(原始答案)仅适用于 ELB / 1.0,现在称为 ELB Classic Load Balancer:


不,ELB 无法实现这一点。

您可以在 ELB 的前端映射多个侦听器来命中后端实例上的单个端口,但不能在 ELB 的前端映射单个侦听器来命中后端实例上的多个端口。


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

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

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

答案2

使用应用程序负载均衡器 (ALB) 可以实现这一点

CLI 文档可用这里

API 文档这里

您必须在 API 文档中寻找端口覆盖选项。

相关内容