Network Incident: First 15 Minutesを理解するための前提
最初の15分の目的はroot causeを完全に解くことではなく、impact、time window、test vector、recent change、first failing boundaryを固定すること。 症状を「ネットが遅い」で残さず、誰が・どこから・何へ・何protocol/portで・いつから・どのexpected resultに対して失敗したかへ変換する。
known-goodとknown-badを最低1組確保する。全体障害か特定region/subnet/client/backendだけかを比較で縮める。 change freezeの範囲とexceptionを明示し、診断中に複数NSG/UDR/DNS/WAFを同時変更して証拠を壊さない。
Network Watcher/Connection Monitor/flow logsは「過去から収集されていたもの」を優先し、incident後に有効化したtelemetryで過去を推測しない。 service restorationとroot-cause analysisは分離する。emergency mitigationを行ってもbefore evidenceとrollback条件を残す。
診断結果をどう読み分けるか
impact + time + change。誰が困っているか、最初のbad timestamp。
known-good/bad + DNS + tuple。比較対象を作る。
effective security/route + health。control planeでfailure domainを狭める。
Connection Troubleshoot/flow/packetへ。first evidence-based actionを決める。
障害が起きたときの調べ方
- 0-1分: incident ID、UTC/JST開始時刻、reporter、business impact、affected serviceを記録する。
- 1-3分: recent deployment/network/DNS/certificate/policy changeの有無を確認し、change ownerへ連絡する。
- 3-5分: failing clientとknown-good client、destination FQDN/IP、protocol/port、HTTP/TLS等の期待結果を固定する。
- 5-7分: failing sourceでDNS answer/TTLを記録し、resolved IPでnetwork test可能な状態にする。
- 7-9分: source/destinationのeffective security、IP Flow Verify、effective route/Next Hop、LB/AppGW/backend health等を確認する。
- 9-12分: Connection Monitor/flow logs/resource logsで最初のbad timestampとscopeを照合する。
- 12-15分: Connection Troubleshootまたは最小Packet Captureを実行し、次に調べるboundaryを1つ決める。
- 15分時点: confirmed facts、unknowns、mitigation候補、rollback条件、次ownerを短いcheckpointとして共有する。
仕組みと読み方
incident初動で最も高価なのは、技術的に難しいことより「条件が変わり続けること」です。ある人はFQDN、別の人はIP、別の人は別subnetから試すと、結果の差がnetwork faultなのかtest差なのか分からなくなります。first 15 minutesではtest vectorを固定し、比較可能なevidenceを作ることを優先します。
また「最後に変えたものが原因」と決め打ちもしません。recent changeは高優先の仮説ですが、change前から始まった障害、provider/platform issue、capacity、certificate expiryなどもあり得ます。timestamp correlationとbefore/after evidenceで確定します。
運用設計
| 判断軸 | 運用設計 |
|---|---|
| Incident template | source/destination/tuple/time/change/impactを必須field化。 |
| Telemetry readiness | VNet Flow Logs/diagnostic settings/Connection Monitorを平時に準備。 |
| Access | read-only diagnostic権限とbreak-glass change権限を分離。 |
| Evidence store | JSON/CSV/pcap/query text/screenshotの保存場所をincident IDで統一。 |
| Handoff | 15分checkpointでfact/unknown/action/ownerを分ける。 |
確認手順 / read-only first
実行前に固定する情報
- subscription / resource group / resource ID / region
- source IP/NIC/subnet と destination FQDN/IP
- protocol / source port / destination port
- UTC time window + JST表示
- expected result と known-good comparison
Evidence to keep
- command/query textとraw JSON/CSV
- Portal screenshotだけでなくresource IDを含む機械可読結果
- 変更前/変更後の同一test vector
- negative test と adjacent critical path
- rollback実施時の復帰確認
az account show -o jsonc
az network watcher list -o table
# 続いて対象flowに対する test-ip-flow / show-next-hop / test-connectivity を実行Get-Date -AsUTC
Get-AzContext
Get-AzNetworkWatcher
この結果で何を証明できるか
| 観測結果 | 証明できること | それだけでは証明できないこと |
|---|---|---|
| Known-good works | 少なくともそのcomparison pathは生存。 | shared component全体が正常とは限らない。 |
| Failure began at T | monitor/log/reportがT付近で悪化。 | Tのchangeが原因という因果。 |
| Effective route changed | control plane route stateがprevious baselineと差分。 | 実packetがそのrouteで失敗したこと。 |
| Mitigation restores service | mitigation後のjourney回復。 | root causeが完全確定。 |
| No flow logs before incident | 過去traffic evidence欠損。 | 後からenableして過去を復元はできない。 |
よくある切り分けの失敗
| 症状 / 状態 | 疑う層 | 次の証拠 |
|---|---|---|
| 全員が別testをする | test vector不統一 | incident leadがcanonical flowを1つ固定。 |
| NSGをすぐ全開 | evidenceなしchange | IP Flow Verify/route/healthを先に取得。 |
| 時刻が合わない | UTC/JST混在 | UTC基準に正規化しJSTを併記。 |
| 復旧したので調査終了 | mitigationとroot cause混同 | before/after diffとroot-cause follow-upを残す。 |
| ログがない | readiness gap | incident後にgapをpostmortem actionへ。 |
変更時の確認と rollback
- emergency mitigationには開始時刻、owner、expiry、rollback triggerを必須にする。
- DNS/route/security changeはcache/convergence/sessionを考慮し、new connectionで効果判定する。
- rollback後もincident test vectorがbaselineへ戻ったことを確認する。
Current notes — 2026-09-11
2026年current guidanceでNetwork Watcher、VNet Flow Logs、Traffic Analytics、Connection Monitorは互いに異なる観測目的を持ちます。本runbookは最初の15分で「どのtoolを使ったか」より「同じ条件の比較可能なevidenceを残したか」を完了条件にしています。
Related articles
Official sources
動作、support boundary、preview/GA、retirement、schemaはMicrosoft Learnのcurrent documentationを基準にしています。productionで使う際は対象subscription/region/resource provider/API/CLI versionの最新documentationを再確認してください。