チュートリアル:Azure Portal を使用して 2 つの仮想マシン間のネットワーク通信を監視する

注意

このチュートリアルでは、接続モニター (クラシック) について取り上げます。 改良された新しい接続モニターで、強化された接続監視機能を体験してください。

重要

2021 年 7 月 1 日以降、接続モニター (クラシック) に新しい接続モニターを追加することはできませんが、2021 年 7 月 1 日より前に作成された既存の接続モニターは引き続き使用することができます。 現在のワークロードに対するサービスの中断を最小限に抑えるには、2024 年 2 月 29 日より前に、接続モニター (クラシック) から Azure Network Watcher の新しい接続モニターにテストを移行します。

仮想マシン (VM) と別の VM などのエンドポイント間の通信の成功は、組織にとってきわめて重要になることがあります。 構成の変更によって通信が切断される場合があります。 このチュートリアルでは、以下の内容を学習します。

  • 2 つの VM を作成する
  • Network Watcher の接続モニター機能によって VM 間の通信を監視する
  • 接続モニターのメトリックに対するアラートを生成する
  • 2 つの VM 間の通信の問題を診断し、解決方法を学習する

Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。

前提条件

  • Azure サブスクリプション

Azure へのサインイン

Azure portal にサインインします。

VM の作成

2 つの VM を作成します。

最初の VM を作成する

  1. ポータルの上部にある検索ボックスに、「仮想マシン」と入力します。 [仮想マシン] を選択します。

  2. [仮想マシン][+ 作成][+ Azure 仮想マシン] の順に選択します。

  3. [仮想マシンの作成] で、次の情報を入力するか選択します。

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group [新規作成] を選択します。
    [名前] に「myResourceGroup」と入力します。
    [OK] を選択します。
    インスタンスの詳細
    仮想マシン名 myVM1」と入力します。
    リージョン [(米国) 米国東部] を選択します。
    可用性のオプション [インフラストラクチャ冗長は必要ありません] を選択します。
    セキュリティの種類 規定値である [標準] のままにします。
    Image [Windows Server 2019 Datacenter - Gen2] を選択します。
    Azure Spot インスタンス 既定値のままにします。
    サイズ サイズを選択します。
    管理者アカウント
    ユーザー名 ユーザー名を入力します。
    Password パスワードを入力します。
    パスワードの確認 パスワードを確認します。
    受信ポートの規則
    パブリック受信ポート 既定の [選択したポートを許可する] のままにします。
    受信ポートの選択 既定値の [RDP (3389)] のままにします。
  4. [詳細設定] タブを選択し、[インストールする拡張機能の選択] を選択します。

  5. 検索ボックスに「Network Watcher Agent for Windows」と入力します。 [Network Watcher Agent for Windows] を選択し、[次へ] を選択します。

    Windows VM の作成時に Network Watcher Agent for Windows をインストールするスクリーンショット。

  6. [Configure Network Watcher Agent for Windows Extension] (Network Watcher Agent for Windows 拡張機能の構成) ページで、[作成] を選択します。

  7. [仮想マシンの作成] ページで、[確認と作成] を選択し、[作成] を選択して VM のデプロイを開始します。

2 つ目の VM を作成する

最初の VM を作成するの手順を、次を変更して再度実行します。

設定
Resource group [myResourceGroup] を選択します。
仮想マシン名 myVM2」と入力します。
Image [Ubuntu Server 18.04 LTS - Gen2] を選択します。
パブリック受信ポート [選択したポートを許可する] を選択します。
受信ポートの選択 [SSH (22)] を選択します。
Extensions [Network Watcher Agent for Linux] を選択します。

VM のデプロイには数分かかります。 残りの手順を続行する前に、VM がデプロイを完了するまで待ちます。

接続モニターを作成する

接続モニターを作成して、myVm1 から myVm2 への TCP ポート 22 経由の通信を監視します。

  1. ポータルの上部にある検索ボックスに、「network watcher」と入力します。 [Network Watcher] を選択します。

  2. [監視][接続モニター (クラシック)] を選択します。

  3. [+ 追加] を選択します。

  4. 監視する接続の情報を入力するか選択して、[追加] を選択します。 次の図に示す例で、監視される接続は、ポート 22 経由の myVm1 VM から myVm2 VM への接続です。

    設定
    名前 myVm1-myVm2(22)
    ソース
    仮想マシン myVm1
    宛先
    仮想マシンを選択する
    仮想マシン myVm2
    Port 22

    接続モニターを追加する

接続モニターを表示する

  1. 接続モニターを作成するの手順 1 ~ 3 を完了して、接続監視を表示します。 次の図に示すように、既存の接続モニターの一覧が表示されます。

    接続モニター

  2. 前の図に示すように、myVm1-myVm2(22) という名前のモニターを選択して、次の図に示すように、モニターの詳細を表示します。

    モニターの詳細

    次の情報をメモしておきます。

    Item 詳細
    Status 到達可能 エンドポイントが到達可能かどうかを知ることができます。
    平均 往復時間 接続を作成するまでの往復時間 (ミリ秒) を知ることができます。 接続モニターは、60 秒ごとに接続をプローブするため、時間経過に伴う待機時間を監視できます。
    Hops 接続モニターにより、2 つのエンドポイント間のホップを知ることができます。 この例では、接続は、同じ仮想ネットワーク内の 2 つの VM 間であるため、10.0.0.5 IP アドレスへのホップが 1 つだけあります。 既存のシステムまたはカスタム ルートで、VPN ゲートウェイまたはまたはネットワーク仮想アプライアンスなどを経由して VM 間のトラフィックをルーティングする場合、追加のホップが一覧表示されます。
    状態 各エンドポイントの緑のチェック マークにより、各エンドポイントが正常であることを確認できます。

