Gateway Route Propagationを理解するための前提
Virtual Network Gatewayが学習/保持するon-prem prefixはsubnetのeffective routesへpropagateされる。 route table単位でgateway route propagationをdisableできる。
propagation disableはcentral inspectionへtrafficを向ける設計で使うが、必要なon-prem reachabilityを同時に失う可能性がある。 GatewaySubnetでgateway route propagationを無効化しない。gateway機能を壊す可能性がある。
UDR/BGP/system routeとのpriority/LPMをeffective routesで確認する。 gateway transitを使うspokeではpeering flagsとpropagation behaviorをセットで確認する。
Control plane と data plane
仕組み
gatewayがBGP/static configからlearnしたprefixはAzure routingへ反映され、subnet route tableへpropagateされる。
route tableでpropagationをdisableすると、そのtableをassociateしたsubnetではgateway由来routeがeffective stateから除外される方向に作用する。
代わりにNVAへのUDRを使うなら、NVAからon-premへのrouteとreturn advertisementまで別途設計する。
Packet path
routing問題は「どのresourceがあるか」ではなく、packetが各hopで何を選ぶかを順に追う。
- on-prem prefixがgatewayへlearn/definedされる。
- gateway routeがVNet routingへpropagate。
- source subnet route tableがpropagationを許可/拒否。
- effective route selectionでwinner決定。
- selected gateway/NVA pathを通りreturn routeを確認。
設計判断
| 判断点 | 推奨 | 理由 |
|---|---|---|
| Default | 理由がなければpropagation enabledを維持。 | hybrid reachabilityの暗黙破壊を避ける。 |
| Disable | inspection architectureと代替UDRを同じchangeで定義。 | blackholeを防ぐ。 |
| GatewaySubnet | disable/不適切UDRを避ける。 | gateway platform requirementを優先。 |
| Evidence | gateway learned routesとNIC effective routesを比較。 | 「gatewayにrouteがある」と「subnetで使える」を分離。 |
確認手順
Azure Portal
- Route table → Propagate gateway routesを確認。
- GatewayのBGP learned routes/connection stateを確認。
- spoke NIC Effective routesでon-prem prefixのSource/Next hopを確認。
Verification discipline
- subscription / resource group / resource IDを記録する。
- 同じsource・destinationでbefore/afterを比較する。
- read-only evidenceを保存してから変更する。
- control-plane successとapplication successを別々に判定する。
az network route-table show -g <rg> -n <rt> --query "{disableBgpRoutePropagation:disableBgpRoutePropagation,routes:routes}" -o jsonc
az network nic show-effective-route-table -g <rg> -n <nic> -o tableGet-AzRouteTable -ResourceGroupName <rg> -Name <rt>
障害切り分け
| 症状 | 疑う点 | 証拠 | 次の確認 |
|---|---|---|---|
| on-prem全prefix消失 | propagation disabled | route table property + effective routes | enableまたは必要UDR復元 |
| 一部prefixだけ別path | more-specific UDR/BGP | effective routes | LPM/source確認 |
| spokeだけhybrid不達 | gateway transit/remote gateway flag | peering flags + effective routes | peering/gateway sharing修正 |
| gateway自体不調 | GatewaySubnet route table misconfig | GatewaySubnet association | unsupported UDR/propagation設定を除去 |
変更時の確認と rollback
- disable前にlearned routesとeffective routesを保存。
- 代替UDR/NVA pathを先に検証。
- canary subnetでhybrid critical flowsを試験。
- rollback時はpropagationだけでなくNVA/UDR変更もreverse orderで戻す。