次の方法で共有


Azure Virtual Network Manager を使用してユーザー定義ルート (UDR) の管理を自動化する

この記事では、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 を作成します。

ファイアウォール経由で DNS トラフィックをルーティングするために仮想ネットワークに適用されているユーザー定義ルールの図。

ルーティング構成

ルーティング構成は、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 アドレスが次ホップとして使用されます。

Azure Firewall オプションを使用したルーティング ルールのスクリーンショット。

1 つのルート テーブル内でより多くのユーザー定義ルートを使用する

Azure Virtual Network Manager UDR 管理では、ユーザーは、従来の 400 ルート制限と比較して、1 つのルート テーブルに最大 1,000 個のユーザー定義ルートを作成できるようになりました。 この上限が高いほど、より複雑なルーティング構成が可能になります。たとえば、オンプレミスのデータ センターからのトラフィックを、ハブおよびスポーク トポロジ内の各スポーク仮想ネットワークに、ファイアウォール経由で転送できます。 この容量拡張は、スポークが多数含まれる大規模なネットワーク アーキテクチャ全体で、トラフィック検査とセキュリティを管理する際に特に役立ちます。

ハブ アンド スポーク トポロジでは、スポーク仮想ネットワークに到達する前に、ハブ仮想ネットワーク内にあるファイアウォールでネットワーク トラフィックを検査またはフィルター処理することをユーザーが要求するのが一般的です。 Azure Virtual Network Manager では、最大 1,000 のスポーク仮想ネットワークがサポートされており、ゲートウェイ サブネットに関連付けられているルート テーブルを構成して、最大 1,000 個のユーザー定義ルートを含めることができます。 これを設定するには、次の手順に従います。

  1. Azure Virtual Network Manager インスタンスを作成します。
  2. ネットワーク グループを作成し、このネットワーク グループにゲートウェイ サブネットを含めます。
  3. ルーティング構成を確立し、ルール コレクションを作成して、ターゲット ネットワーク グループを手順 2 で作成したネットワーク グループとして設定します。
  4. スポーク仮想ネットワークのアドレス空間を追加して、ルーティング ルールを定義します。 ネクスト ホップを "仮想アプライアンス" に設定し、ファイアウォールの IP アドレスをネクスト ホップ アドレスとして指定します。
  5. ゲートウェイ サブネットが配置されているリージョンに、このルーティング構成をデプロイします。

この方法では、ゲートウェイ サブネットのルート テーブルに最大 1,000 個のユーザー定義ルートを格納できます。 新しいスポーク仮想ネットワークを追加する場合は、そのアドレス空間を既存のルールに含め、ルーティング構成を再デプロイするだけです。

UDR 管理を使用した一般的なルーティング シナリオ

UDR 管理を使用して簡素化および自動化できる一般的なルーティング シナリオを次に示します。

ルーティングのシナリオ 説明
スポーク ネットワーク -> ネットワーク仮想アプライアンス -> スポーク ネットワーク このシナリオは、ネットワーク仮想アプライアンス経由で接続する 2 つのスポーク仮想ネットワーク間でバインドされたトラフィックに使用します。
スポーク ネットワーク -> ネットワーク仮想アプライアンス -> ハブ ネットワーク内のエンドポイントまたはサービス このシナリオは、ネットワーク仮想アプライアンス経由で接続する、ハブ ネットワーク内のサービス エンドポイントのスポーク ネットワーク トラフィックに使用します。
サブネット -> ネットワーク仮想アプライアンス -> サブネット (同じ仮想ネットワーク内でも可)
スポーク ネットワーク -> ネットワーク仮想アプライアンス -> オンプレミス ネットワーク/インターネット このシナリオは、ネットワーク仮想アプライアンスまたはオンプレミスの場所 (ハイブリッド ネットワーク シナリオなど) を経由してインターネット トラフィックが送信されている場合に使用します。
各ハブ内のネットワーク仮想アプライアンスを介したクロスハブおよびスポーク ネットワーク
スポーク ネットワークを使用したハブ アンド スポーク ネットワークをオンプレミスに接続するには、ネットワーク仮想アプライアンスを経由する必要があります
ゲートウェイ -> ネットワーク仮想アプライアンス -> スポーク ネットワーク

AVNM UDR 管理にExisting モードを使用する

概要

UseExisting モードを使用 すると、Azure Virtual Network Manager (AVNM) は、新しいルート テーブルを作成するのではなく、既存のルート テーブルにルートを追加できます。
このモードは、より高度な 制御を提供し、 組織のポリシーに準拠し、お客様が既存のリソースの名前付け規則、タグ、またはリソース グループ構造を保持する必要がある場合の 運用の複雑さを 軽減します。

比較:

  • ManagedOnly (既定値): AVNM は、常に独自のマネージド ルート テーブルを作成または再利用します。
  • UseExisting: AVNM は、既存のサブネットに関連付けられたルート テーブルを使用し、プロパティを保持しながら必要なルートを追加します。

ステップ バイ ステップ: UseExisting モードを有効にする

1. ポータルまたは API を使用して有効にする

  1. AVNM ポータルを開くか、API を使用します
  2. ルーティング構成を選択します。
  3. routeTableUsageMode プロパティを UseExistingに設定します。
    • ルート テーブルがサブネットに既に存在する場合、AVNM は必要なルートを 追加 します。
    • ルート テーブルが存在しない場合、AVNM によって自動的に 作成 されます。

2. モードの切り替え

  • ManagedOnlyUseExistingはいつでも切り替えることができます。
  • ManagedOnly から UseExisting に切り替える場合は、既存のルート テーブルが 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 で特定のタグまたはプロパティをリソース グループに適用する場合は、デプロイの問題を防ぐために、マネージド リソース グループに対してこれらのポリシーの無効化または調整を行う必要があります。 さらに、この管理対象リソース グループを削除する必要がある場合は、同じサブスクリプション内のリソースの新しいデプロイを開始する前に削除が行われるようにしてください。

ユーザーが既存のルート テーブルを使用することを選択した場合は、次の項目が適用されます。

  • 共通ルート テーブルが異なるネットワーク グループ/コレクション内のサブネットにアタッチされている場合、すべてのコレクションのルールがルート テーブルに追加されます。
  • サブネットがネットワーク グループから削除された場合、関連付けられているすべてのサブネットが削除されない限り、その規則はルート テーブルから削除されません。

次のステップ