AZ700-CORE#111
Spoke VM から外部 Web API への通信が突然失敗するようになりました。Network Watcher を使った標準的なトラブルシュート手順を順序付けてください。
- IP Flow Verify で NSG が当該通信を拒否していないか即座に確認
- NSG OK なら Effective Routes で経路 (UDR/ピアリング/BGP) を確認
- Connection Troubleshoot で エンドツーエンド経路を実行 (ホップごとのレイテンシ + 到達性)
- 必要に応じて Packet Capture でパケット レベル詳細分析 (TCP フラグ、HTTP 応答等)
解説
【正しい順序】
- ステップ 1: IP Flow Verify (NSG 判定)
- ステップ 2: Effective Routes (UDR 判定)
- ステップ 3: Connection Troubleshoot (経路全体)
- ステップ 4: Packet Capture (詳細)
【各ステップの理由】
- ステップ 1: IP Flow Verify: 最も多い原因 = NSG ルールの設定ミス。IP Flow Verify で即座に判定でき、許可/拒否を確認すれば原因切り分けの最速手段。実行時間 数秒、コスト ゼロ。
- ステップ 2: Effective Routes: NSG OK の場合、次に疑うのは経路 (UDR が誤って 0.0.0.0/0 を None に向けていないか、ピアリング切断、Firewall NextHop 不在等)。Azure Portal の VM の NIC で確認可能です。
- ステップ 3: Connection Troubleshoot: 経路 OK でも到達失敗の場合、エンドツーエンドのホップ別レイテンシ + 到達性を分析。Firewall ルール、外部 DNS、宛先サービス側障害も切り分け。
- ステップ 4: Packet Capture: L3-L4 OK でも L7 で失敗 (TLS handshake 失敗、HTTP エラー応答等) の場合、Wireshark で読める PCAP を取得してプロトコル レベルで分析。VM に Network Watcher Agent が必要。
【段階的アプローチの理由】
| ステップ | 実行時間 | コスト | 得られる情報 |
|---|---|---|---|
| IP Flow Verify | 数秒 | 無料 | NSG 判定 + ルール名 |
| Effective Routes | 数秒 | 無料 | 経路情報 |
| Connection Troubleshoot | 数分 | 無料 | エンドツーエンド経路 |
| Packet Capture | 長時間 | VM 負荷 + ストレージ | L2-L7 詳細 |
| Connection Monitor | 継続 | Log Analytics 課金 | 長期トレンド + アラート |
【誤った順序の問題点】
- ❌ いきなり Packet Capture: 負荷 + ストレージ コスト大、原因が NSG なら過剰調査。
- ❌ Connection Monitor だけで終わる: 原因特定なしの監視は再発防止にならない。
- ❌ Routes を見ずに Troubleshoot: UDR が誤って 0.0.0.0/0 → None (Drop) になっていれば、Troubleshoot の結果も「到達不可」しか得られない。

コメント