Packet Walk Methodを理解するための前提
Packet Walkは「Azureのどこかで止まる」を、source process→DNS→source NIC/security→route→transit/NVA/LB→destination→return pathへ分解する方法。 forward pathだけでなくreturn pathを別flowとして必ず確認する。NVA/forced tunneling/hybridではasymmetric routingが典型failureになる。
各hopで「期待構成」「Azure-selected/effective state」「active test」「historical telemetry」のうちどの証拠を持つかを明示する。 FQDNは最初にIPへ解決して固定するが、DNS自体がroot cause候補なのでquery path/TTL/private zone linkageを別stepで記録する。
L4 reachabilityとL7 application successを分離する。TCP 443 reachableでもTLS SNI/Host/WAF/backend healthで失敗できる。 変更はpacket walkでfailure boundaryが狭まってから行い、同じwalkをpost-changeへ再利用する。
診断結果をどう読み分けるか
clientが何をどのresolverでどのIPへ解決したか。
source security + route + transit + destination entry。
LB/AppGW/Front Door/Firewall/NVAでconnectionが終端・NAT・再生成される境界。
destinationからsourceへのroute/security/NAT/session state。
障害が起きたときの調べ方
- User journeyを1つ選ぶ: source host/process、URL/FQDN、resolved IP、protocol/port、expected response、timestamp。
- DNS query pathを確認し、A/AAAA/CNAME、private/public zone、TTL、sourceが使うresolverを保存する。
- source NICのeffective security/IP Flow Verifyとeffective route/Next Hopを同じdestination IPで確認する。
- peering/VPN/ER/Firewall/NVA/LB/AppGW等の境界を図に並べ、各境界でNAT/proxy/Host/SNI/source IPがどう変わるか記録する。
- destination側のsecurity、listener/backend health、guest listen/application logを確認する。
- return pathをdestination→sourceとしてroute/security/NAT/session stateまで逆向きに確認する。
- 不明境界だけConnection Troubleshoot/flow log/packet captureでdata-plane evidenceを追加する。
- 修正後、同じsource/URL/new connectionで全walkを短縮再実行し、隣接正常flowとnegative testも確認する。
仕組みと読み方
Packet Walkは特定Azure製品ではなく、複数serviceを跨ぐ障害を証拠の連鎖として扱う運用モデルです。重要なのは「route tableにこのrouteがある」ではなく「このNICからこのdestinationへAzureが選んだnext hopは何か」、「NSGにallowがある」ではなく「このtupleはどのruleでAllowか」と実効状態へ落とすことです。
proxy/LBを跨ぐと5-tupleが変わる場合があります。Application Gatewayならclient→frontendとGateway→backendは別connectionです。DNAT/SNAT/NVAではsource/destinationが変換されます。そのため1本の線で考えず、connection boundaryごとに新しいtupleを記録します。
運用設計
| 判断軸 | 運用設計 |
|---|---|
| Canonical diagram | production topologyをresource ID/subnet/prefix/next-hop付きで維持。 |
| Tuple ledger | 境界ごとにbefore/after NAT、source/dest、protocol/portを表にする。 |
| Evidence link | 各hopの証拠URL/command/queryをrunbookへ紐付ける。 |
| Bidirectional | return path確認を省略しない。stateful device/sessionも考慮。 |
| Stop rule | 証拠がない状態で複数設定を同時変更しない。 |
確認手順 / 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実施時の復帰確認
# 例: source VMでsecurity -> route -> reachability の順
az network watcher test-ip-flow ...
az network watcher show-next-hop ...
az network watcher test-connectivity ...# 同一source/destinationを維持してTest-AzNetworkWatcherIPFlow / NextHop / Connectivityを実行
この結果で何を証明できるか
| 観測結果 | 証明できること | それだけでは証明できないこと |
|---|---|---|
| DNS answer fixed | そのclient/resolver/timeの名前解決結果。 | 別client/TTL後も同じIP。 |
| Security Allow | そのboundaryのpolicy permit。 | 次hop到達。 |
| Expected Next Hop | Azure-selected routeが設計通り。 | middlebox forward成功。 |
| Packet at destination | forward pathがdestination capture pointまで到達。 | return/application success。 |
| Application 200 + logs | journeyがL7まで成功。 | negative security requirementまで満たすこと。 |
よくある切り分けの失敗
| 症状 / 状態 | 疑う層 | 次の証拠 |
|---|---|---|
| 途中まで全部正常 | 次boundaryを未観測 | connection termination/NAT後の新tupleを探す。 |
| 片方向だけpacketあり | return path/asymmetry | reverse effective route + stateful device。 |
| IP直打ちは成功/FQDN失敗 | DNS/Host/SNI | resolver/CNAME/Host header/TLS SNIへ。 |
| 同じserviceで一部backendのみ失敗 | LB/backend health | backend別health/log/captureで比較。 |
| 変更後に別通信が壊れた | blast radius/negative test不足 | adjacent + deny testをchange validationへ追加。 |
変更時の確認と rollback
- packet walkのfailure boundaryと変更対象を1対1にする。
- rollback条件を「何分以内にどのtestが回復しないか」のobservable条件で決める。
- rollback後もroute convergence/DNS cache/session reuseを考慮してnew connectionで再確認する。
Current notes — 2026-09-11
current Azure observability guidanceはNetwork Watcherのreal-time diagnostics、VNet Flow Logs、Traffic Analytics等を役割別に示しています。Packet Walkではこれらを単一toolの代替ではなく、同一test vectorに対する異なるevidence layerとして組み合わせます。
Related articles
Official sources
動作、support boundary、preview/GA、retirement、schemaはMicrosoft Learnのcurrent documentationを基準にしています。productionで使う際は対象subscription/region/resource provider/API/CLI versionの最新documentationを再確認してください。