M08 - ユニット 3 Azure Monitor を使用してロード バランサー リソースを監視する
演習のシナリオ
この演習では、架空の組織 Contoso Ltd. 用の内部ロード バランサーを作成します。 次に、Log Analytics ワークスペースを作成し、Azure Monitor Insights を使用して内部ロード バランサーに関する情報を表示します。 [機能依存] ビューを表示してから、ロード バランサー リソースの詳細なメトリックを表示し、ロード バランサー リソースの正常性情報を表示します。 最後に、作成した Log Analytics ワークスペースにメトリックを送信するようにロード バランサーの診断設定を構成します。
次の図は、この演習でデプロイする環境を示しています。
職務スキル
この演習では、次のことを行います。
- タスク 1: 仮想ネットワークを作成する
- タスク 2: ロード バランサーを作成する
- タスク 3: バックエンド プールを作成する
- タスク 4: 正常性プローブを作成する
- タスク 5: ロード バランサーの規則を作成する
- タスク 6: バックエンド サーバーを作成する
- タスク 7: バックエンド プールに VM を追加する
- タスク 8: ロード バランサーをテストする
- タスク 9: Log Analytics ワークスペースを作成する
- タスク 10: [機能依存] ビューを使う
- タスク 11: 詳細なメトリックを表示する
- タスク 12: リソース正常性を表示する
- タスク 13: 診断設定を構成する
対話型ラボ シミュレーション
注: 以前提供されていたラボ シミュレーションは廃止されました。
推定時間: 55 分
タスク 1: 仮想ネットワークを作成する
このセクションでは、仮想ネットワークとサブネットを作成します。
-
Azure ポータルにログインします。
-
Azure portal のホーム ページで、「仮想ネットワーク」を検索して、[サービス] で仮想ネットワークを選択します。
-
[+ 作成] を選択します。
-
[基本] タブで、次の表の情報を使用して仮想ネットワークを作成します。
設定 Value サブスクリプション サブスクリプションを選択します。 Resource group [新規作成] を選択します
名前: IntLB-RG名前 IntLB-VNet リージョン (米国) 米国西部 -
[次へ :IP アドレス] を選択します。
-
[IP アドレス] タブの [IPv4 アドレス空間] ボックスに、「10.1.0.0/16」と入力します。
-
[サブネット名] で、 [+ サブネットの追加] を選択します。
-
[サブネットの追加] ペインで、サブネット名を myBackendSubnet に、サブネット アドレス範囲を 10.1.0.0/24 に設定します。
-
[追加] を選択します。
-
[次へ:セキュリティ] を選択します。
-
[BastionHost] で、[有効化] を選択し、以下の表の情報を入力します。
設定 Value 要塞名 myBastionHost [AzureBastionSubnet のアドレス空間] 10.1.1.0/24 パブリック IP アドレス [新規作成] を選択します
名前: myBastionIP -
Review + create を選択します。
-
[作成] を選択します
タスク 2: ロード バランサーを作成する
このセクションでは、Standard SKU の内部ロード バランサーを作成します。 この演習で、Basic SKU のロード バランサーではなく、Standard SKU のロード バランサーを作成する理由は、後の演習で Standard SKU バージョンのロード バランサーが必要となるためです。
-
Azure ホーム ページで、検索バーに「Load Balancer」と入力します。
-
[ロード バランサーの作成] を選択します。
-
[基本] タブで、以下の表の情報を使用して、ロード バランサーを作成します。
設定 Value [基本] タブ サブスクリプション サブスクリプションを選択します。 Resource group IntLB-RG 名前 myIntLoadBalancer リージョン (米国) 米国西部 SKU Standard Type 内部 フロントエンド IP 構成タブ + フロントエンド IP 構成の追加 名前 LoadBalancerFrontEnd 仮想ネットワーク IntLB-VNet Subnet myBackendSubnet IP アドレスの割り当て 動的 -
Review + create を選択します。
-
[作成] を選択します
タスク 3: バックエンド プールを作成する
バックエンド アドレス プールには、ロード バランサーに接続された仮想 NIC の IP アドレスが含まれています。
-
Azure portal のホームページで、 [すべてのリソース] を選択して、リソースの一覧から [myIntLoadBalancer] を選択します。
-
[設定] で、 [バックエンド プール] 、 [追加] の順に選択します。
-
[バックエンド プールの追加] ページで、以下の表の情報を入力します。
設定 Value 名前 myBackendPool 仮想ネットワーク IntLB-VNet バックエンド プールの構成 NIC -
[追加] を選択します。
タスク 4: 正常性プローブを作成する
ロード バランサーは、正常性プローブを使用してアプリの状態を監視します。 正常性プローブは、正常性チェックへの応答に基づいて、ロード バランサーに含める VM を追加したり削除したりします。 ここでは、正常性プローブを作成して、VM の正常性を監視します。
-
ロード バランサーの [バックエンド プール] ページの [設定] で、 [正常性プローブ] を選択して、 [追加] を選択します。
-
[正常性プローブの追加] ページで、次の表の情報を入力します。
設定 Value 名前 myHealthProbe Protocol HTTP Port 80 パス / Interval 15 -
[追加] を選択します。
タスク 5: ロード バランサーの規則を作成する
ロード バランサー規則の目的は、一連の VM に対するトラフィックの分散方法を定義することです。 着信トラフィック用のフロントエンド IP 構成と、トラフィックを受信するためのバックエンド IP プールを定義します。 送信元と送信先のポートは、この規則で定義します。 ここでは、ロード バランサーの規則を作成します。
-
ロード バランサーの [バックエンド プール] ページの [設定] で、 [負荷分散規則] を選択して、 [追加] を選択します。
-
[負荷分散規則の追加] ページで、次の表の情報を入力します。
設定 Value 名前 myHTTPRule IP バージョン IPv4 フロントエンド IP アドレス LoadBalancerFrontEnd Protocol TCP Port 80 バックエンド ポート 80 バックエンド プール myBackendPool 正常性プローブ myHealthProbe セッション永続化 なし アイドル タイムアウト (分) 15 フローティング IP 無効 -
[追加] を選択します。
タスク 6: バックエンド サーバーを作成する
このセクションでは、ロード バランサーのバックエンド プールに対して 3 つの VM を作成し、それらの VM をバックエンド プールに追加してから、3 つの VM に IIS をインストールしてロード バランサーをテストします。
- Azure portal で、右上の [Cloud Shell] アイコンを選択します。 必要に応じて、シェルを構成します。
- [PowerShell] を選択します。
- [ストレージ アカウントは必要ありません] と [サブスクリプション] を選択してから、[適用] を選択します。
- ターミナルが作成され、プロンプトが表示されるまで待ちます。
-
Cloud Shell 画面のツールバーで、[ファイルの管理] アイコンを選択し、ドロップダウン メニューで [アップロード] を選択して、azuredeploy.json と azuredeploy.parameters.json というファイルを Cloud Shell のホーム ディレクトリにアップロードします。
注: 自分のサブスクリプションで作業している場合、テンプレート ファイルは GitHub ラボ リポジトリで入手できます。
-
次の ARM テンプレートをデプロイして、この演習に必要な仮想ネットワーク、サブネット、VM を作成します。
注: 管理者パスワードを入力するように求められます。
$RGName = "IntLB-RG" New-AzResourceGroupDeployment -ResourceGroupName $RGName -TemplateFile azuredeploy.json -TemplateParameterFile azuredeploy.parameters.json
注: これには、デプロイまでに数分かかります。
タスク 7: バックエンド プールに VM を追加する
-
Azure portal のホームページで、 [すべてのリソース] を選択して、リソースの一覧から [myIntLoadBalancer] を選択します。
-
[設定] で、[バックエンド プール] を選択し、[myBackendPool] を選択します。
-
[関連付け先] ボックスで、 [仮想マシン] を選択します。
-
[仮想マシン] で [追加] を選択します。
-
3 つの VM (myVM1、myVM2、myVM3) のチェックボックスをオンにして、 [追加] を選択します。
-
[myBackendPool] ページで、 [保存] をクリックします。
タスク 8: ロード バランサーをテストする
このセクションでは、テスト VM を作成し、ロード バランサーをテストします。
テスト VM を作成する
注: 手順と Azure portal インターフェイスとで若干の違いが見られる場合がありますが、中心概念は同じです。
-
Azure ホーム ページのグローバル検索に、「仮想マシン」と入力して、[サービス] の下の仮想マシンを選択します。
-
[基本] タブで、 [+ 作成; + 仮想マシン] を選択し、以下の表の情報を使用して、最初の VM を作成します。
設定 Value サブスクリプション サブスクリプションを選択します。 Resource group IntLB-RG 仮想マシン名 myTestVM リージョン (米国) 米国西部 可用性のオプション インフラストラクチャ冗長は必要ありません セキュリティの種類 Standard Image [すべてのイメージを表示] –> [Datacenter for Windows Server 2019] サイズ Standard_DS2_v3 - 2 vcpu、8 GiB メモリ ユーザー名 TestUser パスワード セキュリティで保護されたパスワードを指定する パスワードの確認 セキュリティで保護されたパスワードを指定する -
[次へ:ディスク] を選択して、 [次へ:ネットワーク] を選択します。
-
[ネットワーク] タブで、以下の表の情報を使用してネットワーク設定を構成します。
設定 Value 仮想ネットワーク IntLB-VNet Subnet myBackendSubnet パブリック IP [なし] に変更する NIC ネットワーク セキュリティ グループ 詳細 ネットワーク セキュリティ グループを構成する 既存の [(新規)myTestVMNSG] のまま 負荷分散 なし (またはオフ) -
Review + create を選択します。
-
[作成] を選択します
-
次のタスクに進む前に、この最後の VM がデプロイされるのを待ちます。
テスト VM に接続してロード バランサーをテストする
-
Azure portal のホームページで、 [すべてのリソース] を選択して、リソースの一覧から [myIntLoadBalancer] を選択します。
-
[概要] ページで、プライベート IP アドレスをメモするか、クリップボードにコピーします。 注: プライベート IP アドレスを表示するには、 [もっと見る] を選択しなくてはならない場合があります。
-
[ホーム] を選択してから、Azure portal ページで [すべてのリソース] を選択して、先ほど作成した myTestVM 仮想マシンを選択します。
-
[概要] ページで [接続] 、 [要塞] の順に選択します。
-
[Bastion を使用する] を選択します。
-
[ユーザー名] ボックスに「TestUser」 と入力して、 [パスワード] ボックスに、展開中に指定したパスワードを入力して、 [接続] を選択します。
-
[myTestVM] ウィンドウが別のブラウザー タブで開きます。
-
[ネットワーク] ペインが表示されたら、 [はい] を選択します。
-
タスク バーの [Internet Explorer] アイコンをクリックして、Web ブラウザーを開きます。
-
[Internet Explorer 11 の設定] ダイアログ ボックスで、 [OK] を選択します。
-
前の手順のプライベート IP アドレス (例: 10.1.0.4) をブラウザーのアドレス バーに入力し (または貼り付け)、Enter キーを押します。
-
IIS Web サーバーの既定の Web ホーム ページがブラウザー ウィンドウに表示されます。 バックエンド プール内の 3 つの仮想マシンの 1 つによって応答が返されます。
-
ブラウザーで更新ボタンを数回選択すると、内部ロード バランサーのバックエンド プール内の異なる VM からランダムに応答が返されるのを確認できます。
タスク 9: Log Analytics ワークスペースを作成する
-
Azure portal のホーム ページで [すべてのサービス] を選択して、ページ上部の検索ボックスに [Log Analytics] と入力して、 [Log Analytics ワークスペース] を選択します。
-
[作成] を選択します
-
[Log Analytics ワークスペースの作成] ページの [基本] タブで、以下の表の情報を使用してワークスペースを作成します。
設定 Value サブスクリプション サブスクリプションを選択します。 Resource group IntLB-RG 名前 myLAworkspace リージョン 米国西部 -
[確認および作成] を選択し、 [作成] を選択します。
タスク 10: [機能依存] ビューを使う
-
Azure portal のホームページで、 [すべてのリソース] を選択して、リソースの一覧で [myIntLoadBalancer] を選択します。
-
[監視] で [分析情報] を選択します。
-
ページの右上隅にある [X] を選択して、ここで [メトリック] ウィンドウを閉じます。 後でもう一度開きます。
-
このページ ビューは機能依存ビューと呼ばれ、このビューでは、選択したネットワーク リソース (この場合はロード バランサー) のトポロジを示す便利な対話型の図が表示されます。 Standard Load Balancer の場合、バックエンド プールのリソースは正常性プローブの状態で色分けされ、トラフィックを処理するためのバックエンド プールの現在の可用性が示されます。
-
ページの右下隅にある [拡大 (+)] ボタンと [縮小 (-)] ボタンを使用して、トポロジ図を拡大および縮小します (または、マウス ホイールがある場合はそれを使用できます)。 トポロジ図をページの周りにドラッグして移動することもできます。
-
図の LoadBalancerFrontEnd コンポーネントにカーソルを合わせてから、myBackendPool コンポーネントにカーソルを合わせます。
-
これらのポップアップ ウィンドウのリンクを使用して、これらのロード バランサー コンポーネントに関する情報を表示し、それぞれの Azure portal ウィンドウを開くことができます。
-
トポロジ図の .SVG ファイル コピーをダウンロードするには、 [トポロジのダウンロード] を選択し、ファイルを [ダウンロード] フォルダーに保存します。
-
右上隅にある [メトリックの表示] を選択して、画面の右側にあるメトリック ウィンドウを再度開きます。
-
[メトリック] ウィンドウには、このロード バランサー リソースのいくつかの主要なメトリックが棒グラフと折れ線グラフの形式で簡易表示されます。
タスク 11: 詳細なメトリックを表示する
-
このネットワーク リソースのより包括的なメトリックを表示するには、 [詳細なメトリックの表示] を選択します。
-
これにより、Azure Network Insights プラットフォームでサイズの大きい完全な [メトリック] ページが開きます。 最初に表示されるタブは [概要] タブです。このタブには、ロード バランサーの可用性状態と、ロード バランサーに接続されている各フロントエンド IP の全体的なデータ スループットとフロントエンドおよびバックエンドの可用性が表示されます。 これらのメトリックにより、フロントエンド IP が応答可能かどうか、およびバックエンド プール内のコンピューティング インスタンスが着信接続に対して個別に応答可能かどうかが示されます。
-
[フロントエンド & バックエンドの可用性] タブを選択し、ページを下にスクロールすると、[正常性プローブの状態] グラフが表示されます。 これらの項目において 100 未満の値が表示される場合は、それらのリソースで何らかの障害が発生していることを示しています。
-
[データ スループット] タブを選択し、ページを下にスクロールすると、他のデータ スループット グラフが表示されます。
-
グラフの一部のデータ ポイントにカーソルを合わせると、値が変化してその時点での正確な値が表示されます。
-
[フロー分布] タブを選択し、ページを下にスクロールすると、 [VM フロー作成およびネットワーク トラフィック] セクションの下にグラフが表示されます。
タスク 12: リソース正常性を表示する
-
ロード バランサー リソースの正常性を表示するには、Azure portal のホームページで、 [すべてのサービス] を選択して、 [監視] を選択します。
-
[監視 > 概要] ページの左側のメニューで、 [サービス正常性] を選択します。
-
[サービス正常性 > サービスの問題] ページの左側のメニューで、 [リソース正常性] を選択します。
-
[サービス正常性 > リソース正常性] ページの [リソースの種類] ドロップダウン リストで、リストを下にスクロールし、[ロード バランサー] を選択します。
-
次に、一覧から対象のロード バランサーの名前を選択します。
-
[リソース正常性] ページでは、ロード バランサー リソースに関する主要な可用性の問題を特定します。 [正常性の履歴] セクションにイベントがある場合は、正常性イベントを展開して、イベントの詳細を表示できます。 イベントの詳細を PDF ファイルとして保存し、後で確認したりレポートしたりすることもできます。
タスク 13: 診断設定を構成する
-
Azure portal のホーム ページで [リソース グループ] を選択して、リストから [IntLB-RG] リソース グループを選択します。
-
[IntLB-RG] ページで、リソースの一覧から [myIntLoadBalancer] ロード バランサー リソースの名前をクリックします。
-
[監視] で、 [診断設定] を選択してから、 [診断設定の追加] を選択します。
-
[診断設定] ページの名前ボックスに、「myLBDiagnostics」と入力します。
-
[AllMetrics] チェック ボックスを選択してから、[Log Analytics ワークスペースに送信する] チェック ボックスをオンにします。
-
リストからサブスクリプションを選択し、ワークスペースのドロップダウン リストから [myLAworkspace (westus)] を選択します。
-
[保存] を選択します。
リソースをクリーンアップする
注:新規に作成し、使用しなくなったすべての Azure リソースを削除することを忘れないでください。 使用していないリソースを削除することで、予期しない料金が発生しなくなります。
-
Azure portal で、 [Cloud Shell] ペイン内に PowerShell セッションを開きます。
-
次のコマンドを実行して、このモジュールのラボ全体を通して作成したすべてのリソース グループを削除します。
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 Monitor を使用して、Azure リソースのパフォーマンスと操作に関する分析情報を提供する方法について説明します。
- ネットワーク監視ツールを使用したエンドツーエンドの Azure ネットワーク インフラストラクチャの監視とトラブルシューティング。 このモジュールでは、Azure Network Watcher ツール、診断、ログを使って、Azure インフラストラクチャでのネットワークの問題の検出と修正に役立てる方法について説明します。
要点
以上でラボは完了です。 このラボの要点は次のとおりです。
- Azure Monitor には、Azure、その他のクラウド、オンプレミスのすべてのリソースから IT データを収集、管理、分析するための機能とツールが用意されています。
- Azure メトリックは、アプリケーションまたはリソースのパフォーマンスのスナップショットを示す定量的な測定です。 メトリックは通常、時間の経過と同時に測定できる数値です。
- ログは、リソースまたはアプリケーションで発生するイベント、アクション、およびメッセージのテキスト レコードです。
- Azure Monitor の分析情報、視覚化、ダッシュボードは、アプリケーションに関する監視情報を使用したり送信したりすることができます。
- アラートは、重大な状態を通知し、修正のためのアクションを実行できます。 アラートのルールは、メトリックまたはログ データに基づいて決めることができます。