M05-ユニット 6 Azure portal を使用して高可用性 Web アプリケーションのフロント ドアを作成する

この演習では、異なる Azure リージョンで実行される Web アプリケーションの 2 つのインスタンスをプールする Azure Front Door 構成をセットアップします。この構成では、アプリケーションが実行されている最も近いサイトにトラフィックが誘導されます。Web アプリケーションは、Azure Front Door によって絶えず監視されます。最も近いサイトが利用できない状態になると、サービスによって、使用可能な次のサイトへの自動フェールオーバーが行われることをデモします。ネットワーク構成を次の図に示します。

Azure Front Door のネットワーク構成

この演習では、次のことを行います。

  • タスク 1: Web アプリの 2 つのインスタンスを作成する
  • タスク 2: アプリケーション用の Front Door を作成する
  • タスク 3: Azure Front Door の動作を確認する
  • タスク 4: リソースをクリーン アップする

タスク 1: Web アプリの 2 つのインスタンスを作成する

この演習には、別々の Azure リージョンで実行される、Web アプリケーションの 2 つのインスタンスが必要です。どちらの Web アプリケーション インスタンスもアクティブ/アクティブ モードで実行されるため、どちらでもトラフィックを受け入れることができます。この構成は、一方がフェールオーバーとして機能するアクティブ/スタンバイ構成とは異なります。

  1. Azure portal (https://portal.azure.com) にサインインします。

  2. Azure portal の「ホーム」ページで、グローバル検索を使用して、「WebApp」と入力し、サービスの下で、「App Services」を選択します。

  3. + 作成」をクリックして、Web アプリを作成します。

  4. 「Web アプリの作成」ページの「基本」タブで、次の情報を入力または選択します。

    設定
    サブスクリプション サブスクリプションを選択します。
    リソース グループ リソース グループ ContosoResourceGroup を選択する
    名前 Web アプリの一意の名前を入力します。この例では WebAppContoso-1 を使用します。
    公開 コード」を選択します。
    ランタイム スタック NET Core 3.1 (LTS)」を選択します。
    オペレーティング システム Windows」を選択します。
    リージョン 米国中部」を選択します。
    Windows プラン 新規作成」を選択し、テキスト ボックスに「myAppServicePlanCentralUS」と入力します。
    SKU とサイズ Standard S1 100 total ACU、1.75 GB メモリを選択します。
  5. Review + create」を選択し、「概要」を確認して、「作成」を選択します。
    ‎デプロイが完了するまでに数分かかる場合があります。

  6. 2 番目の Web アプリを作成します。Azure portal のホーム ページで、「WebApp」を検索します。

  7. + 作成」をクリックして、Web アプリを作成します。

  8. 「Web アプリの作成」ページの「基本」タブで、次の情報を入力または選択します。

    設定
    サブスクリプション サブスクリプションを選択します。
    リソース グループ リソース グループ ContosoResourceGroup を選択する
    名前 Web アプリの一意の名前を入力します。この例では WebAppContoso-2 を使用します。
    公開 コード」を選択します。
    ランタイム スタック NET Core 3.1 (LTS)」を選択します。
    オペレーティング システム Windows」を選択します。
    リージョン 米国東部」を選択します。
    Windows プラン 新規作成」を選択し、テキスト ボックスに「myAppServicePlanEastUS」と入力します。
    SKU とサイズ Standard S1 100 total ACU、1.75 GB メモリを選択します。
  9. Review + create」を選択し、「概要」を確認して、「作成」を選択します。
    ‎デプロイが完了するまでに数分かかる場合があります。

タスク 2: アプリケーション用の Front Door を作成する

2 つの Web アプリ サーバーのうち待ち時間が短い方にユーザー トラフィックを誘導するように Azure Front Door を構成します。最初に、Azure Front Door のフロントエンド ホストを追加します。

  1. Azure portal ページの「リソース、サービス、ドキュメントの検索 (G+/)」で、Front Doors と入力し、結果から「Front Doors」を選択します。

    Azure portal で Front Door を検索する

  2. 「Front Door と CDN プロファイル」ページで、「+ 作成」を選択し、次のページで「簡易作成」を選択します。次に、[Continue to …]を選択して、[Front Door]を作成します。

  3. [基本]タブで、以下の情報を入力または選択します。

設定
サブスクリプション サブスクリプションを選択します。
リソースグループ ContosoResourceGroupを選択します。
リソースグループの場所 デフォルトの設定を受け入れる
名前 FrontDoor(yourinitials)のように、このサブスクリプションでユニークな名前を入力します。
階層 Standard
エンドポイント名 FDendpoint
オリジンタイプ App Service
オリジンホスト名 最初に作成した Web アプリを選択します。
  1. 確認及び作成」、「作成」の順に選択します。

  2. リソースがデプロイされるのを待ち、[リソースに移動]を選択します。

  3. 概要ブレードのFront Doorリソースで、「配信元グループ」を探し、作成されたオリジングループを選択します。

  4. Origin Group を更新するには、リストから default-origin-group という名前を選択します。[配信元の追加]を選択し、2つ目のWeb Appを追加します。[追加] を選択し、[更新] を選択します。

タスク 3: Azure Front Door の動作を確認する

フロント ドアを作成した後、グローバルに構成がデプロイされるまでに数分かかります。完了したら、作成したフロントエンド ホストにアクセスします。

  1. Azure portal で、Front Door フロントエンドに移動します。「リソースに移動」を選択します。または、「リソース、サービス、ドキュメントの検索 (G+/)」で、Front Doors を入力し、結果から「Front Doors」を選択してから、Front Doors を選択します。

  2. 「Front Door」ページで、フロントエンド ホストの URL をメモします。この演習では contoso-frontend.azurefd.net を使用しますが、名前が一意になるように変更した可能性があります。

    Azure portal フロントエンド ページ - フロントエンド URL を確認する

  3. ブラウザーで、フロントエンド ホスト URL (contoso-frontend.azurefd.net) にアクセスします。要求は、バックエンド プール内の指定されたサーバーの中から、自分に最も近いサーバーに自動的にルーティングされます。

  4. 次の情報ページが表示されます。

    App Service 情報ページを表示するブラウザー

  5. 即時グローバル フェールオーバーの動作をテストするために、次の手順を試してみましょう。

  6. Azure portal に切り替え、「App Services」を検索して選択します。

  7. Web アプリの 1 つを選択し、「停止」を選択してから、「はい」を選択して確認します。

    停止した Web アプリを表示する Azure portal

  8. ブラウザーに戻り、「更新」を選択します。同じ情報ページが表示されるはずです。

Web アプリの停止中に遅延が発生する場合があります。ブラウザーにエラーページが表示された場合は、ページを更新してください

  1. Azure portal に戻り、他の Web アプリを見つけて、停止します。

  2. ブラウザーに戻り、「更新」を選択します。今回はエラー メッセージが表示されます。

    App Service エラーページを表示するブラウザー

    お疲れさまでした! Azure Front Door を構成およびテストしました。

    タスク 4: リソースをクリーン アップする

    : 新しく作成した Azure リソースのうち、使用しないリソースは必ず削除してください。使用しないリソースを削除しないと、予期しないコストが発生する場合があります。

  3. Azure portal の 「Cloud Shell」 ウィンドウで 「PowerShell」 セッションを開きます。

  4. 次のコマンドを実行して、このモジュールのラボ全体で作成したすべてのリソース グループのリストを削除します。

    
    Remove-AzResourceGroup -Name 'ContosoResourceGroup' -Force -AsJob
    
    

    : コマンドは非同期で実行されるので (-AsJob パラメーターによって決定されます)、別の PowerShell コマンドを同一 PowerShell セッション内ですぐに実行できますが、リソース グループが実際に削除されるまでに数分かかります。