M04-ユニット 4 Azure Load Balancer を作成および構成する

この演習では、架空の組織 Contoso Ltd. 用の内部ロード バランサーを作成します。

対話型ラボ シミュレーション

: 以前提供されていたラボ シミュレーションは廃止されました。

推定時間: 60 分 (最大 45 分のデプロイ待機時間を含む)

内部ロード バランサーを作成する手順は、このモジュールで既に学習した、パブリック ロード バランサーを作成する手順とよく似ています。 主な違いは、パブリック ロード バランサーでは、フロントエンドにはパブリック IP アドレスを使用してアクセスされ、仮想ネットワークの外部に配置されているホストから接続をテストしますが、一方で内部ロード バランサーでは、フロントエンドは仮想ネットワーク内のプライベート IP アドレスであり、同じネットワーク内のホストから接続をテストします。

内部 Standard Load Balancer の図

職務スキル

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

  • タスク 1: 仮想ネットワークを作成する
  • タスク 2: バックエンド サーバーを作成する
  • タスク 3: ロード バランサーを作成する
  • タスク 4: ロード バランサーのリソースを作成する
  • タスク 5: ロード バランサーをテストする

タスク 1: 仮想ネットワークを作成する

このセクションでは、仮想ネットワークとサブネットを作成します。

  1. Azure ポータルにログインします。

  2. Azure portal のホーム ページで、グローバル検索バーに移動し、「仮想ネットワーク」を検索して、[サービス] の下の仮想ネットワークを選択します。 仮想ネットワークに対する Azure portal のホーム ページのグローバル検索バーの結果。

  3. 仮想ネットワーク ページで、[作成] を選択します。 仮想ネットワークの作成ウィザード。

  4. [基本] タブで、次の表の情報を使用して仮想ネットワークを作成します。

    設定 Value
    サブスクリプション サブスクリプションを選択します。
    Resource group [新規作成] を選択 名前: IntLB-RG
    名前 IntLB-VNet
    リージョン (米国) 米国東部
  5. [次へ] を選択します ([セキュリティ] タブが表示されます)。

  6. [Azure Bastion] で、[Azure Bastion を有効にする] を選択し、以下の表の情報を入力します。

    設定 Value
    ホスト名 myBastionHost
    パブリック IP アドレス [パブリック IP アドレスの作成] を選択し、[名前] を myBastionIP に設定します。
  7. [次へ] を選択します ([IP アドレス] タブが表示されます)。

  8. [IP アドレス] タブの [IPv4 アドレス空間] ボックスで、既定値を削除してから「10.1.0.0/16」と入力します。

  9. [IP アドレス] タブで [+ サブネットの追加] を選択します。

  10. [サブネットの追加] ペインで、サブネット名を myBackendSubnet に、サブネット アドレス範囲を 10.1.0.0/24 に設定します。 [追加] を選択します

  11. [サブネットの追加] を選択し、サブネット名を myFrontEndSubnet、サブネット アドレス範囲を 10.1.2.0/24 に設定します。 [追加] を選択します

  12. Azure Bastion に関する通知で、[Azure Bastion サブネットの追加] を選択します

  13. Review + create を選択します。

  14. [作成] を選択します

タスク 2: バックエンド サーバーを作成する

このセクションでは、ロード バランサーのバックエンド プールに対して同じ可用性セットに含まれる 3 つの VM を作成し、それらの VM をバックエンド プールに追加してから、3 つの VM に IIS をインストールしてロード バランサーをテストします。

  1. Azure portal で、右上の [Cloud Shell] アイコンを選択します。 必要に応じて、シェルを構成します。
    • [PowerShell] を選択します。
    • [ストレージ アカウントは必要ありません][サブスクリプション] を選択してから、[適用] を選択します。
    • ターミナルが作成され、プロンプトが表示されるまで待ちます。
  2. Cloud Shell 画面のツールバーで、[ファイルのアップロード/ダウンロード] アイコンを選択し、ドロップダウン メニューで [アップロード] を選択して、azuredeploy.json と azuredeploy.parameters.json というファイルを Cloud Shell のホーム ディレクトリにアップロードします。

    注: 自分のサブスクリプションで作業している場合、テンプレート ファイルは GitHub ラボ リポジトリで入手できます。

  3. 次の ARM テンプレートをデプロイして、この演習に必要な VM を作成します。

    : 管理者パスワードを入力するように求められます。

    $RGName = "IntLB-RG"
       
    New-AzResourceGroupDeployment -ResourceGroupName $RGName -TemplateFile azuredeploy.json -TemplateParameterFile azuredeploy.parameters.json
    

