註冊 Network Load Balancer 的目標 - Elastic Load Balancing

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

註冊 Network Load Balancer 的目標

當您的目標準備好處理請求時,可以向一或多個目標群組進行註冊。目標群組的目標類型決定了您註冊目標的方式。例如,您可以註冊執行個體 IDs、IP 地址或 Application Load Balancer。當登錄程序完成且目標通過初始運作狀態檢查時,Network Load Balancer 會立即啟動將請求路由到登錄的目標。註冊程序可能需要幾分鐘的時間才能完成,並開始運作狀態檢查。如需詳細資訊,請參閱Network Load Balancer 目標群組的 Health 檢

如果對目前已註冊目標的需求增加,您可以註冊額外的目標來應付需求。如果對已註冊目標的需求減少,您可以從目標群組取消註冊目標。取消註冊程序可能需要幾分鐘的時間才能完成,而且負載平衡器可能需要幾分鐘才能停止將請求路由到目標。如果之後需求增加,您可以再次向目標群組註冊已取消註冊的目標。如果您需要為目標提供服務,可以取消註冊,然後在服務完成後再次註冊。

當您取消註冊目標時,Elastic Load Balancing 會等到傳輸中的請求完成。這稱為連接耗盡。當連接耗盡作業正在進行時,目標的狀態是 draining。取消登錄完成後,目標的狀態將變更成 unused。如需詳細資訊,請參閱取消登記的延遲

如果是根據執行個體 ID 來註冊目標,您可以使用負載平衡器搭配 Auto Scaling 群組。在將目標群組連接到 Auto Scaling 群組,而且群組橫向擴展之後,由 Auto Scaling 群組所啟動的執行個體,會自動登錄到目標群組。如果將負載平衡器從 Auto Scaling 群組分離,會自動從該目標群組取消執行個體的登錄。如需詳細資訊,請參閱 Amazon Word Auto Scaling 使用者指南中的將負載平衡器連接至 Auto Scaling 群組 EC2 Auto Scaling

目標安全群組

在新增目標至目標群組之前,請先設定與目標關聯的安全群組,以接受來自 Network Load Balancer 的流量。

如果負載平衡器具有關聯的安全群組,則針對目標安全群組提供的建議
  • 若要允許用戶端流量:新增參考與負載平衡器關聯安全群組的規則。

  • 若要允許 PrivateLink 流量:如果您設定負載平衡器來評估透過 傳送之流量的傳入規則 AWS PrivateLink,請新增規則,以接受來自流量連接埠上負載平衡器安全群組的流量。否則,請新增規則以接受來自流量連接埠上負載平衡器私有 IP 地址的流量。

  • 若要接受負載平衡器運作狀態檢查:新增規則以接受運作狀態檢查連接埠上負載平衡器安全群組的運作狀態檢查流量。

如果負載平衡器未關聯安全群組,則針對目標安全群組提供的建議
  • 允許用戶端流量:如果負載平衡器保留用戶端 IP 地址,請新增規則以接受來自流量通訊埠上核准用戶端 IP 地址流量的流量。否則,請新增規則以接受來自流量連接埠上負載平衡器私有 IP 地址的流量。

  • 若要允許 PrivateLink 流量:新增規則,以接受來自流量連接埠上負載平衡器私有 IP 地址的流量。

  • 若要接受負載平衡器運作狀態檢查:新增規則以接受運作狀態檢查連接埠上負載平衡器私有 IP 地址的運作狀態檢查流量。

用戶端 IP 保留的運作方式

除非將屬性設定 preserve_client_ip.enabledtrue,否則 Network Load Balancer 不會保留用戶端 IP 地址。此外,使用雙堆疊 Network Load Balancer,我們在將 IPv4 地址轉換為 IPv6 時保留用戶端 IP 地址。不過,將 IPv6 地址轉換為 IPv4 時,來源 IP 一律是 Network Load Balancer 的私有 IP 地址。