アラートの作成

アラートは Azure Monitor のアラート ルールによって作成され、保存済みのクエリまたはカスタム ログ検索を一定の間隔で自動的に実行できます。 生成されたアラートで、第三者への通知や別のプロセスの呼び出しなど、1 つまたは複数のアクションを自動的に実行できます。 アラート ルールを設定する際、対象となるリソースによって、アラートの生成に使用できる一連のメトリックが決まります。

  1. Azure portal で Monitor サービスを選択し、[アラート]>[新しいアラート ルール] の順に選択します。

  2. [ターゲットの選択] を選択して、対象とするリソースを選択します。 [サブスクリプション] を選択し、[リソースの種類] を設定して、使用したい接続モニターをフィルターで絞り込みます。

    ターゲットが選択された状態のアラート画面

  3. ターゲットとするリソースを選択したら、[条件の追加] を選択します。 Network Watcher には、アラートを作成するためのメトリックがあります。 [使用可能なシグナル] を ProbesFailedPercent と AverageRoundtripMs の各メトリックに設定します。

    シグナルが選択された状態のアラート ページ

  4. アラート ルール名、説明、重大度などのアラートの詳細を指定します。 アラートにアクション グループを追加して、アラートへの対応を自動化したりカスタマイズしたりすることもできます。

問題を表示する

既定で、Azure は、同じ仮想ネットワーク内の VM 間のすべてのポートで通信を許可します。 時間が経過し、組織のだれかが Azure の既定の規則をオーバーライドし、誤って通信エラーを引き起こすことがあります。 次の手順を実行して、通信の問題を作成してから、再度接続モニターを表示します。

  1. ポータル上部の [検索] ボックスに「myResourceGroup」と入力します。 検索結果に myResourceGroup リソース グループが表示されたら、それを選択します。

  2. myVm2-ns ネットワーク セキュリティ グループを選択します。

  3. 次の図に示すように、[受信セキュリティ規則] を選択し、[追加] を選択します。

    受信セキュリティ規則のスクリーンショット。

  4. 仮想ネットワーク内のすべての VM 間の通信を許可する既定の規則は、AllowVnetInBound という名前の規則です。 AllowVnetInBound 規則よりも高い優先順位 (小さい数値) で、ポート 22 経由の受信を拒否する規則を作成します。 次の情報を選択するか入力し、それ以外の既定値を受け入れて、[追加] を選択します。

    設定
    宛先ポート範囲 22
    アクション 拒否
    Priority 100
    名前 DenySshInbound
  5. 接続モニターは、60 秒間隔でプローブするため、数分待ってから、ポータルの左側の [Network Watcher][接続モニター] の順に選択し、[myVm1-myVm2(22)] モニターを再度選択します。 次の図に示すように、違う結果になります。

    モニター詳細のエラー

    myvm2529 ネットワーク インターフェイスの状態列に赤の感嘆符アイコンがあることが確認できます。

  6. 状態が変更された理由については、前の図の 10.0.0.5 を選択します。 接続モニターは、通信エラーの理由が UserRule_DenySshInbound ネットワーク セキュリティ グループ規則によってトラフィックがブロックされた ためであることを通知します。

    手順 4. で作成したセキュリティの規則をだれかが実装したことを知らなかった場合、接続モニターからこの規則が通信の問題を引き起こしていることがわかります。 その後、規則を変更、オーバーライド、または削除して、VM 間の通信を復元できます。

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

リソース グループとそれに含まれるすべてのリソースが不要になったら、それらを削除します。

  1. ポータル上部の [検索] ボックスに「myResourceGroup」と入力します。 検索結果に [myResourceGroup] が表示されたら、それを選択します。
  2. [リソース グループの削除] を選択します。
  3. [TYPE THE RESOURCE GROUP NAME:](リソース グループ名を入力してください:) に「myResourceGroup」と入力し、 [削除] を選択します。

次のステップ

このチュートリアルでは、2 つの VM 間の接続を監視する方法について説明しました。 ネットワーク セキュリティ グループの規則によって、VM への通信が妨げられていたことがわかりました。 接続モニターが返すことができるすべてのさまざまな応答については、応答の種類に関するページを参照してください。 VM、完全修飾ドメイン名、URI (Uniform Resource Identifier)、または IP アドレス間の接続を監視することもできます。

何らかの時点で、仮想ネットワーク内のリソースが Azure 仮想ネットワーク ゲートウェイによって接続されている他のネットワーク内のリソースと通信できないことに気付く場合があります。 次のチュートリアルに進み、仮想ネットワーク ゲートウェイに関する問題を診断する方法について学習します。