すべてのプロダクト
Search
ドキュメントセンター

Server Load Balancer:ALBのドメイン名ベースおよびURLベースの転送ルールの設定

最終更新日:Sep 19, 2024

このトピックでは、Application Load Balancer (ALB) リスナーのドメイン名ベースおよびパスベースの転送条件を設定する方法について説明します。 このトピックでは、書き換えとリダイレクトのパスを設定する方法についても説明します。

ドメイン名ベースの転送ルール

ドメイン名ベースの転送ルールの一致条件として、特定のドメイン名、ワイルドカードドメイン名、または正規表現を指定できます。 転送ルールの作成方法の詳細については、リスナーの転送ルールの管理トピックの転送ルールの作成セクションをご参照ください。

マッチタイプ

説明

完全一致とワイルドカード一致

  • マッチ条件

    • 完全一致: 要求されたドメイン名は、指定されたドメイン名と同じでなければなりません。

    • ワイルドカード一致: 要求されたドメイン名は、指定されたドメイン名のワイルドカードパターンと一致する必要があります。

  • 要件

    ドメイン名の長さは3 ~ 128文字で、英数字、および次の特殊文字のみを使用できます。。 - ? = ~ _ + \ ^ * ! $ & | ( ) [ ] 。 アスタリスク (*) と疑問符 (?) をワイルドカード文字として使用できます。

  • 要求されたドメイン名: www.example.com

    • 完全一致: 要求されたドメイン名は、転送ルールで指定されてwww.example.com場合にのみ一致します。

    • ワイルドカードの一致: 転送ルールで * .example.comまたはwww.example.* が指定されている場合、要求されたドメイン名が一致します。

正規表現マッチ

  • マッチ条件

    要求されたドメイン名は、指定された正規表現と一致する必要があります。

  • 要件

    ドメイン名の長さは3 ~ 128文字で、英数字、および次の特殊文字のみを使用できます。。 - ? = ~ _ - + \ ^ * ! $ & | ( ) [ ]

  • 要求されたドメイン名: www.example.com

    大文字と小文字を区別しない正規表現: 転送ルールで ^ www.example.com$ が指定されている場合、要求されたドメイン名が一致します。

URLベースの転送ルール

URLベースの転送ルールでは、特定のURL、ワイルドカードURL、または正規表現を一致条件として指定できます。 転送ルールの作成方法の詳細については、「リスナーの転送ルールの管理」トピックの転送ルールの作成セクションをご参照ください。

マッチタイプ

説明

