Azure Network Watcher のしくみ

完了

Network Watcher は、サブスクリプション内 Azure リージョンに仮想ネットワークを作成すると、自動的に使用できるようになります。 [検索] バーに「Network Watcher」と入力すると、Azure portal で Network Watcher に直接アクセスできます。

Screenshot that shows how to search for Network Watcher in the Azure portal.

Network Watcher のトポロジ ツール

Azure Network Watcher のトポロジ機能を使用すると、仮想ネットワーク内の次のリソースをすべて表示できます。 これには、仮想ネットワーク内のリソースに関連付けられたリソースと、リソース間の関係も含まれます。

  • サブネット
  • ネットワーク インターフェイス
  • ネットワーク セキュリティ グループ
  • ロード バランサー
  • ロード バランサーの正常性プローブ
  • パブリック IP アドレス
  • 仮想ネットワーク ピアリング
  • 仮想ネットワーク ゲートウェイ
  • VPN ゲートウェイ接続
  • 仮想マシン
  • Virtual Machine Scale Sets

トポロジで返されるすべてのリソースには次のプロパティがあります。

  • Name: リソースの名前。
  • Id: リソースの URI。
  • Location: リソースが存在する Azure リージョン。
  • Associations: 参照されたオブジェクトへの関連付けのリスト。 各関連付けには、次のプロパティがあります。
    • AssociationType: 子オブジェクトと親のリレーションシップを参照します。 有効な値は ContainsAssociated です。
    • Name: 参照されたリソースの名前。
    • ResourceId: 関連付けで参照されているリソースの URI。

接続モニター ツール

接続モニターを使用すると、Azure Network Watcher で、統合されたエンドツーエンドの接続監視が提供されます。 接続モニターは、ハイブリッドと Azure Cloud の両方のデプロイをサポートしています。 接続モニター ツールを使用して、リソース間の待機時間を測定します。 接続モニターは、ネットワーク構成の変更や NSG 規則への変更など、接続に影響する変更を検出できます。 障害や変更を探すために VM を一定の間隔でプローブするように、接続モニターを構成できます。 接続モニターは、問題を診断し、問題が発生した理由と、問題を解決するために実行できる手順に関する説明を提供することができます。

Diagram that shows how Connection Monitor interacts with Azure Virtual Machines, non-Azure hosts, endpoints, and data storage locations.

監視のために接続モニターを使用するには、監視するホストに監視エージェントをインストールする必要があります。 接続モニターは、軽量の実行可能ファイルを使用して、ホストが Azure 仮想ネットワークまたはオンプレミス ネットワークのどちらにあっても、接続チェックを実行します。 Azure VM を使用して、Network Watcher エージェント VM (Network Watcher 拡張機能とも呼ばれる) をインストールすることができます。 オンプレミス コンピューターの場合は、Log Analytics エージェントをインストールすると、この機能を有効にすることができます。

IP フロー検証

IP フロー検証ツールでは、5 タプルのパケット パラメーターベースの検証メカニズムを使用して、受信パケットまたは送信パケットが VM から許可されたか拒否されたかが検出されます。 このツールで、ローカル ポートとリモート ポート、プロトコル (TCP または UDP)、ローカル IP、リモート IP、VM、VM のネットワーク アダプターを指定できます。

次ホップ

IaaS VM からのトラフィックは、ネットワーク インターフェイス (NIC) に関連付けられている有効なルートに基づいて宛先に送信されます。 次ホップは、特定の VM と NIC から次ホップの種類とパケットの IP アドレスを取得します。 ネクスト ホップを理解することは、トラフィックが意図される宛先に向けられているかどうか、またはトラフィックがどこにも送信されていないかどうかを確認するのに役立ちます。 トラフィックがオンプレミスの場所または仮想アプライアンスに送信されるルートの不適切な構成により、接続の問題が発生する可能性があります。 また、次ホップは関連するルート テーブルを返します。 ルートがユーザー定義のルートとして定義されている場合、そのルートが返されます。 それ以外の場合、ネクスト ホップからは System Route が返されます。

有効なセキュリティ ルール

ネットワーク セキュリティ グループ (NSG) は、パケットをその送信元と送信先の IP アドレスとポート番号に基づいてフィルター処理します。 Azure 仮想ネットワーク上の IaaS リソースには、複数の NSG を適用できます。 リソースのすべての NSG に適用されるすべての規則を考慮すると、有効なセキュリティ規則ツールを使用して、一部のトラフィックが拒否または許可される理由を判断できます。

パケット キャプチャ

パケット キャプチャは、Network Watcher によりリモートで開始される、仮想マシン拡張機能です。 この機能により、オペレーティング システム ツールまたはサードパーティのユーティリティを使用して、特定の仮想マシンでパケット キャプチャを手動で実行する負担が軽減されます。 パケット キャプチャは、portal、PowerShell、Azure CLI、または REST API を使用してトリガーできます。 Network Watcher を使用すると、監視するトラフィックを確実にキャプチャするために、キャプチャ セッションのフィルターを構成できます。 フィルターは 5 組 (プロトコル、ローカル IP アドレス、リモート IP アドレス、ローカル ポート、リモート ポート) の情報に基づいています。 キャプチャされたデータは、ローカル ディスク上またはストレージ BLOB 内に格納されます。

接続のトラブルシューティング

接続のトラブルシューティング ツールは、送信元と送信先の VM 間の TCP 接続を確認します。 送信先 VM は、FQDN、URI、または IP アドレスを使用して指定できます。 接続に成功すると、通信に関する次のような情報が表示されます。

  • 待機時間 (ミリ秒単位)。
  • 送信されたプローブ パケットの数。
  • 送信先へのルート全体でのホップ数。

接続に失敗した場合は、エラーに関する詳細がツールによって表示されます。 次のようなエラーの種類が表示される場合があります。

  • CPU: CPU 使用率が高いため、接続に失敗しました。
  • Memory: メモリ使用率が高いため、接続に失敗しました。
  • GuestFirewall:Azure 外部のファイアウォールによって接続がブロックされました。
  • DNSResolution: 宛先 IP アドレスを解決できませんでした。
  • NetworkSecurityRule:NSG によって接続がブロックされました。
  • UserDefinedRoute: ルーティング テーブルに不正なユーザー ルートがあります。

VPN のトラブルシューティング

Network Watcher には、ゲートウェイや接続をトラブルシューティングする機能が用意されています。 この機能は、portal、PowerShell、Azure CLI、または REST API を使用して呼び出すことができます。 呼び出されると、Network Watcher によってゲートウェイまたは接続の正常性が診断され、該当する結果が返されます。 この要求は、実行時間の長いトランザクションです。 返される暫定的な結果は、リソースの正常性の全体像を示します。

次のリストでは、VPN トラブルシューティング API を呼び出して返される値について説明します。

  • startTime:トラブルシューティングが開始された時刻。
  • endTime:トラブルシューティングが終了した時刻。
  • code:単一の診断障害が発生した場合、この値は UnHealthy です。
  • 結果:接続または仮想ネットワーク ゲートウェイで返された結果のコレクション。
    • id: エラーの種類。
    • summary:エラーの概要。
    • detailed:エラーの詳細な説明。
    • recommendedActions:実行が推奨されるアクションのコレクション。
    • actionText:実行するアクションを説明するテキスト。
    • actionUri:実行するアクションを説明するドキュメントの URI。
    • actionUriText:アクション テキストの簡単な説明。