Amazon-Web-Services

AWS ALB 用於自定義埠號上的 TCP 套接字連接?

  • February 6, 2022

我有一個應用程序負載平衡器 (ALB) 和它背後的許多 Web 伺服器。除了 HTTP 和 HTTPS,Web 伺服器還在埠52345上提供****持久的 TCP 套接字連接

當客戶端套接字嘗試連接到埠52345上的 ALB 時,它會失敗,因為 ALB 在此埠上沒有偵聽器。

當我嘗試在此埠上添加偵聽器時,我意識到 ALB 只允許 HTTP 和 HTTPS 上的偵聽器。所以我嘗試在埠52345上添加一個 HTTP 偵聽器。它仍然沒有工作。

錯誤資訊:

A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 34.199.41.181:52345

我如何克服這個障礙?為什麼 AWS 不允許 ALB 上的 TCP 偵聽器?

ALB 專門用於 http 和 https 應用程序,而不是用於一般 TCP。如果您需要 TCP 負載均衡器,您應該考慮使用 NLB(網路負載均衡器)。它們可以擴展到極高的負載並具有一些非常有用的功能。NLB 可以對任何埠進行負載平衡,包括 http/80 和 https/443,但它不支持應用程序/協議,因此它不具備基於路徑的路由等功能。NLB 可以具有靜態(彈性)IP。

如果您需要兩種類型的負載均衡器的功能,您可以考慮同時使用這兩種功能。NLB 可以在子域或固定 IP 上。

引用自:https://serverfault.com/questions/1092818