跳至內容

如何為我的 Application Load Balancer 設定加權目標群組?

2 分的閱讀內容
0

我想為我的 Application Load Balancer 註冊加權目標群組。

解決方法

您可以為 Application Load Balancer 的目標群組指派不同的權重,以便按比例分配流量。

建立目標群組

若要建立註冊至 Application Load Balancer 的目標群組,請完成下列步驟:

  1. 開啟 Amazon Elastic Compute Cloud (Amazon EC2) console (Amazon Elastic Compute Cloud (Amazon EC2) 主控台)。
  2. 選取您 Amazon EC2 執行個體所在的 AWS 區域。
  3. 在導覽窗格的 Load balancing (負載平衡) 下,選擇 Target groups (目標群組)。
  4. 若要建立第一個目標群組,請完成以下步驟:
    選擇 Create target group (建立目標群組)。
    Target group name (目標群組名稱) 中,指定目標群組的名稱。
    設定目標群組的通訊協定、連接埠和虛擬私有雲端 (VPC)。
    選擇建立
    針對執行個體,選取一個或多個執行個體。
    指定執行個體的連接埠。
    選擇 Include as pending below (在下方增加待處理內容),然後選擇 Create target group (建立目標群組)。
  5. 若要設定加權目標群組,您必須建立至少兩個目標群組。重複步驟 4 以建立第二個目標群組。

建立 Application Load Balancer

**重要:**如果您有想要使用的 Application Load Balancer,請繼續執行 Configure listener rules and assign weights (設定接聽程式規則並指派權重) 區段。若要建立 Application Load Balancer,請完成下列步驟:

  1. 在導覽窗格中的 Load balancing (負載平衡) 下,選擇 Load Balancers (負載平衡器)。
  2. 選擇 Create load balancer (建立負載平衡器)。
  3. Select load balancer type (選取負載平衡器類型) 中,選擇 Application Load Balancer,然後選擇 Create (建立)。
  4. Create Application Load Balancer (建立 Application Load Balancer) 精靈中,完成以下步驟:
    輸入負載平衡器的名稱。
    選擇 Internet-facing (網際網路對應) 或 Internal (內部)。
    選擇 IP Address type (IP 位址類型)。
    選取您的 VPC 和至少兩個可用區域。
    Security groups (安全群組),選取或建立一個安全群組。
    Listeners and routing (接聽程式和路由) 中,保留連接埠 80 上的預設 HTTP 接聽程式。
  5. Configure routing (設定路由) 頁面上,完成以下步驟:
    針對目標群組,選擇現有目標
    Name (名稱) 中,選取您建立的第一個目標群組。
    選擇下一步: 註冊目標
  6. Register Targets (註冊目標) 頁面上,確認您註冊的執行個體出現在 Registered instances (已註冊的執行個體) 下。
    **注意:**若要修改目標,請返回「目標群組」主控台。「註冊目標」頁面僅供檢閱。
  7. Review (檢閱) 頁面上,選擇 Create (建立)。
  8. 建立 Application Load Balancer 後,選擇 Close (關閉)。
  9. 建立精靈關閉後,您將返回負載平衡器頁面。從負載平衡器清單中選取新的負載平衡器。

設定接聽程式規則並指派權重

若要為目標群組指派權重,請完成下列步驟為您的 Application Load Balancer 設定接聽程式規則:

  1. Listeners (接聽程式) 索引標籤上,選擇 View/edit rules (檢視/編輯規則)。
  2. 選擇 Edit rules (編輯規則)。
  3. Forward to (轉送到) 旁邊,選擇 Edit (編輯)。
  4. 新增您之前建立的第二個目標群組。
  5. 輸入一個介於 0 到 999 之間的目標群組權重值。
  6. 選取 Check mark (核取記號),然後選擇 Update (更新)。
  7. (選用) 如果目標群組具有黏性,則設定群組層級黏性
    **注意:**設定群組層級黏性時,路由請求會在工作階段持續期間保留在目標群組中。預設值為 1 小時。工作階段持續時間結束後,負載平衡器會根據目標群組權重分配請求。

Application Load Balancer 會根據目標群組權重分配流量。如果一個群組中的所有目標都未通過運作狀態檢查,則您的 Application Load Balancer 不會容錯移轉到另一個群組。平衡器會繼續將流量路由到運作狀態不良的目標。最佳做法是不要使用加權目標群組作為容錯移轉機制。

如果第一個目標的權重為 70%,第二個目標的權重為 30%,那麼大多數請求都來自第一個目標群組。

命令範例:

for X in seq 6; do curl -so -i /dev/null -w "" http://FINAL-721458494.us-east-2.elb.amazonaws.com; done

輸出範例:

<h1> This is T1 </h1>
<h1> This is T1 </h1>
<h1> This is T1 </h1>
<h1> This is T1 </h1>
<h1> This is T2 </h1>
<h1> This is T2 </h1>

在此範例中,T1 代表來自第一個目標群組的回應 (70% 權重),T2 代表來自第二個目標群組的回應 (30% 權重)。

如果第二個目標的權重為 70%,第一個目標的權重為 30%,那麼大多數請求都來自第二個目標群組。

命令範例:

for X in seq 7; do curl -so -i /dev/null -w "" http://FINAL-721458494.us-east-2.elb.amazonaws.com; done

輸出範例:

<h1> This is T2 </h1>
<h1> This is T2 </h1>
<h1> This is T2 </h1>
<h1> This is T1 </h1>
<h1> This is T1 </h1>
<h1> This is T2 </h1>
<h1> This is T2 </h1>

在此範例中,T2 代表來自第二個目標群組的回應 (70% 權重),T1 代表來自第一個目標群組的回應 (30% 權重)。輸入負載平衡器的名稱。