使用主控台尋找負載平衡器私有 IP 地址
  1. 在 EC2 開啟 Amazon https://console.aws.amazon.com/ec2/ 主控台。

  2. 在導覽窗格中,選擇 Network Interfaces (網路介面)。

  3. 在搜尋欄位,輸入 Network Load Balancer 的名稱。每個負載平衡器子網路都有一個網路界面。

  4. 在每個網路介面的詳細資訊索引標籤上,從私有 IPv4 地址複製地址

如需詳細資訊,請參閱更新 Network Load Balancer 的安全群組

網路ACLs

當您將 EC2 執行個體註冊為目標時,必須確保執行個體子網路的網路 ACLs 允許接聽程式連接埠和運作狀態檢查連接埠上的流量。ACL 的預設網路存取控制清單 (VPC) 允許所有傳入和傳出流量。如果您建立自訂網路 ACLs,請確認它們是否允許適當的流量。

與執行個體子網路相關聯的網路 ACLs 必須允許面向網際網路的負載平衡器的下列流量。

適用於執行個體子網路的建議規則
Inbound
來源 通訊協定 連接埠範圍 註解
Client IP addresses listener target port 允許用戶端流量 (IP 保留:ON)
VPC CIDR listener target port 允許用戶端流量 (IP 保留:OFF)
VPC CIDR health check health check 允許運作狀態檢查流量
Outbound
目的地 通訊協定 連接埠範圍 註解
Client IP addresses listener 1024-65535 允許將流量傳回用戶端 (IP 保留:ON)
VPC CIDR listener 1024-65535 允許將流量傳回用戶端 (IP 保留:OFF)
VPC CIDR health check 1024-65535 允許運作狀態檢查流量

與負載平衡器子網路相關聯的網路 ACLs 必須允許面向網際網路的負載平衡器的下列流量。

適用於負載平衡器子網路的建議規則
Inbound
來源 通訊協定 連接埠範圍 註解
Client IP addresses listener listener 允許用戶端流量
VPC CIDR listener 1024-65535 允許目標的回應
VPC CIDR health check 1024-65535 允許運作狀態檢查流量
Outbound
目的地 通訊協定 連接埠範圍 註解
Client IP addresses listener 1024-65535 允許回應用戶端
VPC CIDR listener target port 允許對目標的請求
VPC CIDR health check health check 允許對目標執行運作狀態檢查

對於內部負載平衡器,執行個體和負載平衡器節點子網路的網路 ACLs 必須允許傳入和傳出流量進出 VPC CIDR、接聽程式連接埠和暫時連接埠。

共用子網路

參與者可以在共用 VPC 中建立 Network Load Balancer。參與者無法註冊在未與他們共用的子網路中執行的目標。

所有 AWS 區域都支援 Network Load Balancer 的共用子網路,但不包括:

  • 亞太區域 (大阪) ap-northeast-3

  • 亞太區域 (香港) ap-east-1

  • 中東 (巴林) me-south-1

  • 中國AWS (北京) cn-north-1

  • 中國AWS (寧夏) cn-northwest-1

登記和取消登記目標

在負載平衡器能夠使用的每個可用區域中,每個目標群組都必須擁有至少一個已登錄的目標。

目標群組的目標類型會決定您向該目標群組註冊目標的方式。如需詳細資訊,請參閱Target type (目標類型)

