この記事では、UDR 管理の概要、それが重要な理由、そのしくみ、および UDR 管理を使用して簡素化および自動化できる一般的なルーティング シナリオについて説明します。
UDR 管理とは?
Azure Virtual Network Managerは、望ましいルーティング動作を記述し、ユーザー定義ルート(UDR)をオーケストレーションしてそのルーティング動作を作成・維持できるようにします。 ユーザー定義ルートは、ルーティング動作の管理における自動化と簡素化の必要性に対処します。 現在は手動でユーザー定義ルート(UDR)を作成するか、カスタムスクリプトを使用しています。 しかし、これらの方法は誤りが起こりやすく、非常に複雑です。 Virtual WANでAzure管理のハブを使うことができます。 このオプションには、ハブのカスタマイズができないやIPv6対応がないなどの制限があり、貴組織には関係ない場合があります。 仮想ネットワークマネージャーでUDR管理を使うことで、ルーティング動作の管理と保守のための集中ハブができます。
UDR 管理はどのように機能しますか?
仮想ネットワーク マネージャーでは、ルーティング構成を作成します。 構成内で、ネットワーク グループ (ターゲット ネットワーク グループ) に必要な UDR を記述するルール コレクションを作成します。 ルールコレクションでは、ルートルールはターゲットネットワークグループのサブネットや仮想ネットワークの望ましいルーティング動作を表します。 構成を作成したら、その設定を リソース に適用するためにデプロイしてください。 デプロイ時には、既定では、すべてのルートが、仮想ネットワーク マネージャーで管理されるリソース グループ内にあるルート テーブルに格納されます。 また、ターゲット サブネットの既存のルート テーブルを使用して更新することもできます。 Azure Virtual Network Manager では、必要な場合にのみ新しいルート テーブルが作成されます。 既存のルートテーブルを使い更新するには、APIバージョン2025-01-01以降が必要です。
ルーティング構成では、ルート ルールで指定された内容に基づいて UDR が作成されます。 たとえば、2 つの仮想ネットワークで構成されるスポーク ネットワーク グループが、ファイアウォールを介して DNS サービスのアドレスにアクセスすることを指定できます。 ネットワーク マネージャーは、このルーティング動作を実現するために UDR を作成します。
ルーティング構成
ルーティング構成は、UDR 管理の構成要素です。 これらは、ネットワーク グループの目的のルーティング動作を記述するために使用されます。 ルーティング構成は、次の設定で構成されます。
| 属性 | 説明 |
|---|---|
| 名前 | ルーティング構成の名前。 |
| 説明 | ルーティング構成の説明。 |
ルート コレクションの設定
ルート コレクションは、次の設定で構成されます。
| 属性 | 説明 |
|---|---|
| 名前 | ルート コレクションの名前。 |
| BGP ルート伝達を有効にする | ルート コレクションの BGP 設定。 |
| ターゲット ネットワーク グループ | ルート コレクションのターゲット ネットワーク グループ。 |
| ルート ルール | ターゲット ネットワーク グループの目的のルーティング動作を記述するルート ルール。 |
ルート ルールの設定
各ルート ルールは、次の設定で構成されます。
| 属性 | 説明 |
|---|---|
| 名前 | ルート ルールの名前。 |
| 送信先の種類 | |
| IP アドレス | ターゲットの IP アドレス。 |
| 宛先 IP アドレス/CIDR 範囲 | 宛先の IP アドレスまたは CIDR 範囲。 |
| サービス タグ | 宛先のサービス タグ。 |
| 次ホップの種類 | |
| 仮想ネットワーク ゲートウェイ | 次ホップとしての仮想ネットワーク ゲートウェイ。 |
| 仮想ネットワーク | 次ホップとしての仮想ネットワーク。 |
| インターネット | 次ホップとしてのインターネット。 |
| 仮想アプライアンス | 次ホップとしての仮想アプライアンス。 |
| 次ホップ アドレス | 次ホップの IP アドレス。 |
次ホップの種類ごとに、「ユーザー定義されたルート」を参照してください。
IP アドレスの一般的な宛先パターン
ルート ルールを作成するときに、宛先の種類とアドレスを指定できます。 宛先の種類を IP アドレスとして指定する場合は、IP アドレス情報を指定できます。 一般的な宛先パターンを次に示します。一般的な宛先パターンを次に示します。
| トラフィックの宛先 | 説明 |
|---|---|
| インターネット > NVA | ネットワーク仮想アプライアンスを経由するインターネット宛てのトラフィックの場合は、ルールの宛先として 0.0.0.0/0 と入力します。 |
| プライベート トラフィック > NVA | ネットワーク仮想アプライアンスを経由するプライベート空間宛てのトラフィックの場合は、ルールの宛先として 192.168.0.0/16、172.16.0.0/12、40.0.0.0/24、10.0.0.0/24 と入力します。 これらの宛先は、RFC1918 プライベート IP アドレス空間に基づいています。 |
| スポーク ネットワーク > NVA | ネットワーク仮想アプライアンスを介して接続する 2 つのスポーク仮想ネットワーク間にバインドされたトラフィックの場合は、ルールの宛先としてスポークの CIDR を入力します。 |
次ホップとして Azure Firewall を使用する
ルーティング ルールの作成時に [Import Azure firewall private IP address]\(Azure ファイアウォールのプライベート IP アドレス の インポート\) を選択することで、次ホップとして Azure Firewall を簡単に選択することもできます。 そうすると、Azure Firewall の IP アドレスが次ホップとして使用されます。
1 つのルート テーブルでユーザー定義ルートを使用する
Azure Virtual Network Managerでは、オンプレミスのデータ センターからのトラフィックをファイアウォール経由でハブ アンド スポーク トポロジ内の各スポーク仮想ネットワークに転送するなど、より複雑なルーティング構成が可能になります。
ハブアンドスポーク トポロジでは、ユーザーが宛先に到達する前に、ハブ仮想ネットワーク内にあるファイアウォールでネットワーク トラフィックを検査またはフィルター処理することを要求するのが一般的です。 これを設定するには、次の手順に従います。
- Azure Virtual Network Manager インスタンスを作成します。
- ネットワーク グループを作成し、このネットワーク グループにゲートウェイ サブネットを含めます。
- ルーティング構成を確立し、ルール コレクションを作成して、ターゲット ネットワーク グループを手順 2 で作成したネットワーク グループとして設定します。
- スポーク仮想ネットワークのアドレス空間を追加して、ルーティング ルールを定義します。 ネクスト ホップを "仮想アプライアンス" に設定し、ファイアウォールの IP アドレスをネクスト ホップ アドレスとして指定します。
- ゲートウェイ サブネットが配置されているリージョンに、このルーティング構成をデプロイします。
新しいスポーク仮想ネットワークを追加する場合は、そのアドレス空間を既存のルールに含め、ルーティング構成を再デプロイするだけです。
UDR 管理を使用した一般的なルーティング シナリオ
UDR 管理を使用して簡素化および自動化できる一般的なルーティング シナリオを次に示します。
| ルーティングのシナリオ | 説明 |
|---|---|
| スポーク ネットワーク -> ネットワーク仮想アプライアンス -> スポーク ネットワーク | このシナリオは、ネットワーク仮想アプライアンス経由で接続する 2 つのスポーク仮想ネットワーク間でバインドされたトラフィックに使用します。 |
| スポーク ネットワーク -> ネットワーク仮想アプライアンス -> ハブ ネットワーク内のエンドポイントまたはサービス | このシナリオは、ネットワーク仮想アプライアンス経由で接続する、ハブ ネットワーク内のサービス エンドポイントのスポーク ネットワーク トラフィックに使用します。 |
| サブネット -> ネットワーク仮想アプライアンス -> サブネット (同じ仮想ネットワーク内でも可) | |
| スポーク ネットワーク -> ネットワーク仮想アプライアンス -> オンプレミス ネットワーク/インターネット | このシナリオは、ネットワーク仮想アプライアンスまたはオンプレミスの場所 (ハイブリッド ネットワーク シナリオなど) を経由してインターネット トラフィックが送信されている場合に使用します。 |
| 各ハブ内のネットワーク仮想アプライアンスを介したクロスハブおよびスポーク ネットワーク | |
| ハブ&スポークネットワークとスポークネットワークはオンプレミスへネットワーク仮想アプライアンス経由で接続する必要があります | |
| ゲートウェイ -> ネットワーク仮想アプライアンス -> スポーク ネットワーク |
AVNM UDR 管理にExisting モードを使用する
Important
既存のルートテーブルを使い更新するには、APIバージョン2025-01-01以降が必要です。
概要
UseExisting モードを使用 すると、Azure Virtual Network Manager (AVNM) は、新しいルート テーブルを作成するのではなく、既存のルート テーブルにルートを追加できます。
このモードは、より高度な 制御を提供し、 組織のポリシーに準拠し、お客様が既存のリソースの名前付け規則、タグ、またはリソース グループ構造を保持する必要がある場合の 運用の複雑さを 軽減します。
比較:
- ManagedOnly (既定値): AVNM は、常に独自のマネージド ルート テーブルを作成または再利用します。
- UseExisting: AVNM は、既存のサブネットに関連付けられたルート テーブルを使用し、プロパティを保持しながら必要なルートを追加します。
ステップ バイ ステップ: UseExisting モードを有効にする
1. ポータルまたは API を使用して有効にする
- AVNM ポータルを開くか、API を使用します。
- ルーティング構成を選択します。
-
routeTableUsageModeプロパティをUseExistingに設定します。- ルート テーブルがサブネットに既に存在する場合、AVNM は必要なルートを 追加 します。
- ルート テーブルが存在しない場合、AVNM によって自動的に 作成 されます。
2. モードの切り替え
-
ManagedOnlyとUseExistingはいつでも切り替えることができます。 - ManagedOnlyからUseExistingに切り替える際、サブネットはManagedOnly モードでAVNMが作成したルートテーブルに紐づいたままです。 これらのテーブルはまだAVNMで管理されているため、各サブネットを自分のルートテーブルに向けるために手動で更新・再関連付けする必要があるかもしれません。
- UseExisting から ManagedOnly に切り替える場合は、AVNM で作成されたルートを顧客のルート テーブルから削除します。 AVNM は新しいルート テーブルを自動的に管理するため、再関連付けは 必要ありません 。
行動
| 特徴 | Description |
|---|---|
| 保存 | 名前、タグ、リソース グループなどの既存のルート テーブルのプロパティは保持されます。 |
| 手動による変更 | AVNM では、手動による変更は追跡されません。 手動で編集すると、構成のずれが発生する可能性があります。 |
| 準拠 | AVNM では、Azure Policy、RBAC のアクセス許可、およびリソース ロックが考慮されます。 アクセス許可で更新が許可されていることを確認します。 |
| 共有テーブル | 複数のサブネットが 1 つのルート テーブルを共有する場合、すべてが AVNM ルートを継承します。有効にする前に確認します。 |
| サブネットの関連付け | AVNM は、既存の顧客ルート テーブルからサブネットの関連付けを自動的に削除しません。 サブネットがネットワーク グループから削除された場合、その関連付けはそのまま残ります。つまり、サブネットは引き続き同じルート テーブルにリンクされます。 |
ルートテーブルの共有と整理の動作
異なるネットワーク グループの複数のサブネットが同じルート テーブルを共有している場合、AVNM では特定のルートを追加するサブネットが追跡されないため、意図しないルートが表示されることがあります。 望ましくないルートが発生した場合は、サブネットを手動で削除または関連付け解除する必要があります。
DisableBgpRoutePropagationなどのプロパティを有効にするサブネットがある場合、それらの設定は共有テーブル全体に適用されます。 ルートは、関連するすべてのサブネットがアンマネージドになるまでテーブルに残ります。
サブネットがネットワーク グループから削除されると、AVNM はネットワーク グループの管理を停止しますが、既存のテーブルの関連付けは変更しません。 AVNM は、残りのマネージド サブネットがそれらに依存していない場合にのみ、そのルートを削除します。 クリーンアップ後に空のままにしても、顧客が作成したルート テーブルは削除されません。
その他の仮想ネットワークの追加
ネットワーク グループに他の仮想ネットワークを追加すると、ルーティング構成が新しい仮想ネットワークに自動的に適用されます。 ネットワーク マネージャーは、新しい仮想ネットワークを自動的に検出し、それにルーティング構成を適用します。 ネットワーク グループから仮想ネットワークを削除すると、適用されたルーティング構成も自動的に削除されます。
新しく作成または削除されたサブネットのルート テーブルは、最終的に更新されて整合性が保たれます。 処理時間は、サブネットの作成と削除の量に応じて変わる場合があります。
ルートとルート テーブルへの UDR 管理の影響
Azure Virtual Network Manager を使用した UDR 管理が、ルートおよびルート テーブルに与える影響を次に示します。
- UDR 管理を使用すると、ユーザーがルート テーブルごとに最大 1,000 個の UDR を作成できます。
次の項目は、ユーザーが AVNM で管理されるルート テーブルを使用することを選択した場合に適用されます。
- 競合するルーティング規則が存在する場合 (宛先が同じでネクスト ホップが異なる規則)、競合する規則のうち 1 つだけが適用され、他の規則は無視されます。 競合する規則のどれかをランダムに選択できます。 同じ仮想ネットワークまたはサブネットを対象とする規則コレクションの中または間で競合する規則はサポートされないことに注意してください。
- ルート テーブル内の既存のルートと宛先が同じであるルーティング規則を作成すると、そのルーティング規則は無視されます。
- 既存の UDR を含むルート テーブルが存在する場合、デプロイされたルーティング構成に基づいて、既存のルートと新しいルートの両方を含む新しいマネージド ルート テーブルが Azure Virtual Network Manager によって作成されます。
- マネージド ルート テーブルに追加されたその他の UDR は影響を受けず、ルーティング構成を削除しても削除されません。 Azure Virtual Network Manager によって作成されたルートのみが削除されます。
- Azure Virtual Network Manager のマネージド UDR がルート テーブル内で手動で編集された場合、構成がリージョンから削除されると、そのルートが削除されます。
- Azure Virtual Network Manager は、既存の UDR に干渉しません。 現在の UDR に新しいものを追加するだけで、ルーティングが現在と同じように動作し続けます。 また、特定の Azure サービスの UDR は、新しい制限を受けることなく、ネットワーク マネージャーの UDR と共に引き続き機能します。
- Azure Virtual Network Manager には、ルート テーブルを格納するための管理対象リソース グループが必要です。 管理されたリソースグループ作成を妨げるAzure Policyの競合の解決方法については、「リソースグループ作成失敗」を参照してください。 この管理されたリソースグループを削除する必要がある場合は、同じサブスクリプション内でリソースの新しいデプロイを開始する前に必ず削除してください。
ユーザーが既存のルート テーブルを使用することを選択した場合は、次の項目が適用されます。
- 共通ルート テーブルが異なるネットワーク グループ/コレクション内のサブネットにアタッチされている場合、すべてのコレクションのルールがルート テーブルに追加されます。
- サブネットがネットワーク グループから削除された場合、関連付けられているすべてのサブネットが削除されない限り、その規則はルート テーブルから削除されません。