リスナールールの変換 - エラスティックロードバランシング

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

リスナールールの変換

ルール変換は、ターゲットにルーティングされる前にインバウンドリクエストを書き換えます。リクエストを書き換えても、ルール条件を評価する際のルーティングの決定は変更されません。これは、クライアントがターゲットが期待するのとは異なる URL またはホストヘッダーを送信する場合に便利です。

ルール変換を使用すると、パス、クエリ文字列、ホストヘッダーを変更する責任がロードバランサーにオフロードされます。これにより、アプリケーションコードにカスタム変更ロジックを追加したり、サードパーティーのプロキシを使用して変更を実行したりする必要がなくなります。

Application Load Balancer は、リスナールールの次の変換をサポートしています。

変換
host-header-rewrite

リクエストのホストヘッダーを書き換えます。変換は正規表現を使用してホストヘッダーのパターンを照合し、それを置換文字列に置き換えます。

url-rewrite

リクエスト URL を書き換えます。変換は正規表現を使用してリクエスト URL のパターンを照合し、それを置換文字列に置き換えます。

変換の基本
  • ルールごとに 1 つのホストヘッダー書き換え変換と 1 つの URL 書き換え変換を追加できます。

  • 変換をデフォルトルールに追加することはできません。

  • パターンが一致しない場合、元のリクエストがターゲットに送信されます。

  • パターンが一致しても変換が失敗した場合、HTTP 500 エラーが返されます。

ホストヘッダーの書き換え変換

ホストヘッダーで指定されたドメイン名を変更できます。

例 ホストヘッダー変換の例

ルールを作成または変更するときに、変換を指定できます。詳細については、create-rule および modify-rule コマンドを参照してください。ホストヘッダー変換の例を次に示します。ホストヘッダーを内部エンドポイントに変換します。

[ { "Type": "host-header-rewrite", "HostHeaderRewriteConfig": { "Rewrites": [ { "Regex": "^mywebsite-(.+).com$", "Replace": "internal.dev.$1.myweb.com" } ] } } ]

たとえば、この変換はホストヘッダーを https://mywebsite-example.com/project-aとして書き換えますhttps://internal.dev.example.myweb.com/project-a

URL 書き換え変換

URL のパスまたはクエリ文字列を変更できます。ロードバランサーレベルで URL を書き換えることで、バックエンドサービスが変更されても、フロントエンド URLsはユーザーと検索エンジンで一貫性を保つことができます。複雑な URL クエリ文字列を簡素化して、お客様が簡単に入力できるようにすることもできます。

URL のプロトコルまたはポートは変更できず、パスとクエリ文字列のみを変更できることに注意してください。

例 URL 書き換え変換の例

ルールを作成または変更するときに、変換を指定できます。詳細については、create-rule および modify-rule コマンドを参照してください。URL 書き換え変換の例を次に示します。ディレクトリ構造をクエリ文字列に変換します。

[ { "Type": "url-rewrite", "UrlRewriteConfig": { "Rewrites": [ { "Regex": "^/dp/([A-Za-z0-9]+)/?$", "Replace": "/product.php?id=$1" } ] } } ]

たとえば、この変換はリクエスト URL を https://www.example.com/dp/B09G3HRMWとして書き換えますhttps://www.example.com/product.php?id=B09G3HRMW

URL の書き換えと URL リダイレクトの違い

特性 URL リダイレクト URL の書き換え
URL 表示 ブラウザのアドレスバーの変更 ブラウザのアドレスバーに変更はありません
ステータスコード 301 (永続的) または 302 (一時的) を使用 ステータスコードの変更なし
Processing ブラウザ側 サーバー側
一般的な用途 ドメインの変更、ウェブサイトの統合、壊れたリンクの修正 SEO の URLsクリーンアップ、複雑な構造の非表示、レガシー URL マッピングの提供