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

演習のシナリオ

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

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

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

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

    メモ: このラボをご自分のペースでクリックして進めることができる、 ラボの対話型シミュレーション が用意されています。 対話型シミュレーションとホストされたラボの間に若干の違いがある場合がありますが、示されている主要な概念とアイデアは同じです。

予想所要時間: 30 分

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

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

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

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

  3. [+ 作成] を選択して、Web アプリを作成します。

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

    設定 Value
    サブスクリプション サブスクリプションを選択します。
    Resource group リソース グループ ContosoResourceGroup を選択する
    Name Web アプリの一意の名前を入力します。 この例では WebAppContoso-1 を使用します。
    発行 [コード] を選択します。
    ランタイム スタック [.NET 8 (LTS)] を選びます。
    オペレーティング システム [Windows] を選択します。
    リージョン [米国中部] を選択します。
    Windows プラン [新規作成] を選択し、テキスト ボックスに「myAppServicePlanCentralUS」と入力します。
    料金プラン Standard S1 100 total ACU, 1.75 GB memory を選択します。
  5. [確認および作成] を選択し、[概要] を確認して、[作成] を選択します。 ‎デプロイが完了するまでに数分かかる場合があります。

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

  7. [+ 作成] を選択して、Web アプリを作成します。

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

    設定 Value
    サブスクリプション サブスクリプションを選択します。
    Resource group リソース グループ ContosoResourceGroup を選択する
    Name Web アプリの一意の名前を入力します。 この例では WebAppContoso-2 を使用します。
    発行 [コード] を選択します。
    ランタイム スタック [.NET 8 (LTS)] を選びます。
    オペレーティング システム [Windows] を選択します。
    リージョン [East US(米国東部)] を選択します。
    Windows プラン [新規作成] を選択し、テキスト ボックスに「myAppServicePlanEastUS」と入力します。
    料金プラン Standard S1 100 total ACU, 1.75 GB memory を選択します。
  9. [確認および作成] を選択し、[概要] を確認して、[作成] を選択します。 ‎デプロイが完了するまでに数分かかる場合があります。

    注: デプロイ エラーが発生した場合は、通知をよくお読みください。 クォータが原因でリージョンの可用性に関するエラーが発生した場合は、別のリージョンに変更してみてください。

タスク 2: アプリケーション用のフロント ドアを作成する

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

  1. Azure Portal 上の任意のページで、 [リソース、サービス、ドキュメントの検索 (G+/)]Search for Front Door and CDN profiles の順に選択し、フロント ドアと CDN プロファイルを選択します。

  2. Create front door and CDN profiles を選択します。 Compare offerings ページで、 [簡易作成] を選択します。 次に、 Continue to create a Front Door を選択します。

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

    設定 Value
    サブスクリプション サブスクリプションを選択します。
    Resource group [ContosoResourceGroup] を選択します
    リソース グループの場所 既定の設定を使用します
    名前 このサブスクリプションで一意の名前を入力します (FrontDoor(イニシャル) など)。
    レベル Standard
    エンドポイント名 FDendpoint
    配信元の種類 App Service
    配信元のホスト名 以前にデプロイした 1つ目のWeb アプリの名前
  4. [確認と作成] を選択し、次に [作成] を選択します。

  5. リソースのデプロイを待ってから、 [リソースに移動] を選択します。

  6. [概要] ブレードの Front Door リソースで配信元グループを見つけ、作成された配信元グループを選択します

  7. 配信元グループを更新するには、一覧から名前 default-origin-group を選択します。 Add an origin を選択し、2 つ目の Web アプリを追加します。 [追加] を選択し、[更新] を選択します。

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

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

  1. [概要] ブレードの Front Door リソースで、エンドポイント用に作成されたエンドポイント ホスト名を探します。 これは、fdendpoint の後にハイフンとランダムな文字列が続きます。 たとえば、fdendpoint-fxa8c8hddhhgcrb9.z01.azurefd.net などです。 この FQDN をコピーします。

  2. 新しいブラウザー タブで、Front Door エンドポイントの FQDN に移動します。 既定の App Service ページが表示されます。 App Service の情報ページが表示されているブラウザー

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

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

  5. いずれかの Web アプリを選択し、[停止] を選択し、[はい] を選択して確認します。

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

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

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

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

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

    App Service のエラー ページが表示されているブラウザー

    お疲れさまでした。 これで、Azure Front Door の構成とテストが完了しました。

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

:新規に作成し、使用しなくなったすべての Azure リソースを削除することを忘れないでください。 使用していないリソースを削除することで、予期しない料金が発生しなくなります。

  1. Azure portal で、 [Cloud Shell] ペイン内に PowerShell セッションを開きます。

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

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

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

Copilot を使用して学習を拡張する

Copilot は、Azure スクリプト ツールの使用方法を学習するのに役立ちます。 Copilot は、ラボでは対象外の、またはさらに詳しい情報が必要な領域でも役立ちます。 Edge ブラウザーを開き、Copilot (右上) を選択するか、copilot.microsoft.com に移動します。 次のプロンプトを試すには数分かかります。

  • Azure Application Gateway と Azure Front Door の違いは何ですか? 各製品を使用する状況の例を提供してください。
  • Azure Front Door を構成するときに行うことのチェックリストを提供してください。
  • Azure Front Door での配信元は何で、エンドポイントとの違いは何ですか?

自習トレーニングでさらに学習する

要点

以上でラボは完了です。 このラボの要点は次のとおりです。

  • Azure Front Door は、世界中のどこでもアプリケーションを提供するクラウドベースのサービスです。
  • Azure Front Door は、レイヤー 7 の負荷分散を使用して、複数のリージョンとエンドポイントにトラフィックを分散します。
  • Azure Front Door では、HTTP/HTTPS トラフィックの分散方法を決定するさまざまなトラフィック ルーティング方法がサポートされています。 ルーティング方法は、待機時間、優先度、重み付け、セッション アフィニティです。