Application Load Balancer のリスナールール - Elastic Load Balancing

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Application Load Balancer のリスナールール

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

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

要件

  • ルールはセキュアリスナーにのみアタッチできます。

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

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

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

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

ルールの追加

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

コンソールを使用してルールを追加するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

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

  3. ロードバランサーを選択すると、詳細が表示されます。

  4. [リスナーとルール] タブで、次のいずれかを行います。

    1. [プロトコル:ポート] 列のテキストを選択して、リスナーの詳細ページを開きます。

      [ルール] タブで、[ルールを追加する] を選択します。

    2. ルールを追加するリスナーを選択します。

      [ルールを管理][ルールを追加する] の順に選択します。

  5. [名前とタグ] でルール名を指定できますが、これは必須ではありません。

    新しいタグを追加するには、[さらにタグを追加] を選択します。

  6. [次へ] をクリックします。

  7. [Add condition] (条件を追加) を選択します。

  8. 以下から条件を 1 つ以上追加します。

    • [ホストヘッダー] — ホストヘッダーを定義します。例: *.example.com[確認] を選択し、内容を保存します。

      最大 128 文字 大文字と小文字は区別されません。使用できる文字は a~z、A~Z、0~9、特殊文字 (-_.)、ワイルドカード (* および ?) です。

    • [パス] — パスを定義します。例: /item/* [確認] を選択し、内容を保存します。

      最大 128 文字 大文字と小文字の区別があります。使用できる文字は a~z、A~Z、0~9、特殊文字 (_-.$/~"'@:+;&)、ワイルドカード (* および ?) です。

    • [HTTP リクエストメソッド] — HTTP リクエストメソッドを定義します。[確認] を選択し、内容を保存します。

      最大 40 文字 大文字と小文字の区別があります。使用できる文字は A~Z および特殊文字 (-_) です。ワイルドカードがサポートされていません。

    • [送信元 IP] — 送信元の IP アドレスを CIDR 形式で定義します。[確認] を選択し、内容を保存します。

      IPv4 CDIR と IPv6 CIDR のどちらも使用できます。ワイルドカードがサポートされていません。

    • [HTTP ヘッダー] – ヘッダーの名前を入力して、1 つ以上の比較文字列を追加します。[確認] を選択し、内容を保存します。

      • [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. [次へ] をクリックします。

  10. ルールに以下のアクションのいずれかを定義します。

    • [ターゲットグループへ転送] — トラフィックを転送するターゲットグループを 1 つ以上選択します。ターゲットグループを追加するには、[ターゲットグループの追加] を選択します。複数のターゲットグループを使用している場合は、ターゲットグループごとに重みを選択し、それに関連付けられている割合を確認します。1 つ以上のターゲットグループに対して維持設定を有効にしている場合は、ルールのグループレベルの維持設定を有効にする必要があります。

    • [URL にリダイレクト] — クライアントリクエストのリダイレクト先の URL を指定します。これを行うには、部分ごとに分けて [URI 部分] タブに入力するか、完全なアドレスを [完全な URL] タブに入力します。必要に応じて、[ステータスコード] で、一時的 (HTTP 302) または恒久的 (HTTP 301) としてリダイレクトを設定します。

    • [固定レスポンスを返す] — ドロップされたクライアントリクエストに対して返される [レスポンスコード] を指定します。[コンテンツタイプ] と [レスポンス本文] の指定もできますが、これは必須ではありません。

  11. [次へ] をクリックします。

  12. [ルール] セクションの [優先度] で、ルールの優先度を 1~50000 の数値で指定します。リスナールールの優先度の数値は、間隔を空けて指定することをお勧めします。既存のルールと作成中のルールのリアルタイムな情報は、[リスナールール] セクションで確認できます。

  13. [次へ] をクリックします。

  14. 新しいルールの詳細と現在構成されている設定を確認します。選択した内容でよければ、[作成] を選択します。

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

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

ルールの編集

ルールのアクションおよび条件はいつでも編集できます。ルールの更新はすぐには反映されないため、ルールの更新後しばらくの間、リクエストは以前のルール設定を使用してルーティングされます。すべての未処理のリクエストが完了します。

コンソールを使用してルールを編集するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

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

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

  4. [リスナーとルール] タブで、次のいずれかを行います。

    1. [プロトコル:ポート] 列のテキストを選択して、リスナーの詳細ページを開きます。

      1. [ルール] タブの [リスナールール] セクションで、編集するルールの [Name タグ] 列にあるテキストを選択します。

        [アクション][ルールの編集] の順に選択します。

      2. [ルール] タブの [リスナールール] セクションで、編集するルールを選択します。

        [アクション][ルールの編集] の順に選択します。

    2. ルールを編集するリスナーを選択します。

      [ルールを管理][ルールの編集] の順に選択します。

  5. 必要に応じて、条件とアクションを変更します。条件やアクションの編集、条件の追加、または条件やアクションの削除ができます。

  6. [Save changes] (変更の保存) を選択します。

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

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

ルールの優先度の更新

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

コンソールを使用してルールの優先度を更新するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

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

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

  4. [リスナーとルール] タブで、次のいずれかを行います。

    1. [プロトコル:ポート] または [ルール] 列のテキストを選択して、リスナーの詳細ページを開きます。

      1. [アクション][ルールに優先順位を再設定] の順に選択します。

      2. [ルール] タブの [リスナールール] セクションで、[アクション][ルールに優先順位を再設定] の順に選択します。

    2. リスナーを選択します。

      1. [ルールを管理][ルールに優先順位を再設定] の順に選択します。

  5. [リスナールール] セクションの [優先度] 列には、現在のルールの優先度が表示されます。ルールの優先度の値を選択すると、値を調整できる編集フィールドが表示されます。

  6. 変更内容に問題がなければ、[変更内容の保存] を選択します。

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

set-rule-prioritiesコマンドを実行します。

ルールの削除

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

コンソールを使用してルールを削除するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

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

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

  4. [リスナーとルール] タブで、次のいずれかを行います。

    1. [プロトコル:ポート] または [ルール] 列のテキストを選択して、リスナーの詳細ページを開きます。

      1. 削除するルールを選択します。

      2. [アクション][ルールを削除] の順に選択します。

      3. テキストフィールドに confirm と入力し、[削除] を選択します。

    2. [Name タグ] 列のテキストを選択し、ルールの詳細ページを開きます。

      1. [アクション][ルールを削除] の順に選択します。

      2. テキストフィールドに confirm と入力し、[削除] を選択します。

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

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