Azure 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
- ソース
- テストグループ(connection-test-01)
※今回は1対1の設定にしていますが、ソースおよびターゲットとして複数のマシンを指定することも可能です。n対nのメッシュ構成で利用することができます。
接続モニターの作成手順
接続モニターを作成します。
ソースとなる仮想マシンにはNetwork Watcher エージェントのインストールが必要ですが、これは自動的にインストールされます。
-
- 主な設定内容
- 接続モニターの作成
- Log Analytics ワークスペース指定
- テストグループの作成
- ソース、ターゲットの指定
- テスト構成の作成
- アラートルールの作成
- アクショングループの指定
- 接続モニターの作成
- 主な設定内容
※Network Watcher エージェントを自動インストールする場合は、ソースの仮想マシンを起動しておく必要があります。
※任意のアラートルール名を設定したい場合は、テスト構成時にアラートルールを作成せず、接続モニター作成後に個別にアラートルールを作成します。
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
- テスト構成(connection-test-composition-01)
- テストグループ(connection-test-01)
Windows ServerでICMP許可
Windows ServerのWindows Defenderファイアウォールで、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 以外のエンドポイント
※Azure 以外のエンドポイントの一覧に表示されるのは、Log Analytics エージェントがインストールされているホストになります。
外部アドレスの指定 | |
ターゲットの追加で、外部アドレスのタブを選択します。 エンドポイントの追加を選択します。 |
|
エンドポイントには、URLやIPを指定できます。 URLを指定します。 |
|
エンドポイントが追加されます。 Add endpointsを選択します。 |
|
テスト構成で、HTTPを選択します。 ※HTTP Configurationで、詳細な設定ができます。 |
テスト結果を確認
外部アドレスを設定した場合のテスト結果を確認します。
テスト結果を確認 | |
HTTPでテストできている事がわかります。 |
最後に
Azure Network Watcherの接続モニターについて簡単にまとめてみました。
死活監視、ポート監視、URL監視といった幅広い用途で利用できることが分かりました。
ラウンドトリップタイムなどの応答速度も確認できるため、ネットワークの遅延なども把握できます。
設定が簡単で、便利に使える機能だと思いました。
今後も色々試してみたいと思います。