M08 - ユニット 3 Azure Monitor を使用してロード バランサー リソースを監視する

演習のシナリオ

この演習では、架空の組織 Contoso Ltd. 用の内部ロード バランサーを作成します。 次に、Log Analytics ワークスペースを作成し、Azure Monitor Insights を使用して内部ロード バランサーに関する情報を表示します。 [機能依存] ビューを表示してから、ロード バランサー リソースの詳細なメトリックを表示し、ロード バランサー リソースの正常性情報を表示します。 最後に、作成した Log Analytics ワークスペースにメトリックを送信するようにロード バランサーの診断設定を構成します。

次の図は、この演習でデプロイする環境を示しています。

演習で作成されるロード バランサー アーキテクチャを示す図 - ロード バランサー、VNet、サブネット、Bastionsubnet、および VM が含まれます

職務スキル

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

  • タスク 1: 仮想ネットワークを作成する
  • タスク 2: ロード バランサーを作成する
  • タスク 3: バックエンド プールを作成する
  • タスク 4: 正常性プローブを作成する
  • タスク 5: ロード バランサーの規則を作成する
  • タスク 6: バックエンド サーバーを作成する
  • タスク 7: バックエンド プールに VM を追加する
  • タスク 8: ロード バランサーをテストする
  • タスク 9: Log Analytics ワークスペースを作成する
  • タスク 10: [機能依存] ビューを使う
  • タスク 11: 詳細なメトリックを表示する
  • タスク 12: リソース正常性を表示する
  • タスク 13: 診断設定を構成する

推定時間: 55 分

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

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

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

  2. Azure portal で、「仮想ネットワーク」を検索して選択します。

  3. [+ 作成] を選択します。

    Create virtual network

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

    設定 Value
    サブスクリプション ご利用のサブスクリプションを選択します
    Resource group [新規作成] を選択します

    名前: IntLB-RG
    名前 IntLB-VNet
    リージョン (米国) 米国西部
  5. [次へ:セキュリティ] を選択します。

  6. [BastionHost] で、[有効化] を選択し、以下の表の情報を入力します。

    設定 Value
    要塞名 myBastionHost
    パブリック IP アドレス [新規作成] を選択します

    名前: myBastionIP
  7. [次へ :IP アドレス] を選択します。

  8. IP アドレスを削除し[IPv4 アドレス空間] に、 「10.1.0.0/16」を入力します。

  9. [AzureBastionSubnet] を編集し、[開始アドレス]10.1.1.0 に変更します。 変更を 保存 します。

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

  11. これで、2 つのサブネットを持つ仮想ネットワークができたはずです。

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

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

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

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

  1. Azure portal で、「ロード バランサー」を検索して選択します

  2. [作成][Standard Load Balancer] の順に選択します。

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

    設定 Value
    [基本] タブ  
    サブスクリプション ご利用のサブスクリプションを選択します
    Resource group IntLB-RG
    名前 myIntLoadBalancer
    リージョン (米国) 米国西部
    SKU Standard
    Type 内部
  4. [フロントエンド IP 構成] タブに移動し、[+ フロントエンド IP 構成の追加] を選択します。

    設定
    [名前] LoadBalancerFrontEnd
    [仮想ネットワーク] IntLB-VNet
    [サブネット] myBackendSubnet
    [IP アドレス割り当て] 動的
  5. 選択内容を保存してから、[確認および作成] を選択します。

  6. 検証が成功したら、[作成] を選択します。

タスク 3: バックエンド プールを作成する

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

  1. Azure portal で、「myIntLoadBalancer」リソースを検索して選択します。

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

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

    設定 Value
    名前 myBackendPool
    仮想ネットワーク IntLB-VNet
    バックエンド プールの構成 NIC
  4. [保存] を選択します。

    ロード バランサーで作成されたバックエンド プールを表示する

タスク 4: 正常性プローブを作成する

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

  1. ロード バランサー リソースで [設定] を選択し、[正常性プローブ] を選択してから、[追加] を選択します。

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

    設定 Value
    名前 myHealthProbe
    プロトコル HTTP
    Port 80
    パス /
    Interval 15
  3. [保存] を選択します。

    ロード バランサーで作成された正常性プローブを表示する

