Azure Network Watcher 接続モニターの概要、作成手順、テスト結果やアラート確認

2020-12-31Azure,Monitor,Network Watcher

Azureでは、仮想ネットワーク内の接続に関する問題を確認および監視するためのサービスとして、Network Watcherが提供されています。
Azure Network Watcherの接続モニターを使用すると、仮想マシン(Azure VM)間や仮想マシンから外部アドレスへの接続状況を確認・監視することができます。

今回は、Azure Network Watcherの接続モニターを使った仮想マシンの通信確認方法についてまとめました。
接続モニターの概要から設定手順、テスト結果の確認、さらにAzure Monitorのアラート確認までを確認しています。
Ping監視、ポート監視、外部アドレスエンドポイントを利用したURL監視設定も確認しています。

※本記事内では、Azure Virtual Machines(Azure VM)を仮想マシンとして表記しています。

スポンサーリンク

Azure Network Watcherの接続モニターを作成

Azure Network Watcherとは?

Azure Network Watcher とは(概要)
Azure Network Watcher とは(MS Learn)

Azure Network Watcherは、Azureクラウド内でネットワークの監視、診断、トラフィック分析などのツールを提供するサービスです。
Azure Network Watcherには、トラフィック分析や接続モニターなどの主な機能が含まれています。
Log Analytics ワークスペースに収集されたログを利用して分析されます。

    • トラフィック分析系:トラフィック分析、NSGフローログ
    • 接続の監視:接続モニター
    • 診断ツール系:IPフロー検証

接続モニターとは?

接続モニターを使って、仮想マシン間の接続検証ができます。
接続モニターは定期的に接続確認を行うため、監視にも利用できます。
オンプレミスのホストであっても、Log Analyticsエージェントをインストールすることで利用できます。

 Azure Network Watcher 接続モニター(概要)

仮想マシン間のトラフィックだけでなく、外部アドレスやURLを指定して利用することも可能です。
ICMP(Ping監視)だけでなく、TCP(ポート監視)やHTTP(URL監視)も利用できます。

※接続モニターは仮想マシンからトラフィックを送信して監視を行います。

検証環境の構成

