演習 - 自分の Application Gateway をテストする

完了

最後の手順では、アプリケーション ゲートウェイをテストし、負荷分散が実装されていることを確認し、使用できない Web サーバーにトラフィックを転送しません。 また、パスベースのルーティングが正しく動作していることも確認します。

デプロイされたリソースを示す図。

車両登録 Web アプリの負荷分散をテストする

  1. Cloud Shell で次のコマンドを実行して、Application Gateway のルート URL を生成します。

    echo http://$(az network public-ip show \
      --resource-group $RG \
      --name appGatewayPublicIp \
      --query dnsSettings.fqdn \
      --output tsv)
    
  2. Web ブラウザーを使って、前のコマンドで返された URL の Web サイトに移動します。 これは、自分のアプリケーション ゲートウェイのアドレスです。 車両登録 Web アプリのホーム ページが表示されることを確認します。 フッター (webServer1 または webServer2 ) に示されているように、使用している Web サーバーの名前に注意してください。

    車両登録 Web アプリの画像を示すスクリーンショット。

  3. Web ブラウザーのアドレス バーで [最新の情報に更新 ] を選択します。 今度はセッションが別の Web サーバーに接続されることに注意してください。 この構成のアプリケーション ゲートウェイでは、ラウンドロビンの負荷分散が使われます。

  4. [ 車両の登録] を選択し、車両の詳細を入力して、[ 登録] を選択します。

  5. [更新] を数回選択してください。 要求がサーバー間で切り替わるはずです。

サーバーの障害に対する Application Gateway の回復性をテストする

  1. Cloud Shell で次のコマンドを実行して、 webServer1 の仮想マシンを停止して割り当てを解除します。

    az vm deallocate \
      --resource-group $RG \
      --name webServer1
    
  2. Web ブラウザーでアプリケーションに戻り、[ 更新 ] を複数回選択します。 Web ブラウザーが WebServer2 にのみ接続していることに注意してください。

  3. 右側の Cloud Shell ウィンドウで、 webServer1 インスタンスを再起動します。

    az vm start \
      --resource-group $RG \
      --name webServer1
    
  4. Web ブラウザーで Web アプリケーションに戻り、[ 更新 ] を複数回選択します。 要求が両方の Web サーバーに再び分散されるようになることがわかるはずです。

Web アプリケーションが実行されていることを確認しました。 Application Gateway では、負荷分散を使って要求がサーバー間に分散されます。 Application Gateway では、サーバーで障害が発生しているかどうかが検出され、使用できないサーバーには要求はルーティングされません。

パスベースのルーティングをテストする

次に、パスベースのルーティングをテストしてみましょう。 サイトのルートへの URL と /VehicleRegistration/ が VM を含む vmPool にルーティングされ、 /LicenseRenewal/ への要求が App Service を含む appServicePool にルーティングされることを思い出してください。

車両登録ページを表示できたため、ルートページへのルーティングが正常に機能していることを確認しました。 他のルートが動作することを確認してみましょう。

  1. 次に、アプリケーション ゲートウェイ ページで [車両の登録 ] を選択します。 これにより、車両登録サイトの [車両登録] ページが表示されます。 URL に /VehicleRegistration/ を指定すると、車両登録サイトが実行されている vmPool にルーティングされます。

    車両登録 Web アプリを示すスクリーンショット。

  2. 今度は、http://<vehicleAppGateway>/LicenseRenewal/Create にアクセスします。 これにより、App Service で実行されている免許更新ページに移動します。 URL に /LicenseRenewal/ を指定すると、ライセンス更新サイトが実行されている appServicePool にルーティングされます。

    ライセンス更新 Web アプリの画像を示すスクリーンショット。

この構成では、両方のサイトに対するすべてのユーザーを Application Gateway を通して転送することができ、ユーザーは 1 つのルート URL を憶えるだけで済みます。 Web プレゼンスを拡大するときは、新しいサイトを追加できます。

Web アプリケーション ファイアウォール

このアプリケーション ゲートウェイでは、WAF も有効にしました。 このようにすることで、両方の Web サイトにセキュリティ保護が自動的に追加されています。 これは、よくある脆弱性に対する確実な保護レイヤーを提供するもので、インフラストラクチャとデータの保護に役立ちます。