完全一致とワイルドカード一致

  • マッチ条件

    • 完全一致: 要求されたパスは、指定されたパスと同じでなければなりません。

    • ワイルドカード一致: 要求されたパスは、指定されたパスのワイルドカードパターンと一致する必要があります。

  • 要件

    パスはスラッシュ (/) で始まる必要があり、英数字、および次の特殊文字のみを含めることができます: $ - _。 + / & ~ @ : 。 アスタリスク (*) と疑問符 (?) をワイルドカード文字として使用できます。

  • 要求されたパス: /example/text

    • 完全一致: 要求されたパスは、転送ルールで /example/textが指定されている場合にのみ一致します。

    • ワイルドカード一致: 転送ルールで /example/* が指定されている場合、要求されたパスが一致します。

    説明

    ALBのパスマッチングルールはNGINXのルールとは異なります。 ALBは、最長プレフィックス一致ルールをサポートしていません。

    たとえば、NGINXに設定された共通パスはlocation /abcです。 最長プレフィックス一致規則は、パスを一致させるために使用される。 最長プレフィックス一致を実行するために、ALBはワイルドカード文字を使用します。 ALB/abc/* を設定して、最長プレフィックス一致を実行できます。

正規表現マッチ

  • マッチ条件

    要求されたパスは、指定された正規表現と一致します。

  • 要件

    正規表現には、文字、数字、および次の特殊文字のみを含めることができます: 。 - _ / = ? ~ ^ * $ : ( ) [ ] + |

  • 要求されたパス: /sys/aaa/HOST

    • 大文字と小文字を区別する正規表現: 転送ルールで ^/sys/(.*)/HOST$ が指定されている場合、要求されたパスが一致します。

    • 大文字と小文字を区別しない正規表現: 転送ルールで ^/sys/(.*)/host$ が指定されている場合、要求されたパスが一致します。

書き換えとリダイレクトのための高度なURLベースの転送ルール設定

書き換えまたはリダイレクトルールで正規表現を一致条件として指定した場合、元のURLは正規表現に一致する変数によって上書きされます。 転送ルールの作成方法の詳細については、リスナーの転送ルールの管理トピックの転送ルールの作成セクションをご参照ください。

説明

URLベースの転送条件で正規表現を設定する方法の詳細については、このトピックの「URLベースの転送ルール」をご参照ください。

  • 使用状況ノート

    • 書き換えルールまたはリダイレクトルールの一致条件として1つ以上の正規表現を指定し、括弧 ( ) を使用してキャプチャグループとして定義できます。 キャプチャグループの数は、書き換えルールまたはリダイレクトルールの変数の数と同じである必要があります。

    • 最大3つの変数 (${1}${2} 、および ${3}) を使用して、元のURLを上書きするURLを作成できます。 変数を他の文字に置き換えることはできません。

  • 手順

    1. URL一致: クライアントがリクエストを送信します。 リクエストは、転送ルールで指定された正規表現と一致します。

    2. 抽出と置換: キャプチャグループ ( ) からコンテンツを抽出し、コンテンツを ${1}${2}${3} に書き込みます。 コンテンツは、転送アクションの書き換えパスまたはリダイレクトパスを置き換えるために使用されます。

    3. スプライシング: 変数 ${1}${2} 、および ${3} を上書きした文字列をスプライスして、新しいURLを形成します。

    いいえ

    ステップ

    1

    転送ルールで転送条件と転送アクションを設定します。

    • 転送条件のパス: /sys/(.*)/(.*)/aaa

    • リクエストの書き換えまたはリダイレクト先のパス: /${1}/${2}

    2

    クライアント要求は、転送ルールのパスと一致します。

    • 要求されたパス: /sys/ccc/bbb/aaa

    • 一致するパス: /sys/(.*)/(.*)/aaa

    3

    システムは正規表現から値を抽出し、変数を値に置き換えます。

    cccbbbは正規表現の (.*) から抽出され、リクエストが書き換えられたりリダイレクトされたりするパスの変数 ${1} と ${2} を置き換えます。

    • ${1}cccに置き換えられます。

    • ${2}bbbに置き換えられます。

    4

    値は、実際のパスを形成するために連結される。

    バックエンドサーバーが受信したパスは /ccc/bbbです。

  • 使用法のメモと手順に基づいて、ALBコンソールで転送ルールを作成できます。 次の例は、転送ルールの設定方法を示しています。

    例1: 書き換えまたは転送アクション示例1の設定

    パラメーター

    説明

    すべての条件に一致する場合

    正規表現マッチ

    • マッチ条件

      要求されたパスは、指定された正規表現と一致します。

    • 要件

      正規表現には、文字、数字、および次の特殊文字のみを含めることができます: 。 - _ / = ? ~ ^ * $ : ( ) [ ] + |

    • 要求されたパス: /sys/ccc/bbb/aaa

      • 大文字と小文字を区別する正規表現: 転送ルールで /sys/(.*)/(.*)/aaaが指定されている場合、要求されたパスが一致します。

      • 大文字と小文字を区別しない正規表現: 転送ルールで /sys/(.*)/(.*)/aaaが指定されている場合、要求されたパスが一致します。

    Action

    書き換え

    • ドメイン名: ${host}

    • パス: /${1}/${2}

    • 検索: ${query}

    フォワード

    ドロップダウンリストからサーバーグループを選択します。

    例2: リダイレクトアクションの設定 示例2

    パラメーター

    説明

    すべての条件に一致する場合

    正規表現マッチ

    • マッチ条件

      要求されたパスは、指定された正規表現と一致します。

    • 要件

      正規表現には、文字、数字、および次の特殊文字のみを含めることができます: 。 - _ / = ? ~ ^ * $ : ( ) [ ] + |

    • 要求されたパス: /sys/ccc/bbb/aaa

      • 大文字と小文字を区別する正規表現: 転送ルールで /sys/(.*)/(.*)/aaaが指定されている場合、要求されたパスが一致します。

      • 大文字と小文字を区別しない正規表現: 転送ルールで /sys/(.*)/(.*)/aaaが指定されている場合、要求されたパスが一致します。

    Action

    Redirect

    • プロトコル: $Protocol

    • ドメイン名: ${host}

    • ポート: ${Port}

    • パス: /${1}/${2}

    • 検索: ${query}

    • ステータスコード: 301

関連ドキュメント

ALBリスナーに他の転送ルールを設定する方法の詳細については、「ALBリスナーの転送ルールの設定」をご参照ください。