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のメッシュ構成で利用することもできます。

接続モニターの作成手順

接続モニターを作成します。
接続モニターの作成と同時に、Azure Monitor(モニター)のアラートルールを作成できます。
ソースとなる仮想マシンには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】

テストグループの設定が完了したら、テストグループの追加を選択します。
作成したテストグループが表示されていることを確認できます。
アラートの作成に進みます。

アラートの作成画面です。
アラートルールはデフォルトで作成されています。アクショングループを選択します。

※アラートルールの条件は作成後に変更できます。ただし、アラートルール名の変更はできません。

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

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

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

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

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

—広告—

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

接続モニターのテスト結果を確認

Windows Server 2022では、デフォルトでICMPは許可されていません。
Windows Defenderファイアウォールによってブロックされています。
一方、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 DefenderファイアウォールでICMPの受信を許可

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

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

ICMP許可後のテスト結果

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

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

接続モニターのログはLog Analytics ワークスペースで確認できる

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

接続モニターのログを確認
NWConnectionMonitorTestResultとして確認できます。

アラートメールを確認

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

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

—広告—

接続モニターはURL監視やオンプレミスホストへの接続監視にも利用できる

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

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

    • Azure以外のエンドポイント
      • オンプレミス上のホストなどのAzure上の仮想マシン以外
    • 外部アドレス
      • IPアドレスやURLを直接指定

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

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

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

※HTTP Configurationで詳細な設定が可能です。

外部アドレス(URL)を設定した場合のテスト結果を確認

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

テスト結果を確認
HTTPでテストできていることが確認できます。

最後に

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

引き続き、いろいろな機能を試してみたいと思います。

スポンサーリンク