これらの 3 つの VM の作成には 5 分から 10 分かかる場合があります。 このジョブが完了するまで待つ必要はありません。すぐに次のタスクを続行できます。

タスク 3: ロード バランサーを作成する

このセクションでは、Standard SKU の内部ロード バランサーを作成します。 この演習で、Basic SKU のロード バランサーではなく、Standard SKU のロード バランサーを作成する理由は、後の演習で Standard SKU バージョンのロード バランサーが必要となるためです。

  1. Azure portal のホーム ページで [リソースの作成] を選択します。

  2. ページ上部の検索ボックスに「Load Balancer」と入力して、Enter キーを押します (注: 一覧からは選択しないでください)。

  3. 結果ページで、[ロード バランサー] (名前の下に “Microsoft” と “Azure Service” と表示されているもの) を見つけ、選択します。

  4. [作成] を選択します

  5. [基本] タブで、以下の表の情報を使用して、ロード バランサーを作成します。

    設定 Value
    サブスクリプション サブスクリプションを選択します。
    Resource group IntLB-RG
    名前 myIntLoadBalancer
    リージョン (米国) 米国東部
    SKU Standard
    Type 内部
    レベル Regional
  6. [次へ: フロントエンド IP 構成] を選択します。

  7. [フロントエンド IP の追加] を選択します。

  8. [フロントエンド IP アドレスの追加] ブレードで、次の表の情報を入力し、 [追加] を選びます。

    設定 Value
    名前 LoadBalancerFrontEnd
    仮想ネットワーク IntLB-VNet
    Subnet myFrontEndSubnet
    割り当て 動的
  9. Review + create を選択します。

  10. [作成] を選択します

タスク 4: ロード バランサーのリソースを作成する

このセクションでは、バックエンド アドレス プールのロード バランサー設定を構成し、正常性プローブとロード バランサーの規則を指定します。

バックエンド プールを作成してバックエンド プールに VM を追加する

バックエンド アドレス プールには、ロード バランサーに接続された仮想 NIC の IP アドレスが含まれています。

  1. Azure portal のホームページで、 [すべてのリソース] を選択して、リソースの一覧から [myIntLoadBalancer] を選択します。

  2. [設定] で、 [バックエンド プール][追加] の順に選択します。

  3. [バックエンド プールの追加] ページで、以下の表の情報を入力します。

    設定 Value
    名前 myBackendPool
    仮想ネットワーク IntLB-VNet
  4. [仮想マシン][追加] を選択します。

  5. 3 つの VM (myVM1myVM2myVM3) のチェックボックスをオンにして、 [追加] を選択します。

  6. [保存] を選択します。 画像 7

正常性プローブの作成

ロード バランサーは、正常性プローブを使用してアプリの状態を監視します。 正常性プローブは、正常性チェックへの応答に基づいて、ロード バランサーに含める VM を追加したり削除したりします。 ここでは、正常性プローブを作成して、VM の正常性を監視します。

  1. [設定] で、 [正常性プローブ][追加] の順に選択します。

  2. [正常性プローブの追加] ページで、次の表の情報を入力します。

    設定 Value
    名前 myHealthProbe
    Protocol HTTP
    Port 80
    パス /
    Interval 15
  3. [追加] を選択します。 画像 5

ロード バランサー規則の作成

ロード バランサー規則の目的は、一連の VM に対するトラフィックの分散方法を定義することです。 着信トラフィック用のフロントエンド IP 構成と、トラフィックを受信するためのバックエンド IP プールを定義します。 送信元と送信先のポートは、この規則で定義します。 ここでは、ロード バランサーの規則を作成します。

  1. [設定] で、[負荷分散規則][追加] の順に選択します。

  2. [負荷分散規則の追加] ページで、次の表の情報を入力します。

    設定 Value
    名前 myHTTPRule
    IP バージョン IPv4
    フロントエンド IP アドレス LoadBalancerFrontEnd
    バックエンド プール myBackendPool
    Protocol TCP
    Port 80
    バックエンド ポート 80
    正常性プローブ myHealthProbe
    セッション永続化 なし
    アイドル タイムアウト (分) 15
    フローティング IP 無効
  3. [保存] を選択します。 画像 6

タスク 5: ロード バランサーをテストする

このセクションでは、テスト VM を作成し、ロード バランサーをテストします。

