演習 - Front Door と WAF ポリシーをテストする

完了

最後の手順で、Front Door 環境をテストし、ルーティング規則が Web トラフィックを送信するように正しく構成されているかどうかを確認します。 また、配信元 Web サーバーの可用性をテストし、サーバーがダウンした場合でもキャッシュされたコンテンツにアクセスできるかどうかもテストする必要があります。

車両登録 Web アプリのトラフィック分布をテストする

  1. Cloud Shell で次のコマンドを実行して、Front Door エンドポイントの URL を生成します。

    echo https://$(az afd endpoint show \
        --profile-name vehicleFrontDoor \
        --endpoint-name $endpoint \
        --resource-group $RG \
        --query hostName \
        --output tsv)
    
  2. Web ブラウザーを使って、前のコマンドで返された URL の Web サイトに移動します。 この URL は、Front Door プロファイルで作成したエンドポイントのアドレスです。 車両登録 Web アプリのホーム ページが表示されることを確認します。 どのインスタンスが要求を処理しているかを知らせるためにページ上に Web サーバーの名前が表示されていることに注意してください。

    Screenshot of web server 1 responding to web browser request.

  3. キーボードで F5 キーを数回押してブラウザーを更新します。 サーバー名が webServer1webServer2 の間を行ったり来たりすることがわかります。 どちらの Web サーバーも同じリージョン内に存在し、同様の待機時間を持ちます。 そのため、どちらのサーバーでも要求を処理する確率は同じになります。

    Screenshot of web server 2 responding to web browser request.

ルーティングをテストする

次に、各 Web サイトへのルート構成のルーティングをテストしてみましょう。 /VehicleRegistration//VehicleRegistration/* に一致するルートを構成して、Web サーバーのプライベート エンドポイントに移動しました。 /LicenseRenewal//LicenseRenewal/* に一致する要求の場合、それらを App サービスにルーティングしました。 このラボでは、接続を確立するために Private Link サービスを使用しているため、Azure Front Door と配信元リソース間の通信はプライベートです。

  1. 車両登録 Web サイトの他のページへのルーティングをテストするには、[車両の登録] を選択します。

    Screenshot of web server 1 register a vehicle link.

  2. URL が /VehicleRegistration/Create のパスを含むように変更されたことに注目します。 /VehicleRegistration/* に "一致するパターン" があるため、ワイルドカードは / より後ろのすべてに一致し、車両登録 Web サイトをホストしている Web サーバーにルーティングされます。

    Screenshot of vehicle registration page.

  3. 次に、ライセンス更新 Web サイトへのルーティングをテストしてみましょう。 パスを /VehicleRegistration/Create から /LicenseRenewal/ に変更します。 このパスは、App Service の配信元にルーティングします。

    Screenshot of license renewal home page.

  4. [ライセンスの更新] を選択して、パスが /LicenseRenewal/Create に変更されることを確認します。 車両登録のルートと同様に、/ より後ろのすべてにマッチし、そのトラフィックを App Service に転送するワイルドカードが含まれる /LicenseRenewal/* のマッチ パターンがあります。

    Screenshot of renew a license page.

この構成では、Front Door を通してユーザーを両方の Web サイトに振り分けることができます。 ユーザーを簡単に記憶し、ユーザーのニーズに合った適切なページに誘導できるカスタム ドメインを設定できます。 Front Door を使用すると、複数の Web サイトをホストするように拡張し、キャッシュを有効にして静的リソースのパフォーマンスを向上させ、スケーラビリティと可用性が高い Web アプリケーションを提供できます。

セキュリティ ポリシーをテストする

  1. Go for Windows をダウンロードしてインストールします。 インストール時は、すべての既定の設定を使用します。 GoTestWAF アプリケーションを実行するには、Go が必要です。

  2. Git for Windows をダウンロードしてインストールします。 インストール時は、すべての既定の設定を使用します。 ローカル コンピューターに gotestwaf リポジトリをクローンするには、Git が必要です。

  3. Go for Windows と Git for Windows の両方をインストールしたら、Git Bash を開いて git clone https://github.com/wallarm/gotestwaf.git を実行し、GoTestWAF ファイルをローカル コンピューターにダウンロードします。

    Screenshot of cloning the gotestwaf repository with Git.

  4. cd gotestwaf コマンドを使用してディレクトリを gotestwaf フォルダーに変更します。

    Screenshot of changing directory to gotestwaf folder with Git.

  5. 次のコマンドを実行して、セキュリティ ポリシーが機能しているかどうかをテストします。 '<EVALUATE_SECURITY_SOLUTION_URL> を、このユニットの冒頭のエンドポイントの URL に置き換えます。

    go run ./cmd --url=<EVALUATED_SECURITY_SOLUTION_URL> --verbose
    
  6. WAF ポリシー設定を正しく構成した場合は、出力に Baseline attack status code: 999 が表示されます。 この応答状態コードは、WAF が要求をブロックする場合に構成したのと同じものです。

    Screenshot of running GoTestWAF with Git and displaying 999 status code.

これで、Web Application Firewall (WAF) ポリシーによって保護された自動車 Web アプリケーションが完全に機能するようになりました。