Elastic Load Balancing
Application Load Balancer

Application Load Balancer のリスナールール

リスナーに対して定義したルールは、ロードバランサーが 1 つ以上のターゲットグループ内のターゲットにリクエストをルーティングする方法を決定します。

各ルールは優先度、1 つ以上のアクション、および 1 つ以上の条件で構成されています。詳細については、「リスナールール」を参照してください。

注記

コンソールには、ルールの優先度ではなく、各ルールの相対シーケンス番号が表示されます。AWS CLI または Elastic Load Balancing API を使用してルールを記述することによって、ルールの優先度を取得できます。

要件

  • 各ルールには次のアクションのうち、厳密に 1 つを含む必要があります。forwardredirectfixed-response。またはそれは最後に実行されるアクションである必要があります。

  • 各ルールには、以下の条件の 0 個または 1 つを含めることができます。host-headerhttp-request-methodpath-patternsource-ipおよび 0 個以上の以下の条件 http-headerquery-stringを含めることができます。

  • 条件ごとに最大 3 つの比較文字列、ルールごとに最大 5 つの比較文字列を指定できます。

  • forward アクションはリクエストをそのターゲットグループにルーティングします。forward アクションを追加する前に、ターゲットグループを作成し、それにターゲットを追加します。詳細については、「ターゲットグループの作成」を参照してください。

ルールの追加

リスナーを作成するときはデフォルトのルールを定義し、デフォルト以外の追加のルールはいつでも定義できます。

