Azure Application Gateway のルーティングを決定する
クライアントは、アプリケーション ゲートウェイの IP アドレスまたは DNS 名を指定することで、Web アプリに要求を送信します。 ゲートウェイでは、その要求を、一連の規則に従ってバックエンド プール内の選択された Web サーバーに転送します。 ユーザーはゲートウェイの規則を定義して、要求トラフィックに使用できるルートを特定します。
トラフィック ルーティングについて知っておく必要があること
Azure Application Gateway のルーティング オプションを詳しく見てみましょう。
Azure Application Gateway には、トラフィックをルーティングするための 2 つの主要な方法が用意されています。
パスベースのルーティングでは、異なる URL パスの要求を、異なるバックエンド サーバーのプールに送信します。
マルチサイトのルーティングでは、同じアプリケーション ゲートウェイのインスタンス上に複数の Web アプリケーションを構成します。
アプリケーション ゲートウェイを構成して、トラフィックをリダイレクトできます。
Application Gateway では、あるリスナーで受信したトラフィックを別のリスナーに、または外部サイトにリダイレクトできます。 この方法は、Web アプリで、HTTPS 経由で通信するように HTTP 要求を自動的にリダイレクトするためによく使用されます。 リダイレクトにより、Web アプリとクライアント間のすべての通信が暗号化されたパス経由で行われるようにすることができます。
Application Gateway を実装して、HTTP ヘッダーを書き換えることができます。
HTTP ヘッダーを使用すると、クライアントとサーバーは、要求または応答と共にパラメーター情報を渡すことができます。 このシナリオでは、URL やクエリ文字列パラメーターを変換したり、要求ヘッダーと応答ヘッダーを変更したりできます。 条件を追加して、特定の条件に対してのみ URL またはヘッダーが書き直されるようにします。
Application Gateway では、既定のエラー ページを表示する代わりに、カスタム エラー ページを作成することができます。 カスタム エラー ページを使うことで、独自のブランド化とレイアウトを使用できます。
パスベースのルーティング
パスベースのルーティングを実装して、特定の URL パスの要求を適切なバックエンド プールに転送できます。 Web アプリがビデオや画像の要求を受け取るシナリオを考えてみましょう。 パスベースのルーティングを使うと、/video/\*
パスへの要求をビデオ ストリーミングの処理用に最適化されたサーバーのバックエンド プールに転送できます。 /images/\*
パスへの画像の要求は、画像検索を処理するサーバーのプールに転送できます。 次の図は、このようなルーティング方法を示しています。
マルチサイトのルーティング
同じアプリケーション ゲートウェイ インスタンス上で複数の Web アプリをサポートする必要がある場合は、マルチサイトのルーティングが最適なオプションです。 マルチサイトの構成は、各テナントに Web アプリケーションをホストする独自の仮想マシンがある、または他のリソースのセットがあるマルチテナント アプリケーションをサポートするのに便利です。
この構成では、アプリケーション ゲートウェイの IP アドレスに対して複数の DNS 名 (CNAME) を登録し、各サイトの名前を指定します。 アプリケーション ゲートウェイでは、個別のリスナーを使って各サイトの要求を待ちます。 各リスナーでは、異なるルールに要求が渡されて、異なるバックエンド プール内のサーバーに要求をルーティングできます。
同じゲートウェイ上で 2 つのサイトへのトラフィックをサポートする必要があるシナリオを考えてみましょう。 http://contoso.com
サイトに対するすべての要求をあるバックエンド プール内のサーバーに転送し、http://fabrikam.com
サイトに対する要求を別のバックエンド プールに転送できます。 次の図は、このようなルーティング方法を示しています。