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

Server Load Balancer:ALB のドメイン名とパスベースの転送ルールの設定

最終更新日:Nov 14, 2025

この Topic では、Application Load Balancer (ALB) リスナーのドメイン名とパスベースの転送ルールを設定する方法について説明します。また、再書き込みおよびリダイレクト操作のための高度なパスベースのルールを設定する方法についても説明します。

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

ドメイン名ベースのルールは、完全一致、ワイルドカード、および正規表現のドメイン名をサポートします。転送ルールの追加方法の詳細については、「転送ルールの追加」をご参照ください。

ドメイン名ルール

説明

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

  • 説明

    • 完全一致:リクエストされたドメイン名は、指定されたドメイン名と同じである必要があります。

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

  • 要件

    ドメイン名は 3~128 文字である必要があります。大文字、小文字、数字、および次の特殊文字のみを含めることができます: .-?=~_+\^*!$&|()[]。アスタリスク (*) と疑問符 (?) をワイルドカード文字として使用できます。

  • リクエストされたドメイン名:www.example.com

    • 完全一致: www.example.com と入力すると、リクエストは一致します。

    • ワイルドカード一致: *.example.com または www.example.* と入力すると、リクエストは一致します。

正規表現一致

  • 一致条件

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

  • 要件

    ドメイン名は 3~128 文字の長さである必要があります。文字、数字、および次の特殊文字のみを含めることができます: . - ? = ~ _ - + ^ * ! $ & | ( ) [ ]

  • リクエストされたドメイン名:www.example.com

    大文字と小文字を区別しない一致: 正規表現 ^www.example.com$ は、リクエストされたドメイン名と一致します。

パスベースの転送ルール

パスベースのルールは、完全一致、ワイルドカード、および正規表現のパスをサポートします。転送ルールの追加方法の詳細については、「転送ルールの追加」をご参照ください。

パスルール

