Application Load Balancer 的接聽程式規則 - Elastic Load Balancing

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

Application Load Balancer 的接聽程式規則

您為接聽程式定義的規則將決定負載平衡器將請求路由到一個或多個目標群組中之目標的方法。

每個規則由優先順序、一或多個動作及一或多個條件組成。如需詳細資訊,請參閱接聽程式規則

需求

  • 每個規則必須包含剛好以下其中一個動作:forwardredirectfixed-response,而且必須是最後要執行的動作。

  • 每個規則可以包含以下其中一個條件或都不包含:host-headerhttp-request-methodpath-patternsource-ip,以及以下其中一個條件或都不包含:http-headerquery-string

  • 每個條件最多可指定三個比較字串,每個規則最多可指定五個比較字串。

  • forward 動作會將請求路由至它的目標群組。新增 forward 動作之前,請建立目標群組並將目標新增至群組。如需詳細資訊,請參閱為您的 Application Load Balancer 建立目標群組

新增規則

建立接聽程式時您會定義預設規則,並且可以隨機定義額外的非預設規則。

使用主控台新增規則
  1. 在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/

  2. 在導覽窗格上選擇 Load Balancers (負載平衡器)

  3. 選取負載平衡器以檢視其詳細資訊。

  4. 接聽程式和規則索引標籤上,執行下列其中一個動作:

    1. 選取通訊協定:連接埠資料欄中的文字,即可開啟接聽程式的詳細資訊頁面。

      規則索引標籤上選擇新增規則

    2. 選取您要對其新增規則的接聽程式。

      選擇管理規則,然後選擇新增規則

  5. 您可以在名稱和標籤底下指定規則的名稱,但這並非必填的資訊。

    若要新增其他標籤,請選取新增其他標籤文字。

  6. 選擇 Next (下一步)

  7. 選擇新增條件

  8. 新增一個或多個以下條件:

    • 主機標頭 – 定義主機標頭。例如:*.example.com。若要儲存條件,請選擇確認

      最多 128 個字元。不區分大小寫。允許的字元有 a-z、A-Z、0-9,以及下列特殊字元:-_.; 和萬用字元 (* 和 ?)。

    • 路徑 – 定義路徑。例如:/item/* 。若要儲存條件,請選擇確認

      最多 128 個字元。區分大小寫。允許的字元有 a-z、A-Z、0-9,以及下列特殊字元:_-.$/~"'@:+; &; 和萬用字元 (* 和 ?)。

    • HTTP請求方法 — 定義HTTP請求方法。若要儲存條件,請選擇確認

      最多 40 個字元。區分大小寫。允許的字元有 A-Z 以及下列特殊字元:-_。不支援萬用字元。

    • 來源 IP — 以CIDR格式定義來源 IP 位址。若要儲存條件,請選擇確認

      IPv4和IPv6CIDRs被允許。不支援萬用字元。

    • HTTPheader — 輸入標題的名稱,並新增一或多個比較字串。若要儲存條件,請選擇確認

      • HTTP標頭名稱 — 規則會評估包含此標頭的請求,以確認相符值。

        最多 40 個字元。不區分大小寫。允許的字元有 a-z、A-Z、0-9 以及下列特殊字元:*?-!#$%&'+.^_`|~。不支援萬用字元。

      • HTTP標頭值 — 輸入要與HTTP標題值進行比較的字串。

        最多 128 個字元。不區分大小寫。允許的字元有 a-z、A-Z、0-9、空格,以及下列特殊字元:!"#$%&'()+,./:;⩽=>@[]^_`{|}~-; 和萬用字元 (* 和 ?)。

    • 查詢字串 – 根據查詢字串中的鍵值組或值來路由傳送請求。若要儲存條件,請選擇確認

      最多 128 個字元。不區分大小寫。允許的字元有 a-z、A-Z、0-9,以及下列特殊字元: _-.$/~"'@:+&()!,;=; 和萬用字元 (* 和 ?)。

  9. 選擇 Next (下一步)

  10. 為規則定義下列動作之一:

    • 轉送至目標群組 – 選擇一個或多個要將流量轉送至其中的目標群組。若要新增目標群組,請選擇新增目標群組。如果使用多個目標群組,請為每個目標群組選取權重,並檢閱相關的百分比。如果您已在一個或多個目標群組上啟用粘性,則必須在規則上啟用群組層級粘性。

    • 重新導向至 URL — 指URL定將重新導向用戶端要求的目標。這可以通過在「部URI件」選項卡上單獨輸入每個部件,或者在「完整」選項URL卡上輸入完地址來完成。對於狀態碼,您可以根據需要將重定向配置為臨時(HTTP302)或永久(HTTP301)。

    • 傳回固定回應 – 指定回應代碼,此代碼將傳回至遭捨棄的用戶端請求。此外,您可以指定內容類型回應內文,但這並非必填的資訊。

  11. 選擇 Next (下一步)

  12. 輸入介於 1-50000 之間的值,以指定規則的「優先順序」。

  13. 選擇 Next (下一步)

  14. 檢閱目前為新規則設定的所有詳細資料和設定。如果對選取項目感到滿意,請選擇建立

若要使用新增規則 AWS CLI

使用 create-rule 命令來建立規則。使用 describe-rules 命令來檢視規則的相關資訊。

編輯規則

您可以隨時編輯規則的動作和條件。規則更新不會立即生效,因此在您更新規則後,可以使用先前的規則組態路由傳送請求一段時間。任何進行中的請求都已完成。

使用主控台編輯規則
  1. 在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/

  2. 在導覽窗格上選擇 Load Balancers (負載平衡器)

  3. 選取負載平衡器。

  4. 接聽程式和規則索引標籤上,執行下列其中一個動作:

    1. 選取通訊協定:連接埠資料欄中的文字,即可開啟接聽程式的詳細資訊頁面。

      1. 規則索引標籤的接聽程式規則區段中,在名稱標籤資料欄中選取要編輯之規則的文字。

        選擇動作,然後編輯規則

      2. 規則索引標籤的接聽程式規則區段中,選取要編輯的規則。

        選擇動作,然後編輯規則

  5. 視需要修改名稱和標籤。若要新增其他標籤,請選取新增其他標籤文字。

  6. 選擇下一步

  7. 視需要修改條件。您可以新增、編輯現有條件或刪除條件。

  8. 選擇下一步

  9. 視需要修改動作。

  10. 選擇下一步

  11. 視需要修改規則優先順序。您可以輸入介於 1-50000 之間的值。

  12. 選擇下一步

  13. 檢閱為您的規則設定的所有詳細資料和更新的設定。一旦您滿意您的選擇,請選擇 [儲存變更]。

若要使用編輯規則 AWS CLI

使用 modify-rule 命令。

更新規則優先順序

依優先順序評估規則,從最低值到最高值。預設規則最後評估。您可以隨時變更非預設規則的優先順序。您無法變更預設規則的優先順序。

使用主控台更新規則優先順序
  1. 在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/

  2. 在導覽窗格上選擇 Load Balancers (負載平衡器)

  3. 選取負載平衡器。

  4. 接聽程式和規則索引標籤上,執行下列其中一個動作:

    1. 選取通訊協定:連接埠規則資料欄中的文字,以開啟接聽程式的詳細資訊頁面。

      1. 選擇動作,然後選擇重新排定規則的優先順序

      2. 規則索引標籤的接聽程式規則區段中,選擇動作,然後選擇重新排定規則的優先順序

    2. 選取接聽程式。

      1. 選擇管理規則,然後選擇重新排定規則的優先順序

  5. 接聽程式規則區段中,優先順序資料欄會顯示目前的規則優先順序。您可以輸入介於 1-50000 之間的值來更新規則優先順序。

  6. 如果滿意變更結果,請選擇儲存變更

若要使用更新規則優先順序 AWS CLI

使用指set-rule-priorities令。

刪除規則

您可以隨時刪除接聽程式的非預設規則。您無法刪除接聽程式的預設規則。刪除接聽程式時,其所有規則將被刪除。

使用主控台刪除規則
  1. 在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/

  2. 在導覽窗格上選擇 Load Balancers (負載平衡器)

  3. 選取負載平衡器。

  4. 接聽程式和規則索引標籤上,執行下列其中一個動作:

    1. 選取通訊協定:連接埠規則資料欄中的文字,以開啟接聽程式的詳細資訊頁面。

      1. 選取您要刪除的規則。

      2. 依序選擇動作刪除規則

      3. 在文字欄位中輸入 confirm,然後選擇刪除

    2. 選取名稱標籤資料欄中的文字,以開啟規則的詳細資訊頁面。

      1. 依序選擇動作刪除規則

      2. 在文字欄位中輸入 confirm,然後選擇刪除

若要使用刪除規則 AWS CLI

使用 delete-rule 命令。