Azure Network Watcherの接続モニターについて纏めてみた

2020-12-31Azure,Monitor,Network Watcher

Azureでは仮想ネットワーク内の接続に関する問題を確認や監視する為のサービスとしてNetwork Watcherが提供されています。
Azure Network Watcherの接続モニターを使うと仮想マシン(Azure VM)間や仮想マシン(Azure VM)から外部アドレスの接続確認(監視)が出来ます。

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

スポンサーリンク

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

Azure Network Watcherとは?

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

Azure Network Watcherは、Azureクラウド内のネットワークの監視、診断、トラフィック分析などのツールを提供するサービスです。
Azure Network Watcherの機能に含まれる主な機能です。

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

トラフィック分析や接続モニターはLog Analyticsワークスペースへ収集したログを利用して分析されます。

接続モニターとは?

仮想マシン(Azure VM)間の接続検証ができます。
接続モニターは定期的に接続確認する為監視にも利用出来ます。
Log Analytics エージェントをインストールしたオンプレミスホストも利用可能です。

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

仮想マシン(Azure VM)間のトラフィックだけではなく、Log Analytics エージェントをインストールしたオンプレミスホストも利用可能です。
外部アドレスやURLを指定して利用する事も可能です。
ICMP(Ping監視)だけではなくTCP(ポート監視)やHTTP(URL監視)の利用も可能です。

※接続モニターは仮想マシン(Azure VM)からトラフィックを送信して監視します。念のためパフォーマンスに影響がないように注意しましょう。

今回の構成

今回は2台の仮想マシン(Azure VM)で構成しています。
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 VM)にはNetwork Watcher Agentのインストールが必要になりますがこちらは自動でインストールされます。

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

※ソースの仮想マシン(Azure VM)を起動しておく必要があります。(Agent自動インストール時)

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

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

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

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

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

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

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

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

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

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

ラウンドトリップタイム

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

【TCP】

【ICMP】

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

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

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

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

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

Network Watcher Agentのインストール確認

仮想マシン(Azure VM)にNetwork Watcher Agentがインストールされているか確認します。

Network Watcher Agent確認
ソースの仮想マシン(Azure VM)で拡張機能を確認します。
AzureNetworkWatcherExtensionが追加されている事が確認出来ます。

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

テスト結果確認

Windows Server 2022はデフォルトではICMPは許可されていません。
テスト結果は以下の通りになります。

    • テストグループ(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でICMPの受信を許可します。

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

ICMP許可後のテスト結果

ターゲット(Windows Server 2022)でICMP許可後にテスト結果を再度確認します。
connection-test-composition-02のテスト構成が失敗から成功に変わっている事が確認出来ます。

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

接続モニターのログ

接続モニターのテスト結果がログとして保管されています。
作成時に指定したLog Analyticsワークスペースで確認出来ます。

ログ確認
NWConnectionMonitorTestResultとして確認出来ます。

アラートメール確認

接続モニター作成時にアラート設定を有効化、メール送信するように設定しています。
アラート発生時のアラートメールを確認します。

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

接続モニターはURL監視や外部IPへの接続監視にも使える

外部アドレスの設定

ターゲットには仮想マシン(Azure VM)以外も設定出来ます。
IPアドレスやURLを指定する事が出来ます。

Azure 以外のエンドポイント:オンプレミス ホスト(Log Analytics エージェントインストール済み)の一覧から選択
外部アドレス:IPアドレスやURLを指定

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

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

※HTTP Configurationで詳細な設定が出来ます。

テスト構成追加後に確認します。
HTTPでテストが出来ています。

最後に

今回はAzure Network Watcherの接続モニターについて纏めてみました。
死活監視、ポート監視、URL監視と幅広く使える事が分かりました。
ラウンドトリップタイムなどの応答速度も確認出来る為ネットワークの遅延なども確認出来ます。

簡単に設定出来て便利に使える機能かと思いました。
今後もAzure Network Watcher関連について色々試してみたいと思います。

スポンサーリンク