
假設我有多個進程在多個 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 來取得新功能。