Route Table Review Checklistを理解するための前提
route tableのreview対象はroute行だけではなく、どのsubnetへassociateされているかまで含む。 0.0.0.0/0はmanagement、Azure service、Internet egressへ広く影響するため最重要change。
longest prefix matchにより、狭いrouteがdefault route等より優先される。 UDR、BGP、system routeのsource/priorityをeffective routeで確認し、設定ファイルだけで結論を出さない。
VirtualNetworkGateway route propagation無効化はhybrid reachabilityを変えるため、BGP利用環境で明示reviewする。 VirtualAppliance next hopではIP forwarding、NVA health、symmetric return pathを同時に確認する。
Control plane と data plane
仕組みと設計上の意味
reviewは「追加routeは正しいか」ではなく「既存prefixとの競合」「影響subnet」「reverse path」まで見る。
change requestにsource/destination/portだけでなくexpected next hopを必須化するとreview品質が上がる。
route table shared useでは1行変更が複数workloadへ波及するためassociation inventoryが重要。
rollback routeの再投入だけでなくroute propagation/convergenceとstateful sessionを考慮する。
Packet / decision path
source→destinationを1本のflowとして固定し、名前解決・routing・security・NAT/service processing・return pathを必要な範囲で順に確認する。
- route tableとassociation一覧を取得。
- 新旧routeをprefix長順に並べる。
- 代表NICのeffective route beforeを保存。
- 変更後に同一destinationでeffective route/Next hopを再取得。
- forward/return双方のapplication testとlogsを確認。
設計判断
| 判断点 | 推奨 | 理由 |
|---|---|---|
| Prefix | 重複/より狭いprefixを比較 | LPMによるunexpected winner防止 |
| Next hop | type/IP/serviceを確認 | blackhole/loop防止 |
| Association | 影響subnetを列挙 | blast radius明確化 |
| Rollback | 元route + validation flowを定義 | 戻しただけで終わらせない |
確認手順
Azure Portal
- Route table → Subnetsでassociationを確認。
- Routesをprefix/next hopでreview。
- 代表VM NIC → Effective routesをbefore/after比較。
Evidence contract
az network route-table show -g <rg> -n <rt> -o jsonc
az network route-table route list -g <rg> --route-table-name <rt> -o table
az network nic show-effective-route-table -g <rg> -n <nic> -o table
az network watcher show-next-hop -g <rg> --vm <vm> --source-ip <src> --dest-ip <dst> -o jsoncGet-AzRouteTable -ResourceGroupName <rg> -Name <rt>
Get-AzEffectiveRouteTable -NetworkInterfaceName <nic> -ResourceGroupName <rg>
障害切り分け
| 症状 | 疑う点 | 証拠 | 次の確認 |
|---|---|---|---|
| 変更後全Internet不可 | 0/0 next hop誤り | effective route + NVA health | default route rollback |
| 一部prefixだけ不可 | more-specific conflict | effective route | prefix競合修正 |
| on-premだけ不可 | BGP propagation/UDR競合 | BGP + effective route | propagation確認 |
| 片方向だけ不可 | return path非対称 | 両端route/log | reverse route修正 |
変更・rollback
- before JSONを保存し、route ID/priority相当の変更点をdiff化。
- shared route tableは影響subnet ownerへ通知。
- rollback実行条件と担当をchange前に定義。
- rollback後はeffective routeと実通信を再取得。