Routing & Transit参照資料確認: 2026-09-10

System Routes

Azureがsubnetへ自動投入するsystem routeの種類、optional route、None/Internet/Peering/Gateway next hopをeffective stateから読む。

Scope: Microsoft Learn / Azure Architecture Centerの一次資料を基準に、設計と運用で判断が必要な点をpacket path中心に整理。SKU、region、limitsは変更されるため、実装時はOfficial sourcesのcurrent documentationを再確認してください。

System Routesを理解するための前提

Azureは各subnetにsystem routeを自動作成し、ユーザーはsystem route自体を削除できない。 VNet address spaceはVirtual network next hop、0.0.0.0/0はInternet、代表private rangesにはNone routeが初期配置される。

Peering、Virtual Network Gateway、service endpoint等を有効化するとoptional system routeが追加される。 UDRで一部system routeをoverrideできるが、service endpoint等にはpreferred routeとして特別な優先挙動がある。

route table resourceを見ただけではsystem/BGP/peering routeが見えないため、NIC effective routesを確認する。 None next hopはdropを意味し、未使用private rangeの誤送信を外へ出さない役割を持つ。

通信や判断の流れを追う
SourceEffective routeNext hopDestinationReturn path

Control plane と data plane

Control planePortal / ARM / CLIで定義されたresource、association、route advertisement、peering flagなど。設定がSucceededでもpacket到達を保証しない。
Data plane実際のsource/destination/5-tupleが選ぶroute、NAT、security device、return path。Effective state、Next hop、logs、packet capture、application testで証明する。

仕組み

system routeはAzure SDNがcontrol planeから生成する。VNet address rangeを追加すると対応するVirtual network routeも変化する。

peeringを作るとremote address space向けVirtual network peering route、gatewayがrouteを学習するとVirtual network gateway routeがeffective stateへ加わる。

destinationごとのroute selectionはLPM→優先規則で行われる。System routeを単独で読むより、UDR/BGPを合成した結果を見る。

Packet path

routing問題は「どのresourceがあるか」ではなく、packetが各hopで何を選ぶかを順に追う。

  1. packet destination IPを確定。
  2. subnetにprogramされたsystem/UDR/BGP/peering routesを候補化。
  3. longest prefix matchを適用。
  4. 同一prefix候補のpriority/preferred route ruleを評価。
  5. selected next hopへforwardまたはNoneでdrop。

設計判断

判断点推奨理由
Read pathsystem route一覧ではなくNIC effective routesを基準にする。runtimeに近いprogrammed stateを確認できる。
OverrideUDR投入前に既存optional/preferred routeを確認。意図せぬPaaS/gateway path変更を防ぐ。
Private rangesNone routeとVNet address rangeの関係を理解。「RFC1918だから自動でVNet内へ行く」と誤認しない。
ChangeVNet address space/peering/gateway change後にeffective stateを再取得。control-plane changeがrouteへ反映されたことを証明。

確認手順

Azure Portal

  • NIC → Effective routesでSource/Address prefix/Next hop type/Stateを確認。
  • VNet/Peering/Gateway設定と照合。
  • destination-specificにはNetwork Watcher Next hopを併用。

Verification discipline

  • subscription / resource group / resource IDを記録する。
  • 同じsource・destinationでbefore/afterを比較する。
  • read-only evidenceを保存してから変更する。
  • control-plane successとapplication successを別々に判定する。
Azure CLI — read-only first
az network nic show-effective-route-table -g <rg> -n <nic> -o table
az network route-table list -g <rg> -o table
PowerShell — read-only first
Get-AzNetworkInterface -ResourceGroupName <rg> -Name <nic>

障害切り分け

症状疑う点証拠次の確認
0/0がInternetに見えるsystem defaultが残っているeffective routeのよりspecific/UDR有無selected routeをdestination単位で確認
private prefixがNoneVNet address space/BGP/UDRに該当routeなしeffective route必要なprefixを正しいsourceから導入
Peering後にrouteがないpeering未成立/sync不足peering state両方向 peering/sync確認
PaaSだけ想定routeを無視service endpoint preferred routeeffective route next hop typeservice endpoint設計を確認

変更時の確認と rollback

  • system route自体はrollback対象ではなく、それを変化させたpeering/VNet/gateway/service settingを戻す。
  • change前後のeffective route diffを保存。
  • None/Internet next hop変更はcritical flowをnew connectionで再試験。

Official sources