コンソールを使用してルールを追加するには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインの [LOAD BALANCING] で [ロードバランサー] を選択します。

  3. ロードバランサーを選択し、[Listeners] を選択します。

  4. 更新するリスナーについては、[View/edit rules] を選択します。

  5. メニューバーの [Add rules] アイコン (プラス記号) を選択します。これにより、優先順位でルールを挿入できる場所に、[ルールの挿入] アイコンが追加されます。

    
                            メニューバーの [ルールの追加] アイコン
  6. 前の手順で追加した [Insert Rule (ルールの挿入) アイコンのいずれかを選択します。

  7. 以下のように 1 つ以上の条件を追加します。

    1. To add a host header condition, chooseホストヘッダー条件を追加するには [Add condition (条件を追加)]、[Host header (ホストヘッダー)] を選択し、ホスト名を入力します (例: *.example.com)。条件を保存するには、チェックマークアイコンを選択します。

      各文字列の最大サイズは 128 文字です。比較では、大文字小文字を区別しません。次のワイルドカード文字はサポートされています: * および ?

    2. パス条件を追加するには [Add condition (条件の追加)]、[Path (パス)] の順に選択し、パスパターンを入力します (例: /img/*)。条件を保存するには、チェックマークアイコンを選択します。

      各文字列の最大サイズは 128 文字です。比較では、大文字と小文字を区別します。次のワイルドカード文字 (* および ?) はサポートされています。

    3. HTTP ヘッダー条件を追加するには、[Add condition (条件の追加)]、[Http header (Http ヘッダー)] の順に選択します。ヘッダーの名前を入力して、1 つ以上の比較文字列を追加します。条件を保存するには、チェックマークアイコンを選択します。

      各ヘッダー名の最大サイズは 40 文字で、ヘッダー名は大文字と小文字が区別されず、ワイルドカードはサポートされていません。各比較文字列の最大サイズは 128 文字で、次のワイルドカード文字 (* と ?) がサポートされています。比較では、大文字小文字を区別しません。

    4. HTTP リクエストメソッド条件を追加するには、[Add condition (条件の追加)]、[Http request method (Http リクエストメソッド)] の順に選択し、1 つ以上のメソッド名を追加します。条件を保存するには、チェックマークアイコンを選択します。

      各名前の最大サイズは 40 文字です。ここで使えるのは、A~Z、ハイフン (-)、およびアンダーバー (_) です。比較では、大文字と小文字を区別します。ワイルドカードがサポートされていません。

    5. クエリ文字列条件を追加するには、[Add condition (条件の追加)]、[Query string (クエリ文字列)] の順に選択し、1 つ以上のキー/値のペアを追加します。キー/値のペアごとに、キーを省略して値のみを指定できます。条件を保存するには、チェックマークアイコンを選択します。

      各文字列の最大サイズは 128 文字です。比較では、大文字小文字を区別しません。次のワイルドカード文字 (* および ?) はサポートされています。

    6. 送信元 IP 条件を追加するには、[Add condition (条件の追加)]、[Source IP (送信元 IP)] の順に選択し、1 つ以上の CIDR ブロックを追加します。条件を保存するには、チェックマークアイコンを選択します。

      IPv4 と IPv6 の両方のアドレスを使用できます。ワイルドカードがサポートされていません。

  8. (オプション、HTTPS リスナー) ユーザーを認証するには、[Add action (アクションの追加)]、[Authenticate (認証)] の順に選択し、必要な情報を入力します。アクションを保存するには、チェックマークアイコンを選択します。詳細については、「Application Load Balancer を使用してユーザーを認証する」を参照してください。

  9. 次のアクションのいずれかを追加します。

    • 転送アクションを追加するには、[Add action (アクションの追加)]、[Forward to (転送先)] の順に選択し、ターゲットグループを選択します。アクションを保存するには、チェックマークアイコンを選択します。

    • リダイレクトアクションを追加するには、[Add action (アクションの追加)]、[Redirect to (リダイレクト先)] の順に選択し、リダイレクト先の URL を指定します。アクションを保存するには、チェックマークアイコンを選択します。詳細については、「リダイレクトアクション」を参照してください。

    • 固定レスポンスアクションを追加するには、[Add action (アクションの追加)]、[Return fixed response (固定レスポンスを返す)] の順に選択し、レスポンスコードと (オプション) レスポンスの本文を指定します。アクションを保存するには、チェックマークアイコンを選択します。詳細については、「固定レスポンスアクション」を参照してください。

    
                            [ルールの挿入] インターフェイス。
  10. [Save] を選択します。

  11. (オプション) ルールの順序を変更するには、矢印を使用し、Save (保存)] を選択します。デフォルトのルールは常に [last (最も低い)] 優先度です。

  12. この画面をそのままにして、メニューバーの [Back to the load balancer (ロードバランサーに戻る)] アイコン (戻るボタン) を選択します。

AWS CLI を使用してルールを追加するには

ルールを作成するには、create-rule コマンドを使用します。ルールに関する情報を確認するには、describe-rules コマンドを使用します。

ルールの編集

ルールのアクションおよび条件はいつでも編集できます。

コンソールを使用してルールを編集するには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインの [LOAD BALANCING] で [ロードバランサー] を選択します。

  3. ロードバランサーを選択し、[Listeners] を選択します。

  4. 更新するリスナーについては、[View/edit rules] を選択します。

  5. メニューバーの [Edit rules] アイコン (鉛筆) を選択します。

    
                            メニューバーの [ルールの編集] アイコン。
  6. 編集するルールについては、[Edit rules] アイコン (鉛筆) を選択します。

  7. (オプション) 必要に応じて、条件とアクションを変更します。たとえば、条件またはアクションの編集 (鉛筆アイコン)、条件の追加、HTTPS リスナーのルールへの認証アクションの追加、条件やアクションの削除 (ゴミ箱アイコン) ができます。デフォルトのルールに条件を追加することはできません。

    
                            [Edit Rule (ルールの編集)] インターフェイス。
  8. [Update] を選択します。

  9. この画面をそのままにして、メニューバーの [Back to the load balancer (ロードバランサーに戻る)] アイコン (戻るボタン) を選択します。

AWS CLI を使用してルールを編集するには

modify-rule コマンドを使用します。

ルールの順序変更

ルールは優先順位の低~高順によって評価されます。デフォルトのルールが最後に評価されます。デフォルト以外のルールは、優先順位をいつでも変更できます。デフォルトルールの優先順位は変更できません。

注記

コンソールには、ルールの優先度ではなく、各ルールの相対シーケンス番号が表示されます。コンソールを使用してルールの順序を変更すると、既存のルールの優先度に基づいて新しいルールの優先度が取得されます。ルールの優先度を特定の値に設定するには、AWS CLI または Elastic Load Balancing API を使用します。

コンソールを使用してルールの順序を変更するには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインの [LOAD BALANCING] で [ロードバランサー] を選択します。

  3. ロードバランサーを選択し、[Listeners] を選択します。

  4. 更新するリスナーについては、[View/edit rules] を選択します。

  5. メニューバーの [Reorder rules] アイコン (矢印) を選択します。

    
                            メニューバーの [ルールの順序変更] アイコン。
  6. ルールの横にあるチェックボックスをオンにしてから、矢印を使ってルールに新しい優先順位を設定します。デフォルトのルールは常に最も低い優先度です。

  7. ルールの順序変更を完了したら、[Save] を選択します。

  8. この画面をそのままにして、メニューバーの [Back to the load balancer (ロードバランサーに戻る)] アイコン (戻るボタン) を選択します。

AWS CLI を使用してルールの優先順位を更新するには

set-rule-priorities コマンドを使用します。

ルールの削除

リスナーのデフォルト以外のルールはいつでも削除できます。リスナーのデフォルトのルールは削除できません。リスナーを削除すると、そのルールはすべて削除されます。

コンソールを使用してルールを削除するには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインの [LOAD BALANCING] で [ロードバランサー] を選択します。

  3. ロードバランサーを選択し、[Listeners] を選択します。

  4. 更新するリスナーについては、[View/edit rules] を選択します。

  5. メニューバーの [Delete rules (ルールの削除)] アイコン (マイナス記号) を選択します。

  6. ルールのチェックボックスを選択して、[削除] を選択します。リスナーのデフォルトのルールは削除できません。

  7. この画面をそのままにして、メニューバーの [Back to the load balancer (ロードバランサーに戻る)] アイコン (戻るボタン) を選択します。

AWS CLI を使用してルールを削除するには

delete-rule コマンドを使用します。