映射一個 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 經典負載平衡器:


不,這對 ELB 來說是不可能的。

您可以將 ELB 前端的多個偵聽器對應到後端實例上的單一端口,但無法將 ELB 前端的單一偵聽器對應到後端實例上的多個端口 -結束實例。


ELB/2.0,稱為應用程式負載平衡器於 2016 年底發布,使用“目標組”支援多個實例連接埠。

它還允許透過路徑模式匹配進行選擇性請求路由,支援 HTTP 模式的 Web 套接字,以及前端的 HTTP/2。

啟動平衡器時,您仍然可以啟動經典(它仍然可用,並且每個偵聽器的單一實例連接埠限制仍然適用),或者您可以啟動 ALB 來取得新功能。

答案2

這可以透過應用程式負載平衡器 (ALB) 來實現

CLI 文件可用這裡

API 文件是這裡

您必須在 API 文件中尋找連接埠覆蓋選項。

相關內容