跳至內容

為什麼我的 Network Load Balancer 背景的目標無法連線至自己的 Network Load Balancer?

1 分的閱讀內容
0

我的 Network Load Balancer 背景的目標正在嘗試連線至相同 Network Load Balancer,但連線失敗。我想對此問題進行疑難排解。

簡短描述

當內部 Network Load Balancer 的目標與目標自己的 Network Load Balancer 建立 TCP 連線時,該目標會路由到其本身。由於 Network Load Balancer 會保留來源 IP 位址,因此到達封包的來源和目的地都是目標的私有 IP 位址。主機作業系統會將封包視為無效,因此主機不會傳送回應流量,且連線失敗。

只有在來源與目標相同時,才會發生此連線失敗。因此,根據 Network Load Balancer 的可用目標數目,您可能會遇到間歇性連線失敗。

若要解決 Network Load Balancer 連線失敗問題,請使用 preserve_client_ip.enabled 目標群組屬性停用 TCP 和 TLS 目標群組的用戶端 IP 保留。

解決方法

若要停用用戶端 IP 保留,請完成下列步驟:

  1. 開啟 Amazon Elastic Compute Cloud (Amazon EC2) console (Amazon Elastic Compute Cloud (Amazon EC2) 主控台)。
  2. 在導覽窗格的 Load balancing (負載平衡) 下,選擇 Target Groups (目標群組)。
  3. 選取目標群組的名稱。
  4. Attributes (屬性) 索引標籤上,選擇 Edit (編輯)。
  5. 清除 Preserve client IP addresses (保留用戶端 IP 位址)。
  6. 選擇 Save changes (儲存變更)。

如果您的應用程式需要用戶端的 IP 位址,請啟用 proxy protocol support (Proxy 通訊協定支援)。從 Proxy 通訊協定標頭存取用戶端 IP 位址。

**注意:**在 Network Load Balancer 上啟用 Proxy 通訊協定之前,請檢查目標執行個體是否支援 Proxy 通訊協定標頭。如果您的目標不支援 Proxy 通訊協定標頭,則流量可能無法正確處理。

相關資訊

從目標至其負載平衡器的請求連線逾時