変更要約: AZ-700 第3章を深掘り(図ja化・比較表/シナリオ/FAQ/ひっかけ/深掘り段落を全節に追加)
3.1システムルートとユーザー定義ルート(UDR)
Azure が自動で用意する システムルート と、それを上書きする ユーザー定義ルート(UDR)、適用先を束ねる ルートテーブル を理解します。トラフィックの「次のホップ」を制御するのがルーティングの基本です。
VNet 内の通信は既定で システムルート により自動的に流れます。これを意図的に変えたいときに UDR(ユーザー定義ルート)で次のホップを上書きします。
3.1.1ルーティングの仕組み
ルーティングでは、NVA や ExpressRoute/VPN ゲートウェイと VNet のルートを BGP で動的に交換する Azure Route Server を使うと、静的なユーザー定義ルート(UDR)の手動管理が不要になり、経路を自動で伝播できます。
- システムルート:VNet 内・ピアリング・ゲートウェイ等への経路を Azure が自動で用意する(既定)。
- UDR:宛先プレフィックス→次のホップを定義し、システムルートを上書きする。
- 次のホップ:仮想アプライアンス(NVA)・仮想ネットワークゲートウェイ・インターネット・なしなどを指定する。
- ルートテーブル:UDR をまとめ、サブネットに関連付けて適用する。
「既定の経路=システムルート」「経路を上書き=UDR(宛先→次のホップ)」「ルートテーブルはサブネットに関連付け」「経路選択は最長プレフィックス一致、同条件なら UDR>BGP>システム」 は AZ-700 で頻出です。トラフィックを NVA に通したいときは UDR の次ホップを NVA にします。
次ホップを「なし(None)」にすると、その宛先へのトラフィックは破棄されます。意図的に遮断したいときに使えます。
Azure が自動で持つシステムルートには、VNet 内(10.0.0.0/16 など)・ピアリング・ゲートウェイ(VPN/ExpressRoute)・既定のインターネット(0.0.0.0/0 → Internet)が含まれます。さらに サービスエンドポイント を有効にすると、対象 PaaS のプレフィックスへ最適化された サービスタグ ルート が自動で入ります。UDR の次ホップ種別は 仮想アプライアンス(VirtualAppliance)(IP を明示)・仮想ネットワークゲートウェイ・VNet・インターネット・なし(None) の 5 種です。経路選択は
①最長プレフィックス一致 →
②同じ長さなら UDR > BGP > システム の順で決まります(0.0.0.0/0 同士なら UDR が勝つ)。VirtualAppliance を指定する UDR は、対象 NVA で IP 転送を有効にしないと実際には転送されません。BGP で学習した経路を無視して UDR を確実に効かせたいときは、ルートテーブルの ゲートウェイのルート伝播を無効化 します。なお NSG(許可/拒否)と UDR(経路)は独立で、両方を満たさないと通信は成立しません。
| 次ホップ種別 | 意味 | 代表用途 |
|---|---|---|
| 仮想アプライアンス | 指定 IP の NVA へ転送 | ファイアウォール検査・サービスチェイニング |
| 仮想ネットワークゲートウェイ | VPN/ExpressRoute GW へ | オンプレ向け・強制トンネリング |
| インターネット | Azure 既定の外向き経路 | PaaS/公開宛て |
| なし(None) | 破棄(ブラックホール) | 特定宛先を意図的に遮断 |
シナリオ: 既定では VM がインターネットに直接出てしまうが、すべての外向きを検査用 NVA に通したい。→ サブネットにルートテーブルを関連付け、0.0.0.0/0 → 仮想アプライアンス(NVA の IP) の UDR を作成します。NVA 側で IP 転送を有効化し、必要なら BGP 伝播を無効化して UDR を確実に優先させます。
FAQ: Q. 同じ 0.0.0.0/0 をシステム・BGP・UDR が持つとどれが使われますか? → A. プレフィックス長が同じなので優先順位で決まり、UDR が勝ちます。Q. UDR と NSG はどちらが先に効きますか? → A. 役割が別です。UDR は経路(どこへ送るか)、NSG は許可/拒否。両方が通って初めて通信できます。
ひっかけ: 「UDR を設定すれば NSG なしでも通信が許可される」は誤りです。UDR は経路、NSG は許可/拒否で別物。また「次ホップを仮想アプライアンスにすれば自動で転送される」も誤り(NVA 側の IP 転送有効化が必須)。
3.1.2この節のまとめ
- システムルート(既定)を UDR で上書き(宛先→次のホップ)
- ルートテーブルはサブネットに関連付け、選択は最長プレフィックス一致
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. Azure の既定の経路(システムルート)を上書きして、トラフィックの次のホップを制御したい。何を使いますか?
Q2. UDR をまとめて適用するため、ルートテーブルは何に関連付けますか?
Q3. すべての外向きトラフィック(0.0.0.0/0)を検査用アプライアンスに通したい。UDR の次のホップは何にしますか?