検証用の環境は、2台の仮想マシンで構成しています。
RDP(TCP 3389)と、Ping(ICMP)の接続を確認します。

  • 接続モニター(Connection-monitor-01
    • テストグループ(connection-test-01)
      •  ソース
        • test-vm-01(Linux OS)
      • ターゲット
        • test-vm-04(Windows OS) 
      • テスト構成(connection-test-composition-01)
        • TCP(3389)
      • テスト構成(connection-test-composition-02)
        • ICMP

※今回は1対1の設定にしていますが、ソースおよびターゲットとして複数のマシンを指定することも可能です。n対nのメッシュ構成で利用することができます。

接続モニターの作成手順

接続モニターを作成します。
ソースとなる仮想マシンにはNetwork Watcher エージェントのインストールが必要ですが、これは自動的にインストールされます。

    • 主な設定内容
      •  接続モニターの作成
        • Log Analytics ワークスペース指定
      • テストグループの作成
        • ソース、ターゲットの指定
        • テスト構成の作成
      • アラートルールの作成
        • アクショングループの指定

※Network Watcher エージェントを自動インストールする場合は、ソースの仮想マシンを起動しておく必要があります。

接続モニター作成
Network Watcherで接続モニターのリソースメニューを選択します。
作成を選択します。

接続モニター名を入力します。
ワークスペースの構成でログを収集先となるLog Analytics ワークスペースを指定します。

※デフォルトは自動でLog Analytics ワークスペースのリソースが生成されます。今回は明示的に指定しています。

テストグループの設定です。
テストグループではソース、ターゲット、テスト構成を設定します。
ソースの選択を選択します。

ソースの追加画面です。
Azureエンドポイントのタブで設定します。
型はVirtual MachinesかVirtual Machine Scale Sets(VMSS)から選択します。
ソースでtest-vm-01を選択します。
Add endpointsを選択します。

※Network Watcherの拡張機能は自動的にインストールされます。メッセージは無視して大丈夫です。
※Azure以外のエンドポイントの指定も可能です。

ソースに設定した仮想マシンが表示されている事が確認できます。
次はターゲットの選択に進みます。
ターゲットの追加です。
Azureエンドポイントのタブで設定します。
型はVirtual MachinesかVirtual Machine Scale Sets(VMSS)から選択します。
ターゲットにはtest-vm-04を選択します。
Add endpointsを選択します。

※ターゲット側にNetwork Watcherの拡張機能は必要ありません。

ターゲットに設定した仮想マシンが表示されている事が確認できます。
次はテスト構成の追加に進みます。

テスト構成の設定です。
テスト構成名を入力します。
プロトコルはHTTP、TCP、ICMPから選択します。
指定するプロトコルによって画面が異なります。
TCPの場合は宛先ポートを指定します。
テストの頻度はデフォルト値の30秒にしています。
成功のしきい値でチェックの失敗率やラウンドトリップ時間を指定します。

ラウンドトリップタイム

※テストの頻度は30秒ごとから30分ごとまで選択可能です。カスタムでの設定も可能です。
※ポートをリッスンにチェックを入れるとターゲットでポートオープンします。

【TCP】

【ICMP】

テストグループの設定が終わったらテストグループの追加を選択します。
作成したテストグループが表示されています。
アラートの作成に進みます。

アラートの作成画面です。
接続モニター作成と同時に、モニター(Azure Monitor)のアラートルールを作成できます。
アラートルールはデフォルトで作成されています。
アクショングループを選択します。

※アラートルールの条件変更は作成後に出来ます。アラートルール名の変更は出来ません。

確認および作成画面です。
作成を選択します。

※任意のアラートルール名を設定したい場合は、テスト構成時にアラートルールを作成せず、接続モニター作成後に個別にアラートルールを作成します。

Network Watcher エージェントのインストール確認

仮想マシンにNetwork Watcher エージェントがインストールされているか確認します。

Network Watcher エージェント確認
ソースの仮想マシンで拡張機能を確認します。
AzureNetworkWatcherExtensionが追加されている事が確認できます。

—広告—

Azure Network Watcher 接続モニターのテスト結果の確認

テスト結果確認

Windows Server 2022では、デフォルトでICMPが許可されていません。
RDP(3389)(TCP)のみが成功します。

    • テストグループ(connection-test-01)
      • テスト構成(connection-test-composition-01)
        • 結果は成功 
        • テスト対象は、TCP(3389)
      • テスト構成(connection-test-composition-02)
        • 結果は失敗 
        • テスト対象は、ICMP
テスト結果確認
テストグループを確認します。
失敗になっている事を確認できます。

テストグループを選択して、詳細を確認します。
詳細のテスト構成を確認します。
テスト失敗100%とテスト失敗0%のテスト構成がある事が分かります。

テスト構成を選択して、すべてのテストを表示します。
connection-test-composition-01は成功していますが、connection-test-composition-02は失敗している事が分かります。

Windows ServerでICMP許可

Windows ServerのWindows Defenderファイアウォールで、ICMPの受信を許可します。

ICMP許可
管理ツールにある、セキュリティが強化されたWindows Defender ファイアウォールを選択します。
受信の規則を表示します。
ファイルとプリンターの共有(エコー要求 – ICMPv4受信)を選択します。
操作にある、接続を許可するを選択します。
ファイルとプリンターの共有(エコー要求 – ICMPv4受信)に、グリーンのチェックが表示されています。
ICMPの受信が許可された状態になりました。

ICMP許可後のテスト結果

ICMPの許可設定後に、テスト結果を確認します。
connection-test-composition-02のテスト構成が、失敗から成功に変わっている事を確認できます。

テスト結果
connection-test-composition-01、02共に成功しています。
すべてのテストが成功して、チェックの失敗率も下がっています。
すべてのテストでも、結果がOKとなっている事を確認できます。

接続モニターのログ

接続モニターのテスト結果は、ログとしてLog Analytics ワークスペースに保管されます。
ログは、作成時に設定したLog Analytics ワークスペースで検索できます。

ログ確認
NWConnectionMonitorTestResultとして確認できます。

アラートメール確認

今回は、接続モニター作成時にアラート設定を有効化しています。
メールでアラート通知が送信されるように設定しています。
アラートが発生した際のアラートメールを確認します。

アラートメール確認
テストグループ名単位でメールが送信されている事が確認できます。
Dimensionsで詳細が確認できます。
TestConfigurationNameにアラートの原因となったテスト構成名が表示されます。

—広告—

接続モニターはURL監視や外部IPへの接続監視にも利用できる

ターゲットに外部アドレス(URL)を設定

ターゲットには、仮想マシン以外も設定できます。
IPアドレスや、URLを指定する事ができます。

    • Azure 以外のエンドポイント
      • オンプレミス上のホストなど、Azrure上の仮想マシン以外を一覧から選択
    • 外部アドレス
      • IPアドレスやURLを指定

※Azure 以外のエンドポイントの一覧に表示されるのは、Log Analytics エージェントがインストールされているホストになります。

外部アドレスの指定
ターゲットの追加で、外部アドレスのタブを選択します。
エンドポイントの追加を選択します。
エンドポイントには、URLやIPを指定できます。
URLを指定します。
エンドポイントが追加されます。
Add endpointsを選択します。

テスト構成で、HTTPを選択します。
HTTPの場合は、ポートを指定します。

※HTTP Configurationで、詳細な設定ができます。

テスト結果を確認

外部アドレスを設定した場合のテスト結果を確認します。

テスト結果を確認
HTTPでテストできている事がわかります。

最後に

Azure Network Watcherの接続モニターについて簡単にまとめてみました。
死活監視、ポート監視、URL監視といった幅広い用途で利用できることが分かりました。
ラウンドトリップタイムなどの応答速度も確認できるため、ネットワークの遅延なども把握できます。
設定が簡単で、便利に使える機能だと思いました。

今後も色々試してみたいと思います。

スポンサーリンク