Reachability Verificationを理解するための前提
Network VerifierはAVNM scope内のresource/policyを静的解析し、source→destination pathとblocking controlを示す。 2026-09時点のMicrosoft LearnではNetwork VerifierはGAだが提供regionが限定されるため、利用regionをcurrent docsで確認する。
NSG/ASG、security admin rule、VNet peering、route table、service endpoint/ACL、Private Endpoint、Virtual WAN、Azure Firewall static L4等を分析対象に含む。 analysis resultはsupported featureを対象としたcontrol-plane reasoningであり、実packetやapplication responseを直接観測するものではない。
Network Watcher Connection troubleshoot/Next hop/IP flow verifyはruntime troubleshootingの補完として使う。 complianceでは「denyされること」の証明もallowと同じくintentとして保存する。
Control plane と data plane
仕組みと設計上の意味
static verifierのPASSをapplication successと同義にしない。
unsupported NVA behaviorやdynamic L7 policyは別途logs/testが必要。
Verifier scopeはNetwork Manager parent scopeに依存するため、対象resourceがscope外なら結果に含まれない。
pre-change intentとpost-change resultを保存するとchange validation evidenceとして再利用できる。
Packet / decision path
source→destinationを1本のflowとして固定し、名前解決・routing・security・NAT/service processing・return pathを必要な範囲で順に確認する。
- source/destination/protocol/port intentを固定。
- Network Verifierでpolicy pathを分析。
- blocking/allowing resourceを記録。
- Network Watcher/runtime testで同じ5-tupleを確認。
- 結果差異があればunsupported layer/DNS/app/NVAを調査。
設計判断
| 判断点 | 推奨 | 理由 |
|---|---|---|
| Design review | Verifier intentを事前作成 | configuration導入前にreachabilityを検討 |
| Change gate | before/after result保存 | unexpected policy drift検出 |
| Incident | Verifier→runtime toolの順 | config vs data planeを分離 |
| Compliance | expected denyも定義 | least privilegeを証明 |
確認手順
Azure Portal
- Virtual Network Manager → Verifier workspaceでanalysis intent/resultを確認。
- source/destination resourceとport/protocolが依頼要件と一致するか確認。
- Connection troubleshoot/Next hop等でruntime evidenceを追加。
Evidence contract
az network watcher test-connectivity -g <rg> --source-resource <vm-or-id> --dest-address <fqdn-or-ip> --dest-port <port>
az network watcher show-next-hop -g <rg> --vm <vm> --source-ip <src> --dest-ip <dst> -o jsonc
az network watcher test-ip-flow -g <rg> --vm <vm> --direction Outbound --protocol TCP --local <src:port> --remote <dst:port>
障害切り分け
| 症状 | 疑う点 | 証拠 | 次の確認 |
|---|---|---|---|
| Verifier PASSだが通信不可 | DNS/app/unsupported appliance | runtime test/log | data plane layerへ進む |
| Verifier DENY | NSG/route/security admin rule等 | result blocker | blocking resourceを修正 |
| resourceが選べない | Network Manager scope/region制約 | scope + availability | scope/region確認 |
| 結果が古い/想定外 | configuration drift | resource current config | analysis rerun |
変更・rollback
- analysis intent/resultをchange evidenceとして保存。
- policy変更はexpected allow/deny両方のtest matrixを用意。
- rollback後にVerifierとruntime testを再実行。
- tool unsupported機能は手動検証項目として明示。