需求和考量事項
  • 如果執行個體 ID 使用下列其中一個執行個體類型,則無法依執行個體 ID 註冊執行個體:C1、CC1、CC2、CG1CG2、Word、CR1、G1, G2、HI1、HS1、M1, M2, M3 或 T1。

  • 依執行個體 ID 為 IPv6 目標群組註冊目標時,目標必須具有指派的主要 IPv6 地址。若要進一步了解,請參閱 Amazon IPv6 使用者指南中的 Word 地址 EC2

  • 依執行個體 ID 註冊目標時,執行個體必須與 Network Load Balancer 位於相同的 Amazon VPC 中。如果執行個體 ID 位於與負載平衡器 VPC (相同區域或不同區域) 對等的 VPC 中,則無法依執行個體 ID 註冊執行個體。您可以依照 IP 地址來註冊這些執行個體。

  • 如果您依 IP 地址註冊目標,且 IP 地址與負載平衡器位於相同的 VPC 中,則負載平衡器會驗證該目標來自可以到達的子網路。

  • 對於 UDP 和 TCP_UDP 目標群組,如果執行個體位於負載平衡器 VPC 之外,或者使用下列其中一個執行個體類型,請勿透過 IP 地址註冊執行個體:C1、CC1、CC2、CG1、CG2、CR1、G1, G2、HI1、HS1、M1, M2, M3 或 T1。位於負載平衡器 VPC 外部或使用不支援執行個體類型的目標,可能可以接收來自負載平衡器的流量,但無法回應。

根據執行個體 ID 來登記或取消登記目標

在註冊時,執行個體必須處於 running 狀態。

使用主控台根據執行個體 ID 來註冊或取消註冊目標
  1. 在 EC2 開啟 Amazon https://console.aws.amazon.com/ec2/ 主控台。

  2. 在導覽窗格的 Load Balancing (負載平衡) 中,選擇 Target Groups (目標群組)

  3. 選擇目標群組的名稱,以開啟其詳細資訊頁面。

  4. 選擇 Targets (目標) 標籤。

  5. 若要註冊執行個體,請選擇註冊目標。選取一或多個執行個體,視需要輸入預設執行個體連接埠,然後選擇包含為以下待定的項目。完成執行個體新增時,請選擇註冊待處理的目標

    請注意:

    • 執行個體必須具有指派的主要 IPv6 地址,才能向 IPv6 目標群組註冊。

    • AWS GovCloud (US) Region不支援使用主控台指派主要 IPv6 地址。您必須使用 API 在 中指派主要 IPv6 AWS GovCloud (US) Region地址。

  6. 若要取消註冊執行個體,請選取執行個體,然後選擇取消註冊

根據 IP 地址來登記或取消登記目標

IPv4目標

您註冊的 IP 地址必須來自下列其中一個 CIDR 區塊:

  • 目標群組的 VPC 子網路

  • 10.0.0.0/8 (RFC 1918)

  • 100.64.0.0/10 (RFC 6598)

  • 172.16.0.0/12 (RFC 1918)

  • 192.168.0.0/16 (RFC 1918)

建立目標群組後,便無法變更 IP 地址類型。

在共用 Amazon VPC 中啟動 Network Load Balancer 時,您只能在已與您共用的子網路中註冊目標。

IPv6目標
  • 您註冊的 IP 地址必須位於 VPC CIDR或對等的 VPC CIDR區塊內。

  • 建立目標群組後,便無法變更 IP 地址類型。

  • 您只能將 IPv6 目標群組與雙堆疊負載平衡器與 TCP 或 TLS 接聽程式建立關聯。

使用主控台根據 IP 地址來註冊或取消註冊目標
  1. 在 EC2 開啟 Amazon https://console.aws.amazon.com/ec2/ 主控台。

  2. 在導覽窗格的 Load Balancing (負載平衡) 中,選擇 Target Groups (目標群組)

  3. 選擇目標群組的名稱,以開啟其詳細資訊頁面。

  4. 選擇 Targets (目標) 標籤。

  5. 若要註冊 IP 地址,請選擇註冊目標。對於每個 IP 地址,選取網路、可用區域、IP 地址 (IPv4 或 IPv6) 和連接埠,然後選擇包含為待定。完成指定地址的動作後,請選擇註冊待處理的目標

  6. 若要取消註冊 IP 地址,請選取 IP 地址,然後選擇取消註冊。如果您擁有多個已登錄的 IP 地址,新增篩選條件或變更排序順序,可能會很有幫助。

使用 AWS CLI來登記或取消登記目標

使用 register-targets 指令來新增目標;使用 deregister-targets 指令來移除目標。