タスク 5: ロード バランサーの規則を作成する

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

  1. ロード バランサー リソースで [設定] を選択し、[負荷分散規則] を選択してから、[追加] を選択します。

    設定 Value
    名前 myHTTPRule
    IP バージョン IPv4
    フロントエンド IP アドレス LoadBalancerFrontEnd
    バックエンド プール myBackendPool
    Protocol TCP
    Port 80
    バックエンド ポート 80
    正常性プローブ myHealthProbe
    セッション永続化 なし
    アイドル タイムアウト (分) 15
    フローティング IP 無効

    ロード バランサーで作成された負荷分散規則を表示する

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

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

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

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

  3. 次の ARM テンプレートをデプロイして、この演習に必要な仮想ネットワーク、サブネット、VM を作成します。 注意: 管理者パスワードを入力するように求められます。

    $RGName = "IntLB-RG"
    New-AzResourceGroupDeployment -ResourceGroupName $RGName -TemplateFile azuredeploy.json -TemplateParameterFile azuredeploy.parameters.json
    
  4. デプロイには数分かかることがあります。 仮想マシン リソース ページを更新することで、ポータルで進行状況を確認できます。

タスク 7: バックエンド プールに VM を追加する

  1. Azure portal で、「myIntLoadBalancer」リソースを検索して選択します。

  2. [設定] で、[バックエンド プール] を選択し、[myBackendPool] を選択します。

  3. [IP 構成] セクションで、[追加] を選択します。

  4. 表示されているすべての仮想マシンを選択し、[追加] を選択します。

  5. [myVM1][myVM2] のチェックボックスをオンにして、[追加] を選択します。

  6. [myBackendPool] ページで、 [保存] をクリックします。

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

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

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

  1. Azure portal で、「myIntLoadBalancer」リソースを検索して選択します。

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

  3. myVM3」を検索して選択します。

  4. [接続] を選択してから [Bastion 経由で接続する] を選択します。

  5. [ユーザー名] ボックスに「TestUser」 と入力して、 [パスワード] ボックスに、展開中に指定したパスワードを入力して、 [接続] を選択します。

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

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

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

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

  10. ロード バランサーの IP アドレス (10.1.0.4 など) を入力 (または貼り付け) します。

  11. 2 つのバックエンド サーバー仮想マシン (myVM1 または myVM2) のどちらかが応答します。 さらにページを更新すると、応答がバックエンド サーバーからランダムに返されることがわかります。

タスク 9: Log Analytics ワークスペースを作成する

  1. Azure portal で、「Log Analytics ワークスペース」リソースを検索して選択します。

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

  3. [Log Analytics ワークスペースの作成] ページの [基本] タブで、以下の表の情報を使用してワークスペースを作成します。

    設定 Value
    サブスクリプション ご利用のサブスクリプションを選択します
    Resource group IntLB-RG
    名前 myLAworkspace
    リージョン 米国西部
  4. [確認および作成] を選択し、 [作成] を選択します。

タスク 10: [機能依存] ビューを使う

  1. Azure portal で、「myIntLoadBalancer」リソースを検索して選択します。

    Azure portal のすべてのリソースの一覧

  2. [監視][分析情報] を選択します。

  3. [メトリック] ウィンドウには、このロード バランサー リソースのいくつかの主要なメトリックが棒グラフと折れ線グラフの形式で簡易表示されます。

    Azure Monitor Network Insights - [基本メトリック] ビュー