テスト VM を作成する

  1. Azure portal のホーム ページで、 [リソースの作成][仮想] の順に選択して、 [仮想マシン] を選択します (このリソースの種類がページに表示されていない場合は、ページの上部にある [検索] ボックスを使用してそれを検索し、選択します)。

  2. [仮想マシンの作成] ページの [基本] タブで、以下の表の情報を使用して最初の VM を作成します。

    設定 Value
    サブスクリプション サブスクリプションを選択します。
    Resource group IntLB-RG
    仮想マシン名 myTestVM
    リージョン (米国) 米国東部
    可用性のオプション インフラストラクチャ冗長は必要ありません
    Image Windows Server 2019 Datacenter - Gen 2
    サイズ Standard_DS2_v3 - 2 vcpu、8 GiB メモリ
    ユーザー名 TestUser
    パスワード セキュリティで保護されたパスワードを指定する
    パスワードの確認 セキュリティで保護されたパスワードを指定する
  3. [次へ:ディスク] を選択して、 [次へ:ネットワーク] を選択します。

  4. [ネットワーク] タブで、以下の表の情報を使用してネットワーク設定を構成します。

    設定 Value
    仮想ネットワーク IntLB-VNet
    Subnet myBackendSubnet
    パブリック IP [なし] に変更する
    NIC ネットワーク セキュリティ グループ 詳細
    ネットワーク セキュリティ グループを構成する 既存の [(新規)myTestVMNSG] のまま
    負荷分散のオプション なし
  5. Review + create を選択します。

  6. [作成] を選択します

  7. 次のタスクに進む前に、この最後の VM がデプロイされるのを待ちます。

テスト VM に接続してロード バランサーをテストする

  1. Azure portal のホームページで、 [すべてのリソース] を選択して、リソースの一覧から [myIntLoadBalancer] を選択します。

  2. [概要] ページで、プライベート IP アドレスをメモするか、クリップボードにコピーします。 注: [プライベート IP アドレス] フィールドを表示するには、 [もっと見る] を選択しなくてはならない場合があります。

  3. [ホーム] を選択してから、Azure portal ページで [すべてのリソース] を選択して、先ほど作成した myTestVM 仮想マシンを選択します。

  4. [概要] ページで [接続][要塞] の順に選択します。

  5. [Bastion を使用する] を選択します。

  6. [ユーザー名] ボックスに「TestUser」 と入力し、 [パスワード] ボックスに作成したパスワードを入力して、 [接続] を選択します。 ポップアップ ブロッカーにより新しいウィンドウが開かれないようになっている場合は、ポップアップ ブロッカーで許可し、もう一度 [接続] をクリックします。

  7. [myTestVM] ウィンドウが別のブラウザー タブで開きます。

  8. [ネットワーク] ペインが表示されたら、 [はい] を選択します。

  9. タスク バーの [Internet Explorer] アイコンをクリックして、Web ブラウザーを開きます。

  10. [Internet Explorer 11 の設定] ダイアログ ボックスで、 [OK] を選択します。

  11. 前の手順のプライベート IP アドレス (例: 10.1.0.4) をブラウザーのアドレス バーに入力し (または貼り付け)、Enter キーを押します。

  12. IIS Web サーバーの既定の Web ホーム ページがブラウザー ウィンドウに表示されます。 バックエンド プール内の 3 つの仮想マシンの 1 つによって応答が返されます。 画像 8

  13. ブラウザーで更新ボタンを数回選択すると、内部ロード バランサーのバックエンド プール内の異なる VM からランダムに応答が返されるのを確認できます。 画像 9

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

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

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

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

    Remove-AzResourceGroup -Name 'IntLB-RG' -Force -AsJob
    

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

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

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

  • Azure のパブリック ロード バランサーとプライベート ロード バランサーの違いは何ですか? 各種類のシナリオ例を提供してください。
  • Azure ロード バランサーの Basic SKU と Standard SKU を比較する表を提供してください。
  • Azure ロード バランサーは、受信要求の処理方法をどのように決定しますか?

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

要点

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

  • “負荷分散” とは、受信ネットワーク トラフィックをバックエンド サーバーまたはリソースのグループ全体に効率的に分散することを指します。
  • Azure Load Balancer によって、ロード バランサーのフロント エンドからの受信フローが、バックエンド プールのインスタンスに分散されます。 このフローは、構成された負荷分散規則と正常性プローブに従って分散されます。 バックエンド プール インスタンスは、Azure 仮想マシンや、仮想マシン スケール セットです。
  • Azure では、パブリックとプライベートの両方のロード バランサーが提供されます。 パブリック ロード バランサーは、インターネットに接続するアプリケーション、送信接続、Web アプリケーションに最適です。 内部アプリケーション、バックエンド サービス、およびハイブリッドのシナリオには、プライベート ロード バランサーの方が適しています。