演習 - Front Door と WAF ポリシーをテストする
最後の手順で、Front Door 環境をテストし、ルーティング規則が Web トラフィックを送信するように正しく構成されているかどうかを確認します。 また、配信元 Web サーバーの可用性をテストし、サーバーがダウンした場合でもキャッシュされたコンテンツにアクセスできるかどうかもテストする必要があります。
車両登録 Web アプリのトラフィック分布をテストする
Cloud Shell で次のコマンドを実行して、Front Door エンドポイントの URL を生成します。
echo https://$(az afd endpoint show \ --profile-name vehicleFrontDoor \ --endpoint-name $endpoint \ --resource-group $RG \ --query hostName \ --output tsv)
Web ブラウザーを使って、前のコマンドで返された URL の Web サイトに移動します。 この URL は、Front Door プロファイルで作成したエンドポイントのアドレスです。 車両登録 Web アプリのホーム ページが表示されることを確認します。 どのインスタンスが要求を処理しているかを知らせるためにページ上に Web サーバーの名前が表示されていることに注意してください。
キーボードで F5 キーを数回押してブラウザーを更新します。 サーバー名が webServer1 と webServer2 の間を行ったり来たりすることがわかります。 どちらの Web サーバーも同じリージョン内に存在し、同様の待機時間を持ちます。 そのため、どちらのサーバーでも要求を処理する確率は同じになります。
ルーティングをテストする
次に、各 Web サイトへのルート構成のルーティングをテストしてみましょう。 /VehicleRegistration/
と /VehicleRegistration/*
に一致するルートを構成して、Web サーバーのプライベート エンドポイントに移動しました。 /LicenseRenewal/
と /LicenseRenewal/*
に一致する要求の場合、それらを App サービスにルーティングしました。 このラボでは、接続を確立するために Private Link サービスを使用しているため、Azure Front Door と配信元リソース間の通信はプライベートです。
車両登録 Web サイトの他のページへのルーティングをテストするには、[車両の登録] を選択します。
URL が
/VehicleRegistration/Create
のパスを含むように変更されたことに注目します。/VehicleRegistration/*
に "一致するパターン" があるため、ワイルドカードは/
より後ろのすべてに一致し、車両登録 Web サイトをホストしている Web サーバーにルーティングされます。次に、ライセンス更新 Web サイトへのルーティングをテストしてみましょう。 パスを
/VehicleRegistration/Create
から/LicenseRenewal/
に変更します。 このパスは、App Service の配信元にルーティングします。[ライセンスの更新] を選択して、パスが
/LicenseRenewal/Create
に変更されることを確認します。 車両登録のルートと同様に、/
より後ろのすべてにマッチし、そのトラフィックを App Service に転送するワイルドカードが含まれる/LicenseRenewal/*
のマッチ パターンがあります。
この構成では、Front Door を通してユーザーを両方の Web サイトに振り分けることができます。 ユーザーを簡単に記憶し、ユーザーのニーズに合った適切なページに誘導できるカスタム ドメインを設定できます。 Front Door を使用すると、複数の Web サイトをホストするように拡張し、キャッシュを有効にして静的リソースのパフォーマンスを向上させ、スケーラビリティと可用性が高い Web アプリケーションを提供できます。
セキュリティ ポリシーをテストする
Go for Windows をダウンロードしてインストールします。 インストール時は、すべての既定の設定を使用します。 GoTestWAF アプリケーションを実行するには、Go が必要です。
Git for Windows をダウンロードしてインストールします。 インストール時は、すべての既定の設定を使用します。 ローカル コンピューターに gotestwaf リポジトリをクローンするには、Git が必要です。
Go for Windows と Git for Windows の両方をインストールしたら、Git Bash を開いて
git clone https://github.com/wallarm/gotestwaf.git
を実行し、GoTestWAF ファイルをローカル コンピューターにダウンロードします。cd gotestwaf
コマンドを使用してディレクトリを gotestwaf フォルダーに変更します。次のコマンドを実行して、セキュリティ ポリシーが機能しているかどうかをテストします。 '<EVALUATE_SECURITY_SOLUTION_URL> を、このユニットの冒頭のエンドポイントの URL に置き換えます。
go run ./cmd --url=<EVALUATED_SECURITY_SOLUTION_URL> --verbose
WAF ポリシー設定を正しく構成した場合は、出力に
Baseline attack status code: 999
が表示されます。 この応答状態コードは、WAF が要求をブロックする場合に構成したのと同じものです。
これで、Web Application Firewall (WAF) ポリシーによって保護された自動車 Web アプリケーションが完全に機能するようになりました。