タスク 11: 詳細なメトリックを表示する

  1. このネットワーク リソースのより包括的なメトリックを表示するには、 [詳細なメトリックの表示] を選択します。 Azure Monitor Network Insights - [詳細なメトリックの表示] ボタンが強調表示されています

  2. これにより、Azure Network Insights プラットフォームでサイズの大きい完全な [メトリック] ページが開きます。 最初に表示されるタブは [概要] タブです。このタブには、ロード バランサーの可用性状態と、ロード バランサーに接続されている各フロントエンド IP の全体的なデータ スループットとフロントエンドおよびバックエンドの可用性が表示されます。 これらのメトリックにより、フロントエンド IP が応答可能かどうか、およびバックエンド プール内のコンピューティング インスタンスが着信接続に対して個別に応答可能かどうかが示されます。 Azure Monitor Network Insights - [詳細なメトリック] ビュー - [概要] タブ

  3. [フロントエンド & バックエンドの可用性] タブを選択し、ページを下にスクロールすると、[正常性プローブの状態] グラフが表示されます。 これらの項目において 100 未満の値が表示される場合は、それらのリソースで何らかの障害が発生していることを示しています。 Azure Monitor Network Insights - [詳細なメトリック] ビュー - [正常性プローブの状態] グラフが強調表示されています

  4. [データ スループット] タブを選択し、ページを下にスクロールすると、他のデータ スループット グラフが表示されます。

  5. グラフの一部のデータ ポイントにカーソルを合わせると、値が変化してその時点での正確な値が表示されます。 Azure Monitor Network Insights - [詳細なメトリック] ビュー - [データ スループット] タブ

  6. [フロー分布] タブを選択し、ページを下にスクロールすると、 [VM フロー作成およびネットワーク トラフィック] セクションの下にグラフが表示されます。

    Azure Monitor Network Insights - [詳細なメトリック] ビュー - [VM フロー作成およびネットワーク トラフィック] グラフ

タスク 12: リソース正常性を表示する

  1. ロード バランサー リソースの正常性を表示するには、Azure portal のホームページで、 [すべてのサービス] を選択して、 [監視] を選択します。

  2. [監視 > 概要] ページの左側のメニューで、 [サービス正常性] を選択します。

  3. [サービス正常性 > サービスの問題] ページの左側のメニューで、 [リソース正常性] を選択します。

  4. [サービス正常性 > リソース正常性] ページの [リソースの種類] ドロップダウン リストで、リストを下にスクロールし、[ロード バランサー] を選択します。

    ロード バランサー リソースの「サービス正常性」 > 「リソース正常性」にアクセスします

  5. 次に、一覧から対象のロード バランサーの名前を選択します。

  6. [リソース正常性] ページでは、ロード バランサー リソースに関する主要な可用性の問題を特定します。 [正常性の履歴] セクションにイベントがある場合は、正常性イベントを展開して、イベントの詳細を表示できます。 イベントの詳細を PDF ファイルとして保存し、後で確認したりレポートしたりすることもできます。

    サービス正常性 > リソース正常性ビュー

タスク 13: 診断設定を構成する

  1. Azure portal のホーム ページで [リソース グループ] を選択して、リストから [IntLB-RG] リソース グループを選択します。

  2. [IntLB-RG] ページで、リソースの一覧から [myIntLoadBalancer] ロード バランサー リソースの名前をクリックします。

  3. [監視] で、 [診断設定] を選択してから、 [診断設定の追加] を選択します。

    診断設定>診断設定を追加するボタンが強調表示されています

  4. [診断設定] ページの名前ボックスに、「myLBDiagnostics」と入力します。

  5. [AllMetrics] チェック ボックスを選択してから、[Log Analytics ワークスペースに送信する] チェック ボックスをオンにします。

  6. リストからサブスクリプションを選択し、ワークスペースのドロップダウン リストから [myLAworkspace (westus)] を選択します。

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

    ロード バランサーの [診断設定] ページ

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

:新規に作成し、使用しなくなったすべての 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 Network Watcher 監視ツールが使用できますか?

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

要点

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

  • Azure Monitor には、Azure、その他のクラウド、オンプレミスのすべてのリソースから IT データを収集、管理、分析するための機能とツールが用意されています。
  • Azure メトリックは、アプリケーションまたはリソースのパフォーマンスのスナップショットを示す定量的な測定です。 メトリックは通常、時間の経過と同時に測定できる数値です。
  • ログは、リソースまたはアプリケーションで発生するイベント、アクション、およびメッセージのテキスト レコードです。
  • Azure Monitor の分析情報、視覚化、ダッシュボードは、アプリケーションに関する監視情報を使用したり送信したりすることができます。
  • アラートは、重大な状態を通知し、修正のためのアクションを実行できます。 アラートのルールは、メトリックまたはログ データに基づいて決めることができます。