演習 - 自分の 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 アプリのホーム ページが表示されることを確認します。 使っている Web サーバーの名前がフッターに表示されます (webServer1 または webServer2)。

    車両登録 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/ が指定されている URL は 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 サイトにセキュリティ保護が自動的に追加されています。 これは、よくある脆弱性に対する確実な保護レイヤーを提供するもので、インフラストラクチャとデータの保護に役立ちます。