Routing & TransitReviewed 2026-09-10

User-Defined Routes (UDR)

subnetのroute tableへstatic routeを定義し、Virtual appliance、Virtual network gateway、Internet等へnext hopを制御する。

Scope: 設計・運用で誤りやすい点を優先して整理。SKU/region/limitsは変更されるため、実装時はリンク先のcurrent Microsoft Learnを再確認してください。

Overview

subnetのroute tableへstatic routeを定義し、Virtual appliance、Virtual network gateway、Internet等へnext hopを制御する。

Key technical points

  • route tableは0個以上のsubnetに関連付けられるが、1 subnetに関連付けられるroute tableは1つ。
  • longest prefix matchが先で、同prefixならUDR > BGP > systemのpriorityが基本。
  • GatewaySubnetでgateway route propagationを無効化するとgatewayが機能しないため避ける。

Design guidance

  • routeは「設定値」ではなくNICから見たeffective stateで検証する。
  • longest prefix、route source、propagation、peering、BGPを順に確認する。
  • stateful NVAを通す場合は往路だけでなくreturn pathとSNAT有無を必ず設計する。

Operations checklist

  1. 対象NICのeffective route tableを取得する。
  2. destinationごとにNext Hopを確認する。
  3. NVA/BGP peerのlearned/advertised routesと往復経路を確認する。

Common pitfalls

  • UDRだけ見てBGP/system/peering routeを無視する。
  • return pathを設計せずstateful NVAでdropする。

Azure CLI quick check

read-only確認を優先し、実環境のsubscription/resource名へ置換してください。

az network route-table route list -g <rg> --route-table-name <rt> -o table

Verification pattern

Control plane
resource state、association、policy、route/BGP configが期待通りかを確認。
Data plane
同一5-tupleまたは実application journeyで到達性・latency・security判定を実証。
Observability
diagnostic logs / flow logs / Network Watcherで実際の判定とpathを残す。
Rollback
設定を戻した後のroute convergence、DNS cache、existing sessionまで確認。

Official sources