Azure Network Watcher を使用してネットワークを監視する
Azure Network Watcher
Azure Network Watcher は地域サービスであり、ネットワーク シナリオ レベルで Azure 内と Azure 間の状態を監視して診断できます。 シナリオ レベルの監視により、エンドツーエンドのネットワーク レベル ビューで問題を診断できます。 Network Watcher に搭載されているネットワークの診断および監視ツールを使用して、Azure 内のネットワークを把握および診断し、洞察を得ることができます。 Network Watcher は、Network Watcher リソースを作成することで有効になります。これにより、Network Watcher の機能を利用できます。 Network Watcher は、Virtual Machines、Virtual Networks、アプリケーション ゲートウェイ、ロード バランサーなど、IaaS 製品のネットワーク正常性を監視して修復するように設計されています。
- パケット キャプチャを使ってリモート ネットワーク監視を自動化する。 Network Watcher を使用すると、仮想マシン (VM) にログインすることなくネットワークの問題を監視して診断できます。 アラートを設定することでパケット キャプチャをトリガーし、パケット レベルでリアルタイムのパフォーマンス情報にアクセスできます。 問題が見つかった場合は、詳細を調査して、より適切な診断を行うことができます。
- フロー ログを使用して、ネットワーク トラフィックの分析情報を取得します。 ネットワーク セキュリティ グループのフロー ログにより、ネットワーク トラフィックのパターンをより深く把握できます。 フロー ログから得られた情報をもとに、コンプライアンスに関するデータを収集し、ネットワークのセキュリティ プロファイルを監査、監視できます。
- VPN 接続の問題を診断する。 Network Watcher には、VPN Gateway と接続に関する最も一般的な問題を診断する機能があります。 問題を特定できるだけでなく、作成された詳細なログを使用して、さらに調査することもできます。
Network Topology: Network Watcher のトポロジ機能を使用すると、仮想ネットワーク内のリソースと、リソース間の関係を示す図を生成できます。
IP フローを確認する: インターネットとの間、またはオンプレミス環境との間の接続の問題を迅速に診断します。 たとえば、仮想マシンとの間のイングレスまたはエグレス トラフィックが、セキュリティ規則によってブロックされているかどうかを確認します。 IP フロー検証は、セキュリティ規則が正しく適用されていることを確認するのに最適です。 トラブルシューティングに使用したときに、IP フロー検証で問題が示されない場合は、ファイアウォールの制限などの他の部分を調べる必要があります。
ネクスト ホップ: ネクスト ホップを表示することにより、トラフィックが目的の宛先に送られているかどうかを確認します。 これは、ネットワーク ルーティングが正しく構成されているかどうかを判断するのに役立ちます。 また、次ホップは関連するルート テーブルを返します。 ルートがユーザー定義のルートとして定義されている場合、そのルートが返されます。 それ以外の場合、次ホップはシステム ルートを返します。 状況に応じて、ネクスト ホップは、インターネット、仮想アプライアンス、仮想ネットワーク ゲートウェイ、VNet ローカル、VNet ピアリング、またはなしのいずれかになります。 なしの場合は、宛先への有効なシステム ルートが存在する場合でも、トラフィックを宛先にルーティングするためのネクスト ホップが存在しないことがわかります。 仮想ネットワークを作成すると、ネットワーク トラフィックの送信ルートが既定でいくつか作成されます。 仮想ネットワーク内にデプロイされたすべてのリソース (VM など) からの送信トラフィックは、Azure の既定のルートに基づいてルーティングされます。 Azure の既定のルートをオーバーライドしたり、追加のルートを作成したりできます。
有効なセキュリティ規則: ネットワーク セキュリティ グループは、サブネット レベルまたは NIC レベルで関連付けられています。 サブネット レベルに関連付けた場合、サブネット内のすべての VM インスタンスに適用されます。 有効なセキュリティ規則ビューは、仮想マシン用に NIC レベルまたはサブネット レベルで関連付けられた、すべての構成済み NSG と規則を返して、構成に対する洞察を提供します。 さらに、有効なセキュリティ規則を VM の各 NIC に返します。 有効なセキュリティ規則ビューを使用することで、開いているポートなどのネットワークの脆弱性について VM を評価できます。
VPN 診断: ゲートウェイと接続のトラブルシューティングを行います。 VPN 診断からは、豊富な情報が返されます。 概要情報はポータルで利用でき、さらに詳細な情報はログ ファイルで提供されます。 ログ ファイルはストレージ アカウントに格納され、接続の統計情報、CPU とメモリの情報、IKE のセキュリティ エラー、パケットの破棄、バッファーとイベントなどが含まれます。
パケット キャプチャ: Network Watcher の可変パケット キャプチャを使用すると、仮想マシンとの間で送受信されるトラフィックを追跡するパケット キャプチャ セッションを作成できます。 パケット キャプチャは、事後と事前に、ネットワークの異常を診断するのに役立ちます。 その他の用途には、ネットワーク統計の収集、ネットワークへの侵入に関する情報を取得などがあり、クライアント サーバー間の通信のデバッグなどに役立ちます。
接続のトラブルシューティング: Azure Network Watcher の接続のトラブルシューティングは、ネットワーク ツールと機能の Network Watcher スイートに最近追加されたものです。 接続のトラブルシューティングを使用すると、Azure でのネットワークのパフォーマンスと接続に関する問題のトラブルシューティングを行うことができます。
NSG フロー ログ: NSG フロー ログにより、ネットワーク セキュリティ グループを介して IP トラフィックがマップされます。 これらの機能は、セキュリティ コンプライアンスと監査で使用できます。 組織のセキュリティ ガバナンスのモデルとして、セキュリティ規則の規範的なセットを定義できます。 定期的なコンプライアンス監査は、規範的な規則とネットワーク内の各 VM の有効な規則とを比較することによって、プログラムによる方法で実装できます。
Network Watcher の構成
サブスクリプションで仮想ネットワークを作成したり更新したりすると、お使いの Virtual Network のリージョンで Network Watcher が自動的に有効になります。 Network Watcher は自動的に有効化され、リソースや関連する料金が影響を受けることはありません。
Azure portal で Network Watcher を作成するには次のようにします。
[すべてのサービス] > [ネットワーク] > [Network Watcher] の順に移動します。
サブスクリプションを右クリックし、[すべての領域での Network Watcher の有効化] を選択します。
状態が [有効] として表示されていることに注意してください。
リージョンを展開すると、このサブスクリプション内のすべてのリージョンが有効になっていることがわかります。
ポータルを使用して Network Watcher を有効にすると、Network Watcher インスタンスの名前が自動的に NetworkWatcher_region_name に設定されます (region_name は、インスタンスが有効にされている Azure リージョン)。 たとえば、米国西部リージョンで有効になっている Network Watcher の名前は NetworkWatcher_westus です。
Network Watcher インスタンスが NetworkWatcherRG という名前のリソース グループに自動的に作成されます。 このリソース グループが存在しない場合は、新たに作成されます。
Azure portal で特定のリージョンの Network Watcher を無効にするには、リージョンのセクションを展開し、Network Watcher を無効にするリージョンの名前を右クリックして、[Network Watcher を無効にする] をクリックします。
NSG フロー ログを構成する
ネットワーク セキュリティ グループ (NSG) を使用すると、VM のネットワーク インターフェイスへの受信トラフィックまたは送信トラフィックを許可または拒否できます。
NSG フロー ログは Azure Network Watcher の機能であり、NSG を流れる IP トラフィックに関する情報をログに記録できます。 "NSG フロー ログ" 機能では、送信元および宛先 IP アドレス、ポート、プロトコルのほか、トラフィックが NSG によって許可または拒否されたかどうかをログに記録できます。 Power BI や Azure Network Watcher の Traffic Analytics 機能など、さまざまなツールを使用してログを分析できます。
NSG フロー ログの一般的なユース ケースは次のとおりです。
- ネットワーク監視 - 不明または不要なトラフィックを特定します。 トラフィック レベルと帯域幅の消費を監視します。 アプリケーションの動作を把握するために、フロー ログを IP およびポートでフィルター処理します。 監視用ダッシュボードを設定するために、選択した分析および視覚化ツールにフロー ログをエクスポートします。
- 使用状況の監視と最適化 - ネットワークのトップ トーカーを特定します。 GeoIP データと組み合わせて、リージョン間のトラフィックを識別します。 容量の予測用にトラフィックの増加について把握します。 データを使用して、明らかに制限の厳しいトラフィック規則を削除します。
- コンプライアンス - フロー データを使用して、ネットワークの分離とエンタープライズ アクセス規則への準拠を確認します。
- ネットワーク フォレンジクスとセキュリティ分析 - 侵害された IP とネットワーク インターフェイスからのネットワーク フローを分析します。 選択した SIEM または IDS ツールにフロー ログをエクスポートします。
NSG フロー ログは、以下のいずれかの場所から有効にすることができます。
Azure portal で NSG フロー ログのパラメーターを構成するには、[Network Watcher] の [NSG フロー ログ] セクションに移動します。
NSG の名前をクリックして、フロー ログの [設定] ウィンドウを表示します。
必要なパラメーターを変更し、[保存] をクリックして変更をデプロイします。
接続モニター
接続モニターの概要
接続モニターを使用すると、Azure Network Watcher で、統合されたエンド ツー エンドの接続監視が提供されます。 接続モニターの機能では、ハイブリッド デプロイと Azure クラウド デプロイがサポートされています。 Network Watcher には、Azure のデプロイに対する接続に関連したメトリックを監視、診断、表示するためのツールが用意されています。
以下に、接続モニターのいくつかのユース ケースを示します。
- フロントエンド Web サーバー VM と、多層アプリケーション内のデータベース サーバー VM が通信している。 2 つの VM 間のネットワーク接続を確認したい。
- 米国東部リージョンの VM から、米国中部リージョンの VM に ping を実行して、リージョン間のネットワーク待ち時間を比較したい。
- ワシントン州シアトルと、バージニア州アッシュバーンに複数のオンプレミス オフィス サイトがある。 オフィス サイトは Microsoft 365 の URL に接続している。 Microsoft 365 URL のユーザーについて、シアトルとアッシュバーンの間で待機時間を比較する。
- ハイブリッド アプリケーションで Azure Storage エンドポイントに接続する必要がある。 オンプレミスのサイトと Azure アプリケーションは、同じ Azure Storage エンドポイントに接続する。 オンプレミス サイトの待機時間と、Azure アプリケーションの待機時間を比較したい。
- オンプレミスのセットアップと、クラウド アプリケーションがホストされている Azure VM 間の接続を確認したい。
接続モニターは 2 つの機能の長所を兼ね備えています。Network Watcher の接続モニター (クラシック) 機能と、Network Performance Monitor (NPM) のサービス接続モニター、ExpressRoute 監視、パフォーマンス モニター機能です。
以下に、接続モニターの利点をいくつか示します。
- Azure とハイブリッドの監視のニーズに対応した、統合された直感的なエクスペリエンス
- クロス リージョン、クロス ワークスペースの接続の監視
- プローブ頻度の増加、およびネットワーク パフォーマンスの可視性の向上
- ハイブリッド デプロイでのアラートの高速化
- HTTP、TCP、ICMP に基づく接続チェックのサポート
- Azure と Azure 以外のテストのセットアップに対するメトリックと Log Analytics のサポート
接続モニターの設定
監視用に接続モニターを設定するには、いくつかの重要なステップを実行する必要があります。
- 監視エージェントのインストール - 接続モニターでは、軽量の実行可能ファイルに依存して接続チェックを実行します。 Azure 環境とオンプレミス環境両方からの接続チェックがサポートされています。 使用する実行可能ファイルは、VM が Azure とオンプレミスのどちらでホストされているかによって異なります。 詳細については、「監視エージェントのインストール」を参照してください。
- サブスクリプションで Network Watcher を有効にする - 仮想ネットワークを持つすべてのサブスクリプションは、Network Watcher で有効になります。 サブスクリプションで仮想ネットワークを作成すると、その仮想ネットワークのリージョンとサブスクリプションで、Network Watcher が自動的に有効になります。 この自動有効化により、リソースが影響を受けたり、料金が発生したりすることはありません。 Network Watcher がサブスクリプションで明示的に無効になっていないことを確認してください。
- 接続モニターを作成する - 接続モニターは定期的に通信を監視します。 それにより、到達可能性と待機時間の変化が通知されます。 また、ソース エージェントとターゲット エンドポイントの間の現在および過去のネットワーク トポロジを確認することもできます。 監視エージェントがインストールされている Azure VM またはオンプレミス コンピューターを、ソースにすることができます。 ターゲット エンドポイントとしては、Microsoft 365 URL、Dynamics 365 URL、カスタム URL、Azure VM リソース ID、IPv4、IPv6、FQDN、または任意のドメイン名を使用できます。
- データ分析とアラートを設定する - 接続モニターが収集するデータは、Log Analytics ワークスペースに保存されます。 このワークスペースは、接続モニターを作成したときに設定されています。 監視データは Azure Monitor メトリックでも使用できます。 Log Analytics を使用すると、監視データを必要な限りいつまでも保持できます。 既定では、メトリックは Azure Monitor によって 30 日間だけ保管されます。 詳細については、「データ収集、分析、アラート」を参照してください。
- ネットワークの問題を診断する - 接続モニターは、接続モニターとネットワークの問題を診断するのに役立ちます。 ハイブリッド ネットワークの問題は、前にインストールした Log Analytics エージェントによって検出されます。 Azure の問題は、Network Watcher の拡張機能によって検出されます。 Azure ネットワークの問題は、ネットワーク トポロジで確認できます。 詳細については、「ネットワークの問題を診断する」を参照してください。
接続モニターを作成する
接続モニターを使用して作成する接続モニターでは、オンプレミスのマシンと Azure VM の両方をソースとして追加できます。 これらの接続モニターでは、エンドポイントへの接続も監視できます。 エンドポイントは、Azure 上にあっても、他の任意の URL や IP 上にあってもかまいません。
接続モニターには、次のエンティティが含まれています。
- 接続モニター リソース – リージョン固有の Azure リソース。 以下のすべてのエンティティが、接続モニター リソースのプロパティです。
- エンドポイント –接続チェックに含まれるソースまたはターゲット。 エンドポイントの例としては、Azure VM、オンプレミスのエージェント、URL、IP などがあります。
- テスト構成 – テスト用のプロトコル固有の構成。 選択したプロトコルに基づいて、ポート、しきい値、テストの頻度、その他のパラメーターを定義できます。
- テスト グループ – ソース エンドポイント、ターゲット エンドポイント、テスト構成が含まれるグループ。 接続モニターには、複数のテスト グループを含めることができます。
- テスト – ソース エンドポイント、ターゲット エンドポイント、テスト構成の組み合わせ。 テストは、監視データを入手できる最も小さいレベルです。 監視データには、失敗したチェックの割合と、ラウンドトリップ時間 (RTT) が含まれます。
Azure portal、ARMClient、または PowerShell を使用して接続モニターを作成できます。
[Azure portal] を使用して [接続モニター] でモニターを作成するには次のようにします。
Azure portal のホーム ページで、 [Network Watcher] に移動します。
左側のウィンドウの [監視] で、[接続モニター] を選択し、[作成] をクリックします。
[接続モニターの作成] ページの [基本] タブで、新しい接続モニターについて次の情報を入力する必要があります。
フィールド 情報 接続モニター名 接続モニターの名前を入力します。 Azure リソースの標準的な名前付けルールを使用します。 サブスクリプション リストから Azure サブスクリプションを選択します。 リージョン 接続モニターのリージョンを選択します。 選択できるのは、このリージョンに作成されたソース VM のみです。 ワークスペースの構成 カスタム ワークスペースまたは既定のワークスペースを選択します。 ワークスペースには監視データが保持されます。
既定のワークスペースを使用するには、チェック ボックスをオンにします。
カスタム ワークスペースを選択するには、チェック ボックスをオフにします。 そして、カスタム ワークスペースのサブスクリプションとリージョンを選択します。[次へ: テスト グループ]>> をクリックします。
次のページで、テスト グループにソース、テスト構成、および宛先を追加できます。 接続モニターの各テストグループには、ネットワーク パラメーターでテストされるソースとターゲットが含まれています。 これらは、失敗した検査の割合と、テスト構成に対するラウンド トリップ タイム (RTT) についてテストされます。
[テスト グループの追加] をクリックします。
[次へ: アラートの作成]>> をクリックします。
[アラートの作成] タブでは、テスト構成で設定されたしきい値に基づいて、失敗したテストに関するアラートを設定できます。
アラートでは次の情報を入力する必要があります。
- [アラートの作成] (チェック ボックス): このチェック ボックスを選択して、Azure Monitor でメトリック アラートを作成できます。 このチェック ボックスをオンにすると、他のフィールドの編集が有効になります。 (注: アラートの追加変更が適用されます。)
- [スコープ (リソース/階層)]: ここでの値は、[基本] タブで指定した値に基づいて自動的に入力されます。
- [条件]: アラートが [テスト結果 (プレビュー)] メトリックで作成されている。 接続モニター テストの結果が失敗した場合は、アラート ルールが起動します。
- [アクション グループ]: メールアドレスを直接入力することも、アクション グループを介してアラートを作成することもできます。 メール アドレスを直接入力すると、NPM Email ActionGroup という名前のアクション グループが作成されます。 メール ID がそのアクション グループに追加されます。 アクション グループを使用する場合は、以前に作成したアクション グループを選択する必要があります。
- [アラート規則名]: これは接続モニターの名前であり、既に入力されています。
- [作成時に規則を有効にする]: このチェック ボックスをオンにすると、条件に基づいてアラート規則が有効になります (既定の設定)。 おそらく評価やテストの目的で、またはまだデプロイする準備ができていないために、規則を有効にせずに作成する場合は、このチェック ボックスを無効にします。
[次へ: 確認と作成]>> をクリックします。
情報を確認し、[作成] をクリックします。
Traffic Analytics
Traffic Analytics は、クラウド ネットワークでのユーザーとアプリケーションのアクティビティを可視化するクラウドベースのソリューションです。 Traffic Analytics では、Network Watcher ネットワーク セキュリティ グループ (NSG) フロー ログを分析して、Azure クラウド内のトラフィック フローに関する分析情報を提供し、NSG フロー ログに書き込まれたデータの高度な視覚化を提供します。
Traffic Analytics を使用すると、次のことが可能になります。
- Azure サブスクリプション全体のネットワーク アクティビティを視覚化し、ホットスポットを特定する。
- 開いているポート、インターネット にアクセスしようとしているアプリケーション、承認されていないネットワークに接続している仮想マシン (VM) などの情報を使用して、ネットワークに対するセキュリティの脅威を特定し、ネットワークをセキュリティで保護する。
- Azure リージョン間やインターネット上でのトラフィック フロー パターンを把握して、ネットワークのデプロイをパフォーマンスと容量に最適化する。
- ネットワークでの接続の失敗の原因となるネットワークの構成の誤りを特定する。
Traffic Analytics のしくみ
トラフィック分析では、生の NSG フロー ログを調べ、同じ送信元 IP アドレス、宛先 IP アドレス、宛先ポート、およびプロトコルでよく発生するフローを集約することによって削減されたログを取り込みます。 たとえば、ホスト 1 (IP アドレス: 10.10.10.10) とホスト 2 (IP アドレス: 10.10.20.10) が、ポート (例: 80) とプロトコル (例: http) を使用して 1 時間に 100 回通信したとします。 削減されたログには、100 個のエントリが含まれるのではなく、ホスト 1 とホスト 2 が、ポート 80 と HTTP プロトコルを使用して 1 時間に 100 回通信したことを示す 1 つのエントリが含まれます。 削減されたログは、地域、セキュリティ、トポロジの情報が追加された後に、Log Analytics ワークスペースに格納されます。
次の図は、データ フローを示しています。
Traffic Analytics の主要なコンポーネントは次のとおりです。
- ネットワーク セキュリティ グループ (NSG) - Azure Virtual Network に接続されているリソースへのネットワーク トラフィックを許可または拒否するセキュリティ規則のリストが含まれています。 NSG はサブネットに関連付けることができるほか、クラシック モデルについては個々の VM に、Resource Manager モデルについては VM にアタッチされた個々のネットワーク インターフェイス (NIC) に関連付けることができます。 詳細については、ネットワーク セキュリティ グループの概要に関する記事をご覧ください。
- ネットワーク セキュリティ グループ (NSG) のフロー ログ - ネットワーク セキュリティ グループを使用したイングレスおよびエグレス IP トラフィックに関する情報を表示できます。 NSG フロー ログは JSON 形式で記述され、規則ごとの送信フローと受信フロー、フローが適用される NIC、フローに関する 5 組の情報 (送信元/宛先 IP アドレス、送信元/宛先ポート、プロトコル)、トラフィックが許可されているか拒否されているかが示されます。 NSG フロー ログの詳細については、NSG フロー ログに関する記事をご覧ください。
- Log Analytics - 監視データを収集し、そのデータを中央リポジトリに格納する Azure サービス。 このデータには、Azure API によって提供されるイベント、パフォーマンス データ、またはカスタム データを含めることができます。 一度収集されたデータは、アラート、分析、エクスポートに使用できます。 Network Performance Monitor やトラフィック分析などの監視アプリケーションは、Azure Monitor ログを基盤として構築されています。 詳細については、Azure Monitor ログに関するページを参照してください。
- Log Analytics ワークスペース - Azure アカウントに関連するデータが格納される Azure Monitor ログのインスタンス。 Log Analytics ワークスペースの詳細については、Log Analytics ワークスペースの作成に関するページを参照してください。
- Network Watcher - ネットワーク シナリオ レベルで状況を監視および診断できる Azure のリージョン サービス。 Network Watcher で NSG フロー ログを有効または無効にすることができます。 詳細については、「Network Watcher」をご覧ください。
トラフィックを分析するには、トラフィックの分析対象となる NSG がある各リージョンで、既存の Network Watcher を使用するか、Network Watcher を有効にする必要があります。 トラフィック分析は、サポートされているリージョンのいずれかでホストされている NSG に対して有効にすることができます。
NSG フロー ログを有効にする前に、フローをログに記録する、対象のネットワーク セキュリティ グループを選択する必要があります。 ネットワーク セキュリティ グループがない場合は、Azure ポート、Azure CLI、または PowerShell を使用して作成する必要があります。
Traffic Analytics を表示するには、ポータルの検索バーで Network Watcher を検索します。 Network Watcher で、トラフィック分析とその機能を調べるには、左側のメニューから [Traffic Analytics] を選択します。
次のスクリーンショットの例は、Traffic Analytics ダッシュボードを示しています。