透過目標群組來登記目標 - Elastic Load Balancing

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

透過目標群組來登記目標

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

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

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

如果是根據執行個體 ID 來註冊目標,您可以使用負載平衡器搭配 Auto Scaling 群組。在將目標群組連接到 Auto Scaling 群組,而且群組橫向擴展之後,由 Auto Scaling 群組所啟動的執行個體,會自動登錄到目標群組。如果將負載平衡器從 Auto Scaling 群組分離,會自動從該目標群組取消執行個體的登錄。如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的連接負載平衡器到 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 或將 IPv6 地址轉換為 IPv4 時保留用戶端 IP 地址。

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

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

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

  4. 在每個網路界面的 Details (詳細資訊) 索引標籤,複製 Primary private IPv4 IP (主要私有 IPv4 IP 地址)

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

網路 ACL

當您將 EC2 執行個體登錄為目標時,必須確定執行個體之子網路的網路 ACL,會允許透過接聽程式連接埠和運作狀態檢查通訊埠來傳送流量。VPC 的預設網路存取控制清單 (ACL) 可允許所有傳入和傳出的流量。如果您建立自訂網路 ACL,請確認它們允許適當的流量。

與執行個體子網路關聯的網路 ACL 必須允許 internet-facing 負載平衡器的流量。

Inbound
來源 通訊協定 連接埠範圍 註解
用戶端 IP 地址 接聽程式 接聽程式 Allow client traffic (執行個體 target type)
VPC CIDR 接聽程式 接聽程式 Allow client traffic (ip target type)
VPC CIDR 運作狀態檢查 運作狀態檢查 Allow health check traffic from the load balancer
Outbound
目的地 通訊協定 連接埠範圍 註解
用戶端 IP 地址 接聽程式 接聽程式 Allow responses to clients (執行個體 target type)
VPC CIDR 接聽程式 接聽程式 Allow responses to clients (ip target type)
VPC CIDR 運作狀態檢查 1024-65535 Allow health check traffic

與負載平衡器子網路關聯的網路 ACL 必須允許 internet-facing 負載平衡器的流量。

Inbound
來源 通訊協定 連接埠範圍 註解
用戶端 IP 地址 接聽程式 接聽程式 Allow client traffic (執行個體 target type)
VPC CIDR 接聽程式 接聽程式 Allow client traffic (ip target type)
VPC CIDR 運作狀態檢查 1024-65535 Allow health check traffic
Outbound
目的地 通訊協定 連接埠範圍 註解
用戶端 IP 地址 接聽程式 接聽程式 Allow responses to clients (執行個體 target type)
VPC CIDR 接聽程式 接聽程式 Allow responses to clients (ip target type)
VPC CIDR 運作狀態檢查 運作狀態檢查 Allow health check traffic
VPC CIDR 運作狀態檢查 1024-65535 Allow health check traffic

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

共用子網路

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

所有 AWS 區域都支援網路負載平衡器的共用子網路,但不包括:

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

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

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

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

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

登記和取消登記目標

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

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

需求和考量事項
  • 如果執行個體如下類型之一:C1, CC1, CC2, CG1, CG2, CR1, G1, G2, HI1, HS1, M1, M2, M3, 或 T1,無法透過執行個體 ID 來登錄執行個體。

  • 按照 IPv6 目標群組的執行個體 ID 註冊目標時,目標必須具有指派的主要 IPv6 地址。如需進一步了解,請參閱《適用於 Linux 執行個體的 Amazon EC2 使用者指南》中的 IPv6 地址

  • 依執行個體 ID 登錄目標時,執行個體必須與 Network Load Balancer 位於相同的 Amazon VPC 。如果執行個體位於與負載平衡器 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 狀態。

New EC2 experience
使用新 EC2 體驗依執行個體 ID 註冊或取消註冊目標
  1. 前往 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

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

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

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

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

    請注意:

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

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

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

Old EC2 experience
使用舊 EC2 體驗依執行個體 ID 註冊或取消註冊目標
  1. 前往 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

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

  3. 選取目標群組。

  4. 依序選擇 Targets (目標)Edit (編輯)

  5. (選用) 針對 Registered instances (已登錄的執行個體),選擇要取消登錄的所有執行個體,然後選擇 Remove (移除)

  6. (選用) 針對 Instances (執行個體),選擇要取消登錄的所有執行中執行個體、根據需要修改預設的執行個體連接埠,然後選擇 Add to registered (加入已登錄)

  7. 選擇儲存

根據 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 接聽程式的雙堆疊負載平衡器。

New EC2 experience
使用新版 EC2 依 IP 地址註冊或取消註冊目標
  1. 前往 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

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

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

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

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

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

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

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

  3. 選取目標群組,然後依序選擇 Targets (目標)Edit (編輯)

  4. 若要登錄 IP 地址,請選取選單列上的 Register targets (登錄目標) 圖示 (加號)。對於每個 IP 地址,指定網路、可用區域、IP 地址和連接埠,然後選擇 Add to list (加入清單)。當您完成指定地址的動作時,請選擇 Register (登錄)

  5. 若要取消登錄 IP 地址,請選取選單列上的 Deregister targets (取消登錄目標) 圖示 (減號)。如果您擁有多個已登錄的 IP 地址,新增篩選條件或變更排序順序,可能會很有幫助。選取 IP 地址,然後選擇 Deregister (取消登錄)

  6. 若要離開此畫面,請選取選單列上的 Back to target group (返回目標群組) 圖示 (返回按鈕)。

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

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