如何將具有私有 IP 位址的後端執行個體連接至 ELB 中面向網際網路的負載平衡器?

2 分的閱讀內容
0

我有一個面向網際網路的負載平衡器。我想要連接位於私有子網路中的後端 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體。

簡短描述

若要連接位於私有子網路中的 Amazon EC2 執行個體,請先建立公有子網路。這些公有子網路必須與後端執行個體使用的私有子網路位於相同可用區域。然後,將公有子網路與負載平衡器關聯。

**注意:**您的負載平衡器以私有方式與其目標建立連線。若要從網際網路下載軟體或安全修補程式,請在目標執行個體的路由表上使用 NAT 閘道規則以允許網際網路存取。

解決方法

在開始之前,記下要連接至負載平衡器的每個 Amazon EC2 LinuxAmazon EC2 Windows 執行個體的可用區域。

為後端執行個體建立公有子網路

1.    在後端執行個體所在的每個可用區域中建立公有子網路。如果在相同可用區域中有多個私有子網路,請僅為該可用區域建立公有子網路。

2.    確認每個公有子網路均具有位元遮罩至少為 /27 的 CIDR 區塊 (例如 10.0.0.0/27)。

3.    確認每個子網路至少具有八個可用 IP 位址。

範例: 公有子網路 (Application Load Balancer 子網路) 需要位元遮罩至少為 /27 的 CIDR 區塊:

  • 可用區域 A 中的公有子網路: 10.0.0.0/24
    可用區域 A 中的私有子網路: 10.1.0.0/24

  • 可用區域 B 中的公有子網路: 10.2.0.0/24
    可用區域 B 中的私有子網路: 10.3.0.0/24

設定負載平衡器

1.    開啟 Amazon EC2 主控台

2.    將公有子網路與負載平衡器關聯 (請參閱 Application Load BalancerNetwork Load BalancerClassic Load Balancer)。

3.    向負載平衡器註冊後端執行個體 (請參閱 Application Load BalancerNetwork Load BalancerClassic Load Balancer)。

設定負載平衡器的安全群組和網路存取控制清單 (ACL) 設定

檢閱 Application Load BalancersClassic Load Balancers 的建議安全群組設定。請確保:

  • 您的負載平衡器具有開放的接聽程式連接埠和允許存取這些連接埠的安全群組。
  • 您的執行個體的安全群組允許來自負載平衡器的執行個體接聽程式連接埠和運作狀態檢查連接埠上的流量。
  • 負載平衡器安全群組允許來自用戶端的傳入流量。
  • 負載平衡器安全群組允許傳出流量流向執行個體和運作狀態檢查連接埠。

在執行個體安全群組上新增規則,以允許來自指派給負載平衡器的安全群組的流量。例如,您具有下列內容:

  • 負載平衡器安全群組為 sg-1234567a
  • 輸入規則為 HTTP TCP 80 0.0.0.0/0
  • 執行個體安全群組為 sg-a7654321
  • 輸入規則為 HTTP TCP 80 sg-1234567a

在這種情況下,您的規則看起來類似下列內容:

類型協定連接埠範圍來源
HTTPTCP80sg-1234567a

然後,檢閱負載平衡器的建議網路 ACL 規則。這些建議同時適用於 Application Load Balancer 和 Classic Load Balancer。

如果您使用 Network Load Balancer,請檢閱對 Network Load Balancer 進行疑難排解目標安全群組以取得組態詳細資訊。確認後端執行個體的安全群組允許從下列任一來源至目標群組連接埠的流量:

  • 用戶端 IP 位址 (如果目標由執行個體 ID 指定)
  • 負載平衡器節點 (如果目標由 IP 位址指定)

相關資訊

Elastic Load Balancing 如何運作

適用於 Linux 執行個體的 Amazon EC2 安全群組

適用於 Windows 執行個體的 Amazon EC2 安全群組

AWS 官方
AWS 官方已更新 1 年前