Azure Network Watcherで実現する快適なネットワーク環境:監視、診断、最適化の徹底ガイド
はじめに:クラウド時代のネットワーク可視性と複雑性
現代のビジネスにおいて、ネットワークは生命線です。特にクラウド環境への移行が進む中で、アプリケーション、サービス、そしてビジネスプロセス全体の可用性とパフォーマンスは、安定したネットワーク接続に依存しています。Microsoft Azureのようなパブリッククラウドプラットフォームは、その柔軟性、拡張性、そして豊富なサービスによって、企業に多くのメリットをもたらします。しかし、同時に、オンプレミス環境とは異なるネットワークの複雑性も生み出します。
Azure仮想ネットワーク(VNet)は、オンプレミスのネットワークと同様に、サブネット、IPアドレス、ルーティングテーブル、ファイアウォール(ネットワークセキュリティグループ – NSG)などの要素で構成されます。しかし、これらの要素は物理的なハードウェアではなく、ソフトウェアによって抽象化されたリソースとして提供されます。この抽象化は管理を容易にする反面、トラブルシューティングやパフォーマンス監視を難しくする側面もあります。
- 複雑性の増大: VNetピアリング、VPN Gateway、ExpressRoute、ユーザー定義ルート(UDR)、ロードバランサー、アプリケーションゲートウェイなど、さまざまなコンポーネントが相互に連携して動作します。トラフィックがどのように流れるのか、どこでブロックされているのかを把握することは、オンプレミスネットワークに比べて直感的に理解しにくい場合があります。
- 可視性の課題: クラウドインフラストラクチャはブラックボックスになりがちです。パケットがどこでドロップされているのか、遅延が発生している原因は何なのか、特定のトラフィックがどのセキュリティルールによって許可または拒否されているのかなど、詳細な可視性がなければ問題の特定は困難です。
- トラブルシューティングの困難さ: アプリケーションの応答が遅い、特定のサービスに接続できない、VPN接続が不安定であるなど、ネットワークに関連する問題が発生した場合、原因の特定に時間がかかると、ビジネスへの影響が拡大します。効果的な診断ツールが不可欠です。
- セキュリティとコンプライアンス: 誰が、どこから、どのリソースにアクセスしているのか、不審なトラフィックは発生していないかなど、ネットワークの活動を監視し、記録することは、セキュリティ体制の維持とコンプライアンス要件の遵守のために重要です。
これらの課題に対処し、Azureネットワーク環境を快適で、信頼性が高く、安全な状態に保つために設計されたサービスが、Azure Network Watcherです。
Azure Network Watcherとは:クラウドネットワークの「目」と「耳」
Azure Network Watcherは、Azure仮想ネットワーク内のリソースを監視、診断、およびメトリックの表示を行うための包括的なサービスです。Azureネットワークの問題を特定し、診断し、分析するためのツール群を提供することで、前述の課題を解決し、Azureネットワークの可視性を大幅に向上させます。Network Watcherは、Azureリージョンごとに有効化され、そのリージョン内の仮想ネットワークリソースに対して機能を提供します。
Network Watcherは単一の機能ではなく、以下のような複数の機能を統合したサービスです。
- トポロジの視覚化: 仮想ネットワーク内のリソースとその関係性をグラフィカルに表示します。
- IP フロー検証: 特定のトラフィックが、NSGルールによって許可されるか、拒否されるかを判定します。
- 次ホップ: 特定の宛先IPアドレスへのトラフィックが、次にどのネットワークデバイスまたはインターフェイスにルーティングされるかを判定します。
- 接続モニター: ソースと宛先の間の接続性、ラウンドトリップ時間(RTT)、およびパケット損失率を継続的に監視します。
- NSG フロー ログ: ネットワーク セキュリティ グループ(NSG)を通過するIPトラフィックに関する情報をログに記録します。
- トラフィック分析: NSGフローログデータを分析し、ネットワークアクティビティに関する洞察を視覚化します。
- VPN 診断: Azure VPN Gatewayの接続問題を診断します。
- パケット キャプチャ: Azure仮想マシン上で発生するネットワークトラフィックをキャプチャし、pcapファイルとして保存します。
これらの機能は、Azure Portal、Azure PowerShell、Azure CLI、REST API、およびARMテンプレートを通じて利用でき、ネットワーク管理者はこれらのツールを活用して、ネットワークの問題を迅速に特定し、解決策を見つけ出すことができます。
Network Watcherは、単なるトラブルシューティングツールではありません。ネットワークの正常性、パフォーマンス、およびセキュリティに関する継続的な洞察を提供することで、プロアクティブな監視と最適化を可能にし、最終的にAzureネットワーク環境をより快適で信頼性の高いものにします。
Network Watcherの主要機能と活用方法
ここでは、Network Watcherの主要な機能について、その詳細と具体的な活用方法を解説します。
1. トポロジの視覚化 (Topology)
Azure仮想ネットワークは複雑な構成になることがあります。VNetピアリングで複数のVNetを接続したり、サブネットに異なるNSGやUDRを適用したり、ロードバランサーやゲートウェイを配置したりすることで、リソース間の接続関係が把握しにくくなります。トポロジ機能は、選択したVNet内のリソースとその関連付けをグラフィカルなマップとして表示します。
機能の概要:
- 特定の仮想ネットワークを選択し、その中のサブネット、NIC、VM、NSG、ロードバランサー、VPN Gatewayなどのリソースを視覚的に表示します。
- リソース間の接続線(リンク)を示し、関連付けられているNSGやUDRなどの情報も確認できます。
- リソースをクリックすると、そのリソースの詳細情報(IPアドレス、関連付けられたリソースなど)が表示されます。
活用方法:
- ネットワーク構成の理解: 新しい環境や既存の複雑な環境の構成を素早く把握したい場合に非常に役立ちます。どのVMがどのサブネットに属し、どのNSGが関連付けられているかなどを一目で確認できます。
- 依存関係の確認: アプリケーションを構成するVMやサービスが、ネットワークレベルでどのように接続されているかを確認できます。
- トラブルシューティングの開始点: 問題が発生した場合、まずトポロジを確認することで、関係するリソースとそれらの接続関係を把握し、次の診断ステップに進むための手がかりを得られます。例えば、「VM AからVM Bに接続できない」という場合、まずトポロジでAとBが同じVNet内にあるのか、ピアリングされているのか、間に何か(NVAなど)があるのかを確認します。
考慮事項:
- 表示されるリソースはVNet内のものに限られます。他のVNetやオンプレミス環境との接続は、リンクとしては表示されますが、詳細な内部構造までは表示されません。
- 非常に大規模なVNetでは、マップが複雑になりすぎる場合があります。
2. IP フロー検証 (IP flow verify)
IPフロー検証は、特定の送信元IPアドレス、送信元ポート、宛先IPアドレス、宛先ポート、およびプロトコル(TCPまたはUDP)を持つトラフィックが、ネットワークインターフェイス(NIC)に適用されているNSGのルールによって許可されるか、拒否されるかを判定する機能です。特定の接続がNSGによってブロックされているかどうかを確認したい場合に非常に強力なツールです。
機能の概要:
- 特定の仮想マシンまたはネットワークインターフェイスを選択します。
- テストしたいトラフィックの詳細(方向:Inbound/Outbound、プロトコル:TCP/UDP、ローカルIP/ポート、リモートIP/ポート)を入力します。
- Network WatcherがNICに適用されているNSGルールセットを評価し、そのトラフィックが許可されるか拒否されるかを判定します。
- 拒否された場合は、どのNSGのどのルールによって拒否されたのかを具体的に示します。
活用方法:
- NSG設定の確認: 特定のポートやIPからのアクセスを許可または拒否したいが、NSGルールが正しく構成されているか自信がない場合に、実際にテストトラフィックをシミュレーションして確認できます。
- 接続問題の診断: アプリケーションが特定のポートで通信できない場合、その通信方向とポートに対してIPフロー検証を実行することで、原因がNSGにあるかどうかを迅速に判断できます。もし「拒否された」と表示されれば、NSGルールを見直す必要があります。どのルールで拒否されたかもわかるため、修正箇所を特定しやすいです。
- セキュリティ監査: 特定のリソースへの不必要なアクセスがNSGによって正しくブロックされているかを確認できます。
考慮事項:
- IPフロー検証はNSGルールのみを評価します。UDR、ファイアウォールアプライアンス(NVA)、ロードバランサーのNATルールなど、他のネットワーク構成要素によるトラフィックへの影響は考慮されません。
- これは「ライブ」テストではなく、構成に基づく「シミュレーション」です。実際のトラフィックが他の理由(OSファイアウォール、アプリケーションレベルの問題など)でブロックされる可能性はあります。
3. 次ホップ (Next hop)
次ホップ機能は、特定の仮想マシンから特定の宛先IPアドレスへのトラフィックが、Azureネットワークによってどのようにルーティングされるかを判定します。これは、UDRの設定ミスや、デフォルトルートが予期しない先に向けられているなどのルーティング問題を診断するのに役立ちます。
機能の概要:
- 特定の仮想マシンまたはネットワークインターフェイスを選択します。
- トラフィックの宛先IPアドレスを入力します。
- Network WatcherがそのNICから見たルーティングテーブルを評価し、その宛先IPへのトラフィックが次にルーティングされる場所(ネクストホップ)を判定します。
- ネクストホップの種類(インターネット、VNetピアリング、VPN Gateway、仮想ネットワーク ゲートウェイ、仮想アプライアンス、なしなど)と、具体的なネクストホップIPアドレス(仮想アプライアンスの場合など)を表示します。
- そのルーティング決定に影響を与えたルートタイプ(デフォルト、UDR、BGPルートなど)とルートテーブル名も示します。
活用方法:
- ルーティング問題の診断: VMから別のVNet、オンプレミスネットワーク、またはインターネットに接続できない場合に、トラフィックが意図したパスを通っているかを確認できます。例えば、オンプレミスへのVPN接続が確立されているにも関わらずVMからPingが通らない場合、ネクストホップがオンプレミスVPN Gateway(仮想ネットワーク ゲートウェイ)になっているかを確認します。もしインターネットや「なし」になっていれば、UDRやBGPルートの設定に問題がある可能性が高いです。
- UDR設定の検証: UDRが正しく構成され、期待通りに特定のトラフィックをNVAなどに転送するように機能しているかを確認できます。
- 強制トンネリングの確認: オンプレミスへの強制トンネリング(インターネットトラフィックをオンプレミスVPN Gateway経由でルーティングする設定)が正しく適用されているかを確認できます。
考慮事項:
- 次ホップは単一の宛先IPアドレスに対するルーティングパスを示します。複数の宛先へのルーティングを確認したい場合は、複数回テストを実行する必要があります。
- これはルーティングテーブルに基づいた「シミュレーション」であり、実際のネットワークパス上の動的な要素(例えば、NVA内部のルーティング設定)は考慮されません。
4. 接続モニター (Connection monitor)
接続モニター(特に新しいバージョン)は、ネットワーク接続を継続的に監視し、接続性、エンドツーエンドの遅延(ラウンドトリップ時間)、およびパケット損失率を測定する強力な機能です。VM間、VMとオンプレミス、VMとインターネット上のエンドポイント(FQDN, URL, IP)など、さまざまな接続タイプを監視できます。
機能の概要:
- 接続テストの作成: ソースと宛先、プロトコル(TCP, ICMP, HTTP)、ポートなどを指定して接続テストを作成します。ソースはAzure VM、オンプレミスサーバー(Network Watcher Agentが必要)、宛先はAzure VM、FQDN、URL、IPv4/v6アドレスなどが指定できます。
- テストグループとテスト構成: 複数のテスト設定(プロトコル、ポート、頻度など)をグループ化し、複数のソース/宛先ペアに適用できます。
- データ収集と分析: 接続モニターは指定した頻度でテストを実行し、結果(接続成功率、RTT、パケット損失)をAzure Monitor Logs(Log Analytics)またはAzure Storageに送信します。
- メトリックとグラフ表示: Azure MonitorのメトリックエクスプローラーやLog Analyticsワークスペースで、収集されたデータをグラフやクエリで分析できます。
- アラート: 特定のメトリック(例えば、接続成功率が閾値を下回った、RTTが閾値を超えた)に基づいてアラートを設定できます。
活用方法:
- プロアクティブなパフォーマンス監視: アプリケーションが依存する主要な接続(WebサーバーからDBサーバー、アプリケーション層からキャッシュ層など)に対してテストを設定し、問題が発生する前に遅延の増加やパケット損失の発生を検知できます。
- 障害の早期発見: Azureリソースとオンプレミス環境間のVPN/ExpressRoute接続、あるいはAzureリソースとインターネット上の外部サービス(SaaSプロバイダーなど)との接続を監視することで、サービス停止や品質低下を早期に発見できます。
- パフォーマンスベースラインの確立: 正常な状態での接続メトリックのベースラインを確立し、その後の変動と比較することで、パフォーマンスの変化を定量的に把握できます。
- トラブルシューティングの深化: 接続モニターで問題が検出された場合、同じソースと宛先に対してIPフロー検証や次ホップを実行するなど、他の診断ツールと組み合わせて原因を特定できます。また、ホップバイホップのネットワークパスと遅延情報も確認できるため、ネットワークパスのどこで問題が発生しているかを特定しやすいです。
- 地域間の接続監視: 複数のAzureリージョンにまたがるデプロイメントの場合、リージョン間の接続を監視して、リージョンピアリングやグローバルVNetピアリングの健全性を確認できます。
考慮事項:
- ソースとなるAzure VMにはNetwork Watcher Agent(またはAzure Monitor Agent)のインストールが必要です。オンプレミスソースの場合は、オンプレミスゲートウェイにAgentをインストールし、Azureに接続する必要があります。
- 収集されるデータ量に応じてコストが発生します(Log Analyticsへの取り込みコストなど)。
- テストの頻度や数が多いと、AgentのCPU/メモリ使用量に影響を与える可能性があります(通常は軽微ですが)。
5. NSG フロー ログ (NSG flow logs)
NSGフローログは、ネットワーク セキュリティ グループ(NSG)に関連付けられたネットワーク インターフェイスを通過するIPトラフィックに関する情報を記録する機能です。許可または拒否されたトラフィック、送信元/宛先IPアドレス、ポート、プロトコル、トラフィックの方向などが記録されます。これは、ネットワークアクティビティの監視、セキュリティ監査、およびトラブルシューティングにおいて最も重要な機能の一つです。
機能の概要:
- 有効化: NSGごとにフローログを有効化し、ログのバージョン(v1またはv2)、保存先(Azure Storage Account、Log Analytics Workspace、またはEvent Hubs)、および保持期間(Storage Accountの場合)を設定します。
- ログデータ: ログには、タイムスタンプ、送信元/宛先IPアドレス、送信元/宛先ポート、プロトコル、トラフィックの方向(Inbound/Outbound)、アクション(Allow/Deny)、NSGルール名などが含まれます。v2ログは、スループット情報なども含みます。
- 保存先:
- Azure Storage Account: 生のJSON形式でログが保存されます。長期保存や、他のツール(例: Splunk, QRadar)での分析に適しています。
- Log Analytics Workspace: ログデータが構造化され、Kustoクエリ言語(KQL)を使用して高度な分析や視覚化が可能です。Azure Monitorとの統合が容易です。
- Event Hubs: ログデータをリアルタイムでストリーミングし、カスタムアプリケーションやSIEMシステムに統合するのに適しています。
- Traffic Analyticsとの統合: Log Analyticsに送信されたフローログデータは、Traffic Analyticsによってさらに高度に分析・視覚化できます(後述)。
活用方法:
- セキュリティ監視と監査: ネットワークへの不正アクセス試行、内部からの不審な通信、特定のポートへのスキャン活動などを検知・分析できます。コンプライアンス要件(例えば、PCI DSS)のためにトラフィック記録を保存する必要がある場合にも利用されます。
- トラブルシューティング: 特定のアプリケーションが通信できない場合、関係するNSGのフローログを確認することで、トラフィックがNSGによって拒否されているか、または許可されているにも関わらず他の原因で通信が失敗しているかを判断できます。拒否ログがあれば、どのルールで拒否されているかが分かります。
- ネットワークトラフィックの分析: どのVMがどれくらいのトラフィックを生成しているか、どのプロトコルが主に使われているか、地理的なトラフィックパターンなどを把握し、ネットワーク設計や容量計画に役立てることができます。
- アプリケーション依存関係の特定: アプリケーションを構成する異なる層(Web, App, DBなど)の間で実際にどのような通信が発生しているかを確認し、アプリケーションの依存関係をマッピングできます。
- NSGルールの最適化: 実際に使用されていないNSGルールや、意図しないトラフィックを許可/拒否しているルールを特定し、NSG構成を最適化できます。
考慮事項:
- フローログの生成と保存にはコストが発生します(Storage Accountの容量、Log Analyticsへのデータ取り込み/保持コスト)。詳細なログ記録は有用ですが、コストとメリットのバランスを考慮する必要があります。
- 大量のフローログデータを手動で分析するのは困難です。Log AnalyticsやTraffic Analytics、または他の分析ツールとの連携が必須です。
- NSGフローログは、NSGが関連付けられているNICを通過するトラフィックのみを記録します。サブネットやVMではなく、NSG自体に関連付けられます。
6. トラフィック分析 (Traffic Analytics)
トラフィック分析は、NSGフローログデータを処理し、ネットワークアクティビティに関する洞察を視覚的に提供するクラウドベースのソリューションです。地理的な分布、アプリケーションレベルの通信、トップトーカ、プロトコル分布などを、インタラクティブなマップやグラフで表示します。NSGフローログの生データを見るだけでは難しい、ネットワーク全体の状況把握を容易にします。
機能の概要:
- NSGフローログの保存先としてLog Analytics Workspaceを指定している場合に利用できます。
- NSGフローログデータを収集、処理、集約し、Azure Portal上でリッチな視覚化を提供します。
- 地理的マップ: トラフィックの送信元と宛先の地理的な分布を表示します。
- アプリケーション マップ: アプリケーションを構成するリソース間の通信フローを視覚化します。
- トップトーカ: 最も多くのトラフィックを生成しているVM、NSG、ポートなどを特定します。
- プロトコル分布: 使用されているネットワークプロトコルの分布を示します。
- 悪意のあるフロー: Microsoft Threat Intelligenceデータと照合し、既知の悪意のあるIPアドレスとの通信を特定します。
- トラフィックパス: ソースと宛先の間のネットワークパスと関連付けられたNSGを表示します。
活用方法:
- ネットワーク全体の状況把握: 複雑なAzure環境におけるトラフィックのパターンや傾向を、一目で把握できます。
- セキュリティインシデント調査: 不審なトラフィックや、外部の悪意のあるIPアドレスとの通信を迅速に特定し、調査を開始できます。
- アプリケーションパフォーマンスの分析: アプリケーションコンポーネント間の通信パターンを確認し、ボトルネックや不要なトラフィックがないかを分析できます。
- 容量計画: トラフィック量の多いリソースやリンクを特定し、将来の拡張計画に役立てます。
- NSGルールのレビューと改善: どのトラフィックが許可/拒否されているかを視覚的に確認し、NSGルールの効果を評価・改善できます。
考慮事項:
- トラフィック分析を利用するには、NSGフローログをLog Analytics Workspaceに送信する必要があります。
- トラフィック分析自体の処理コストが発生します(Log Analyticsのデータ取り込み/保持コストとは別)。
- データの処理には通常数分から数十分かかります(リアルタイムではありません)。
7. VPN 診断 (VPN troubleshooting)
VPN診断機能は、Azure VPN Gatewayの接続問題を診断するために設計されています。サイト間(Site-to-Site)またはポイント対サイト(Point-to-Site)VPN接続のステータスを確認し、一般的な問題(共有キーの不一致、ローカル/リモートIPアドレスの誤りなど)を特定するのに役立ちます。
機能の概要:
- 特定のVPN Gateway接続を選択し、診断を開始します。
- Network WatcherがVPN接続の状態(接続されているか、切断されているかなど)と、診断結果を提供します。
- 診断結果には、接続が失敗している理由に関する情報(例えば、ISAKMPまたはIPsecのエラー、認証の失敗など)や、推奨される対策が含まれる場合があります。
活用方法:
- VPN接続問題の迅速な診断: オンプレミスネットワークとAzure間のVPN接続が確立できない、または不安定な場合に、問題の根本原因を特定するための最初のステップとして利用します。
- 一般的な構成ミスの特定: 共有キーがオンプレミスとAzure Gatewayで一致しない、IPアドレスやプリフィックスが誤って構成されているなど、よくあるVPN設定ミスを検出するのに役立ちます。
考慮事項:
- VPN診断機能は、Azure VPN Gateway自体に関する問題に焦点を当てています。オンプレミスVPNデバイス側の問題、ローカルネットワークのルーティング問題、または中間のファイアウォールによるブロックなどは直接診断できません。
- 診断できる情報は限られています。より詳細なトラブルシューティングには、VPN Gatewayの診断ログや、オンプレミスデバイスのログを組み合わせる必要があります。
8. パケット キャプチャ (Packet capture)
パケットキャプチャ機能を使用すると、Azure仮想マシン上でネットワークトラフィックをキャプチャできます。これは、特定のVMに到達するまたは発信するトラフィックの詳細な分析が必要な場合に非常に有用です。OSレベルのツール(tcpdump, Wiresharkなど)を使用する代わりに、Network Watcherからリモートでキャプチャを開始・停止できます。
機能の概要:
- 特定のAzure仮想マシンを選択します。
- キャプチャのフィルター(プロトコル、ローカル/リモートIP/ポート、方向など)と、キャプチャの期間または最大バイト数を指定します。
- キャプチャされたパケットを保存するStorage Accountまたはローカルファイルパス(VM上)を指定します。
- Network Watcherが指定されたVM上でキャプチャプロセスを開始します(VM上にNetwork Watcher Agentがインストールされている必要があります)。
- キャプチャが完了すると、指定した場所にpcap形式のファイルとして保存されます。このファイルは、Wiresharkなどのパケットアナライザで開いて詳細に分析できます。
活用方法:
- 詳細なトラブルシューティング: アプリケーションレベルの通信問題、特定のプロトコルの問題、ネットワークデバイス間の詳細なやり取り(例えば、TLSハンドシェイクの失敗)などを診断したい場合に、パケットレベルで状況を確認できます。
- セキュリティ調査: 不審な通信の内容をパケットレベルで分析し、マルウェアの活動やデータ流出の痕跡などを調査できます。
- アプリケーション開発/デバッグ: アプリケーションが期待通りにネットワーク通信を行っているかを確認し、ネットワーク関連のバグを特定できます。
考慮事項:
- パケットキャプチャはVMのリソース(CPU、ディスクI/O)を使用します。長時間のキャプチャやフィルタリングなしの大量キャプチャは、VMのパフォーマンスに影響を与える可能性があります。
- キャプチャされたパケットには機密情報が含まれる可能性があるため、保存先のStorage Accountのセキュリティや、pcapファイルの取り扱いに注意が必要です。
- キャプチャを開始するには、対象VMにNetwork Watcher AgentまたはAzure Monitor Agentがインストールされ、実行されている必要があります。
9. 接続トラブルシューティング (Connection Troubleshoot)
(※注: この機能は以前の「接続モニター」機能の単発実行版のような位置づけであり、新しい「接続モニター」機能が継続的な監視に特化しているのに対し、こちらは特定の時点での接続テストを提供します。Portal上では「接続モニター」の一部として提供される場合や、独立した項目として存在する場合がありますが、概念的には新しい「接続モニター」の単発テスト機能として理解すると良いでしょう。)
この機能は、ソースVMから宛先VMへの接続が特定のポートとプロトコルで成功するかどうかを単発でテストします。IPフロー検証がNSGのみをチェックするのに対し、接続トラブルシューティングはNSG、UDR、システムルートなど、パス上の他の要素も考慮して接続性を評価します。
機能の概要:
- ソースVMと宛先VM、ポート、プロトコルを指定してテストを実行します。
- テスト結果として、接続が成功したか失敗したかが表示されます。
- 失敗した場合は、パス上のどこで失敗したか(例: NSG、UDR、OSファイアウォール、宛先が到達不能など)、およびその原因(例: NSG [NSG名] のルール [ルール名] によって拒否)が詳細に示されます。
- テストパス上のホップごとの遅延情報も提供されます。
活用方法:
- 単発の接続テスト: アプリケーションのインストール後や構成変更後に、特定のサービスエンドポイントへの接続性を素早く確認したい場合に便利です。
- 接続問題の診断: 特定の2つのVM間の通信ができない場合に、IPフロー検証と組み合わせて利用することで、原因がNSGだけでなくルーティングやその他の要素にある可能性を含めて診断できます。
考慮事項:
- このテストはスナップショットであり、リアルタイムまたは継続的な監視には向いていません。継続的な監視が必要な場合は、新しい「接続モニター」機能を使用します。
- ソースVMにはNetwork Watcher AgentまたはAzure Monitor Agentが必要です。
10. 診断ログとメトリック (Diagnostic Logs and Metrics)
Network Watcher自体もAzureサービスとして、その操作に関する診断ログとメトリックを生成します。これらのログは、Network Watcherサービスの利用状況、発生したエラー、または構成変更などを追跡するために利用できます。
機能の概要:
- Network Watcherリソース(リージョンごとに存在)に対して診断設定を構成できます。
- ログカテゴリ(例: NetworkWatcherLogs)を選択し、保存先(Log Analytics Workspace、Storage Account、Event Hubs)を指定します。
- 収集されたログは、Log Analyticsでクエリしたり、Storage Accountでアーカイブしたり、Event Hubs経由で他のシステムに取り込んだりできます。
- Network Watcherサービスの可用性やリクエスト数などのメトリックもAzure Monitorで確認できます。
活用方法:
- Network Watcherの使用状況監視: 誰が、いつ、どのようなNetwork Watcher機能を使用したかを監査できます。
- サービスの状態監視: Network Watcherサービス自体に問題が発生していないかを確認できます。
- コスト管理: 利用状況ログを分析して、Network Watcher関連コストを把握・予測できます。
Network Watcherと他のAzureサービスの連携
Network Watcherは、単独でも強力ですが、Azure MonitorやLog Analyticsなどの他のAzureサービスと連携することで、その価値をさらに高めます。
- Azure Monitor / Log Analytics: NSGフローログ、Traffic Analyticsのデータ、接続モニターのデータ、およびNetwork Watcher自身の診断ログは、Log Analytics Workspaceに送信され、Azure Monitorの強力な分析・視覚化機能(Kustoクエリ、ワークブック、グラフ)を活用できます。これにより、大量のログデータから有用な洞察を引き出し、カスタマイズされたダッシュボードを作成できます。
- Azure Monitor Alerts: Log Analyticsに収集されたデータや、Connection Monitorのメトリックに対してアラートルールを設定できます。例えば、特定のVM間の接続成功率が低下した場合や、RTTが閾値を超えた場合に、自動的に担当者に通知することができます。
- Azure Security Center / Azure Defender for Cloud: NSGフローログとTraffic Analyticsは、セキュリティ関連の洞察を提供するため、Azure Security CenterやAzure Defender for Cloudの脅威検出やセキュリティ態勢管理機能と組み合わせて利用されることがあります。
- Azure Sentinel: AzureのSIEM(Security Information and Event Management)ソリューションであるAzure SentinelにNSGフローログやTraffic Analyticsのデータを連携させることで、より広範なセキュリティログデータ(VMログ、AADログなど)と関連付けて分析し、高度な脅威ハンティングやインシデントレスポンスを行うことができます。
- Power BI: Log Analytics WorkspaceのデータをPower BIにエクスポートまたは直接接続することで、より高度なレポートやダッシュボードを作成し、ネットワークの状態や利用状況をビジネス視点で分析することが可能です。
- Automation Accounts / Azure Functions: Network Watcherの診断結果(例: VPN診断の結果)を自動的に取得し、Azure Automation runbookやAzure Functionsをトリガーして、修復アクションを実行したり、インシデント管理システムに通知を送信したりする自動化シナリオを構築できます。
Network Watcherの効果的な活用とベストプラクティス
Network Watcherを最大限に活用し、快適なAzureネットワーク環境を実現するためのいくつかのベストプラクティスを以下に示します。
- 関連するリージョンでNetwork Watcherを有効にする: Network Watcherはリージョンごとに有効化する必要があります。監視・診断が必要なリソースが存在するすべてのAzureリージョンでNetwork Watcherを有効にしてください。通常、VMやVNetを作成する最初の段階で自動的に有効化されますが、念のため確認することを推奨します。
- NSGフローログを有効化し、Log Analyticsに送信する: これはネットワーク可視性の基盤です。主要なNSG(特にアプリケーションへの入口や、重要なセグメント間)に対してフローログを有効化し、Log Analytics Workspaceに送信する構成を強く推奨します。これにより、トラフィック分析や詳細なクエリが可能になり、日々の運用、トラブルシューティング、セキュリティ監査の質が大幅に向上します。
- Traffic Analyticsを活用する: Log Analyticsにフローログを送信したら、Traffic Analyticsを有効化して視覚的な洞察を得てください。これにより、ネットワーク全体の状況を素早く把握し、異常なパターンを検知しやすくなります。
- 接続モニターで主要な接続をプロアクティブに監視する: アプリケーションの可用性やパフォーマンスにとって重要な接続(例: Web-App、App-DB、Azure-OnPremises、Azure-SaaS)に対して、新しい接続モニターを設定してください。継続的な監視により、ユーザーが問題を報告する前に、ネットワーク品質の低下や接続障害を検知し、対応を開始できます。
- Azure Monitor Alertsを設定する: 接続モニターのメトリック(成功率、遅延、損失)や、Log Analyticsで分析したフローログのクエリ結果(例: 特定の送信元からの拒否された接続が急増した)に基づいてアラートを設定します。これにより、問題を自動的に通知として受け取り、迅速に対応できます。
- RBACを使用してアクセスを管理する: Network Watcherの機能はネットワーク構成やトラフィックに関する機密情報にアクセスできるため、Azureロールベースアクセス制御(RBAC)を使用して、必要なユーザーやグループのみがNetwork Watcherの機能にアクセスできるように制限します。また、フローログの保存先(Storage AccountやLog Analytics Workspace)へのアクセスも同様に保護します。
- 定期的にログデータと分析結果をレビューする: NSGフローログ、Traffic Analyticsのレポート、接続モニターの結果を定期的にレビューすることで、ネットワークの利用状況、セキュリティ状況、パフォーマンスのトレンドを把握し、将来の計画や最適化に役立てることができます。
- トラブルシューティングワークフローに組み込む: ネットワーク問題が発生した場合の標準的なトラブルシューティング手順に、Network Watcherの利用を組み込みます。例えば、「接続できない」という報告を受けたら、まずトポロジで構成を確認し、次にIPフロー検証や次ホップでルーティング/NSGの問題をチェックし、必要に応じて接続モニターやパケットキャプチャで詳細を調査する、といったフローを定めます。
Network Watcherのコスト
Network Watcher自体は、サービスの有効化や一部の機能(トポロジ、IPフロー検証、次ホップ、VPN診断、接続トラブルシューティングなど)の利用に対して直接的な料金は発生しません。しかし、以下の機能については利用量に応じたコストが発生します。
- NSG フロー ログ:
- フローログデータの処理料金: フローログが有効化されている期間、収集されるデータ量に応じて料金が発生します。
- 保存先の料金: ログデータの保存先として指定したAzure Storage AccountやLog Analytics Workspace、Event Hubsの利用料金(データストレージ、データ取り込み、データ保持、データ転送など)が別途発生します。
- トラフィック分析: Log Analyticsに送信されたNSGフローログデータをトラフィック分析が処理・集約するための料金が発生します。処理されるデータ量に応じて課金されます。
- 接続モニター (新しいバージョン):
- テスト料金: 接続モニターで実行される接続テストの数に応じて料金が発生します。
- 保存先の料金: 接続モニターのテスト結果を送信するLog Analytics WorkspaceまたはAzure Storage Accountの利用料金が別途発生します。
- パケット キャプチャ: キャプチャされたパケットデータの保存先として指定したAzure Storage Accountの利用料金が発生します。
Network Watcher関連のコストは、主にデータ量と利用する機能(特にフローログとトラフィック分析、接続モニター)によって変動します。大規模な環境で詳細なログ記録や広範な監視を行う場合は、それなりのコストが発生する可能性があるため、事前に料金ページを確認し、計画的に利用することが重要です。不要なNSGのフローログを無効化したり、Storage Accountの保持期間を適切に設定したりすることで、コストを最適化できます。
まとめ:Azure Network Watcherで実現する快適なクラウドネットワーク運用
Azure Network Watcherは、複雑化するクラウドネットワーク環境において、可視性、診断能力、および監視能力を提供するための不可欠なサービスです。トポロジの視覚化から始まり、IPフロー検証、次ホップによるルーティング診断、接続モニターによる継続的なパフォーマンス監視、NSGフローログとトラフィック分析による広範なネットワークアクティビティ分析、VPN診断、そして詳細なパケットキャプチャに至るまで、Azureネットワークに関連するほぼすべての運用課題に対応するツールを提供します。
これらの機能を単独で利用するだけでなく、Azure Monitor、Log Analytics、Security Centerなどの他のAzureサービスと連携させることで、Network Watcherはさらに強力なソリューションとなります。プロアクティブな監視による問題の早期発見、迅速なトラブルシューティングによるダウンタイムの削減、詳細な分析に基づくネットワークの最適化、そして継続的なセキュリティ監視とコンプライアンス対応の強化など、Network WatcherはAzureネットワークを「快適」に保つための鍵となります。
Azureでリソースをデプロイする際は、Network Watcherの有効化(通常は自動)を確認し、特にNSGフローログとTraffic Analytics、そして重要な接続に対する接続モニターの設定を検討することを強く推奨します。これらのツール群を効果的に活用することで、Azureネットワークに関する「見えない」「分からない」といった不安を解消し、より安定した、より安全な、そしてよりパフォーマンスの高いアプリケーションとサービスの提供を実現できるでしょう。Azureネットワークの健全性を確保し、ビジネスの成功を支えるために、Azure Network Watcherを最大限に活用してください。