説明

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

  • 一致ルール

    • 完全一致: リクエストパスは、設定されたパスと同一である必要があります。

    • ワイルドカード一致: リクエストパスは、設定されたパスパターンと一致する必要があります。

  • 要件

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

  • リクエストパス: /example/text

    • 完全一致: 転送ルールのパスが /example/text の場合、リクエストは一致します。

    • ワイルドカード一致: 転送ルールのパスが /example/* の場合、リクエストは一致します。

    説明

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

    たとえば、一般的な Nginx 設定は location /abc で、最長プレフィックス一致メソッドを使用します。ALB は、ワイルドカード文字を使用して最長プレフィックス一致を実行します。ALB では、/abc/* (完全一致とワイルドカードの組み合わせ) を設定して、同じ効果を得ることができます。

正規表現一致

  • 説明

    リクエストされたパスは、指定された正規表現と照合されます。

  • 要件

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

  • リクエストパス: /sys/aaa/HOST

    • 大文字と小文字を区別する: 正規表現 ^/sys/(.*)/HOST$ を入力すると、パスは一致します。

    • 大文字と小文字を区別しない: 正規表現 ^/sys/(.*)/host$ を入力すると、パスは一致します。

再書き込みとリダイレクトにおけるパスの高度な設定ルール

転送条件のパスに正規表現を設定した後、再書き込みおよびリダイレクト操作のパスに正規表現の置き換えを使用できます。転送ルールの追加方法の詳細については、「転送ルールの追加」をご参照ください。

説明

転送条件のパス正規表現設定ルールの詳細については、「パスベースの転送ルール」をご参照ください。

    • 転送条件の正規表現内の括弧のペア ( ) の数は、転送操作の再書き込みまたはリダイレクトパス内の ${n} 変数の数と一致する必要があります。

    • 転送操作の再書き込みまたはリダイレクトパスには、変数 ${1}${2}、および ${3} のうち 1 つ以上を含める必要があります。これらの変数を他の文字に置き換えることはできません。

  • 置き換えの原則

    1. パスの一致: クライアントは、パスベースの転送ルールの正規表現に一致するリクエストを送信します。

    2. 抽出と置き換え: 正規表現の仕様に基づき、最初の 3 つの括弧のペア ( ) でキャプチャされたコンテンツは、それぞれ ${1}${2}、および ${3} に保存されます。このコンテンツは、転送操作の再書き込みまたはリダイレクトパスでの置き換えに使用されます。

    3. 連結: 転送操作の再書き込みまたはリダイレクトパスの設定に基づき、${1}${2}、および ${3} の値が代入され、最終的な再書き込みまたはリダイレクトされたパスが形成されます。

    番号

    手順

    1

    転送ルールで転送条件と転送操作を設定します。

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

    • リクエストが再書き込みまたはリダイレクトされるパス: /${1}/${2}

    2

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

    • リクエストパス: /sys/ccc/bbb/aaa

    • 一致したパス: /sys/(.*)/(.*)/aaa

    3

    フェッチと置き換え

    正規表現は、パス内の 2 つの (.*) キャプチャグループから cccbbb をフェッチします。これらの値は、再書き込みまたはリダイレクトパス内の ${1} と ${2} 変数を置き換えます。

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

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

    4

    パスの連結

    バックエンドサーバーが受信したパス: /ccc/bbb

  • 設定例

    前述の注と置き換えの原則に基づいて、コンソールで転送ルールを追加できます。

    例 1: 転送操作が「再書き込みと転送」の場合

    この例では、パス sys/ccc/bbb/aaa へのリクエストを /ccc/bbb に再書き込みしてから転送する転送ルールを設定する方法を示します。以下は設定例です。Example 1

    カテゴリ

    説明

    以下のすべての条件が満たされた場合

    パスの正規表現一致

    • 一致条件

      リクエストされたパスは、指定された正規表現と一致します。

    • 要件

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

    • リクエストパス: /sys/ccc/bbb/aaa

      • 大文字と小文字を区別する: パスは正規表現 /sys/(.*)/(.*)/aaa と一致します。

      • 大文字と小文字を区別しない: パスは正規表現 /sys/(.*)/(.*)/aaa と一致します。

    転送操作

    書き換え

    • ドメイン名: ${host}

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

    • クエリ: ${query}

    説明

    [クエリ] は、URL の疑問符 (?) に続く部分です。

    たとえば、URL が www.example.com/test/test1?x=1 の場合、[クエリ]x=1 です。

    転送先

    サーバーグループリストから宛先サーバーグループを選択します。

    例 2: 転送操作が「リダイレクト」の場合

    この例では、パス sys/ccc/bbb/aaa へのリクエストを /ccc/bbb にリダイレクトする転送ルールを設定する方法を示します。以下は設定例です。

    Example 2

    カテゴリ

    説明

    以下のすべての条件が満たされた場合

    パスの正規表現一致

    • 一致条件

      リクエストされたパスは、指定された正規表現と一致します。

    • 入力要件

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

    • リクエストパス: /sys/ccc/bbb/aaa

      • 大文字と小文字を区別する: 正規表現が /sys/(.*)/(.*)/aaa の場合、パスは一致します。

      • 大文字と小文字を区別しない: 正規表現が /sys/(.*)/(.*)/aaa の場合、パスは一致します。

    転送操作

    リダイレクト

    • プロトコル: $protocol

    • ドメイン名: ${host}

    • ポート: ${port}

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

    • クエリ: ${query}

    • ステータスコード: 301

よくある質問

ALB で特定のパスプレフィックスを削除し、多層パス一致をサポートする転送ルールを設定するにはどうすればよいですか?

リクエストパスから特定のプレフィックスを削除し、後続の多層パスと一致させる転送ルールを設定するには、次の設定例を使用します。

例: ALB が www.example.com/api/aaa/bbb/... へのアクセスリクエストを転送する場合、パスから /api プレフィックスを削除し、/api に続く多層パスを一致させる必要があります。

再書き込みまたはリダイレクト操作を使用できます。パスを設定する際、正規表現 ^/api/(.*) を使用して /api で始まるすべてのパスを一致させます。次に、転送操作のパスを /${1} に設定します。これにより、一致したパスが /api に続くすべてのものに置き換えられます。具体的な設定は次のとおりです。

  • 再書き込み

    image

  • リダイレクト

    image

関連ドキュメント

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