シナリオ:カスタム設定を使用して NVA 経由でトラフィックをルーティングする

Azure Virtual WAN 仮想ハブのルーティングを使用している場合は、複数のオプションを使用できます。 この記事では、仮想ネットワークとブランチの間の通信に対してネットワーク仮想アプライアンス (NVA) 経由でトラフィックをルーティングし、インターネットへのトラフィックに対して別の NVA を使用することに焦点を当てます。 詳細については、「仮想ハブ ルーティングについて」を参照してください。

Note

以下のルーティング シナリオでは、NVA を含む仮想 WAN ハブとスポーク仮想ネットワークが同じ Azure リージョン内に存在する必要があることに注意してください。

デザイン

  • スポーク - 仮想ハブに接続されている仮想ネットワーク (例については、この記事の後出の図の VNet 1、VNet 2、VNet 3 をご覧ください)。
  • サービス VNet - ユーザーがインターネット以外のトラフィックを検査するために NVA をデプロイした仮想ネットワーク。スポークによってアクセスされる一般的なサービスが提供される場合もあります (例については、この記事の後出の図の VNet 4 をご覧ください)。
  • 境界 VNet - ユーザーがインターネットにバインドされたトラフィックを検査するために使用する NVA をデプロイした仮想ネットワーク (例については、この記事の後出の図の VNet 5 をご覧ください)。
  • ハブ - Microsoft が管理する Virtual WAN ハブ。

次の表に、このシナリオでサポートされる接続の概要を示します。

ソース 終了 スポーク サービス VNet ブランチ インターネット
スポーク -> 直接 直接 サービス VNet 経由 境界 VNet 経由
サービス VNet -> 直接 該当なし 直接
ブランチ -> サービス VNet 経由 直接 直接

接続マトリックスの各セルは、接続が Virtual WAN 経由で直接送信されるか、または NVA を使用するいずれかの仮想ネットワーク経由で送信されるかを示します。

次の詳細に注意します。

  • スポーク:
    • スポークは、Virtual WAN ハブ経由で他のスポークに直接接続します。
    • スポークは、サービス VNet を指す静的ルート経由でブランチに接続します。 ブランチから特定のプレフィックスを学習することはありません。これらのプレフィックスはより具体的で、概要をオーバーライドするためです。
    • スポークは、直接 VNet ピアリングを使用して、インターネット トラフィックを境界 VNet に送信します。
  • ブランチは、サービス VNet を指す静的ルーティングを使用してスポークにアクセスします。 概要の静的ルートをオーバーライドする特定のプレフィックスを仮想ネットワークから学習することはありません。
  • サービス VNet は、すべての仮想ネットワークとすべてのブランチから到達可能である必要がある共有サービス VNet に似ています。
  • 境界 VNet は、Virtual WAN 経由の接続を必要としません。これは、サポートされるトラフィックのみが直接仮想ネットワーク ピアリングを経由するためです。 ただし、構成を簡略化するために、境界 VNet と同じ接続モデルを使用します。

異なる接続パターンが 3 つあり、3 つのルーティング テーブルに変換されます。 異なる仮想ネットワークへの関連付けは次のとおりです。

  • スポーク:
    • 関連付けられたルーティング テーブル:RT_V2B
    • ルーティング テーブルへの伝達:RT_V2BRT_SHARED
  • NVA VNet (サービス VNet と DMZ VNet):
    • 関連付けられたルーティング テーブル:RT_SHARED
    • ルーティング テーブルへの伝達:RT_SHARED
  • ブランチ:
    • 関連付けられたルート テーブル: [Default]
    • ルート テーブルへの伝達:RT_SHAREDDefault

Note

スポーク VNet が既定のラベルに反映されていないことを確認してください。 これにより、ブランチからスポーク VNet へのトラフィックは、NVA に転送されます。

これらの静的ルートにより、仮想ネットワークとブランチとの間のトラフィックは、サービス VNet (VNet 4) の NVA を経由するようになります。

Description ルート テーブル 静的ルート
ブランチ RT_V2B 10.2.0.0/16 -> vnet4conn
NVA スポーク Default 10.1.0.0/16 -> vnet4conn

これで、Virtual WAN を使用して、パケットを送信するための適切な接続を選択できるようになりました。 また、Virtual WAN を使用して、これらのパケットを受信するときに実行する適切な操作を選択する必要があります。 このためには、次のように接続ルート テーブルを使用します。

Description Connection 静的ルート
VNet2Branch vnet4conn 10.2.0.0/16 -> 10.4.0.5
Branch2VNet vnet4conn 10.1.0.0/16 -> 10.4.0.5

詳細については、「仮想ハブ ルーティングについて」を参照してください。

アーキテクチャ

次の図は、この記事で既に説明したアーキテクチャを示しています。

図には 1 つのハブ (Hub 1) があります。

  • Hub 1 は、NVA VNet の VNet 4 および VNet 5 に直接接続されています。

  • VNet 1、2、3 とブランチ間のトラフィックは、VNet 4 NVA 10.4.0.5 経由で送信されることが想定されています。

  • VNet 1、2、3 からインターネットへのトラフィックは、すべて VNet 5 NVA 10.5.0.5 経由で送信されることが想定されています。

ネットワーク アーキテクチャの図。

ワークフロー

ワークフローの図。

NVA 経由のルーティングを設定するには、次の手順を検討してください。

  1. インターネットへのトラフィックが VNet 5 経由で送信されるようにするために、VNet 1、2、3 を仮想ネットワーク ピアリング経由で VNet 5 に直接接続する必要があります。 また、仮想ネットワーク内に 0.0.0.0/0 および次ホップ 10.5.0.5 に対してユーザー定義ルートを設定する必要があります。

    VNet 1、2、3 を VNet 5 に接続せず、代わりに VNet 4 の NVA を使用してブランチ (オンプレミス VPN または ExpressRoute 接続) からの 0.0.0.0/0 トラフィックをルーティングする場合は、代替ワークフローを参照してください。

    ただし、VNet 間のトラフィックが NVA を通過するようにする場合は、VNet 1、2、3を仮想ハブから切断してそれに接続するか、NVA スポーク VNet4 の上にそれをスタックする必要があります。 仮想 WAN では、VNet 間のトラフィックは、Virtual WAN ハブまたは Virtual WAN ハブの Azure Firewall (Secure ハブ) を通過します。 VNet 同士で VNet ピアリングを使用して直接ピアリングする場合、それらは直接通信して仮想ハブの通過を迂回することができます。

  2. Azure portal で仮想ハブにアクセスし、RT_Shared という名前のカスタム ルート テーブルを作成します。 このテーブルは、すべての仮想ネットワークとブランチ接続からの伝達によるルートを学習します。 この空のテーブルを、次の図に示します。

    • [ルート]: 静的ルートを追加する必要はありません。

    • [関連付け]: VNet 4 と 5 を選択します。これは、これらの仮想ネットワークの接続がルート テーブル RT_Shared に関連付けられていることを意味します。

    • [伝達]: すべてのブランチと仮想ネットワークの接続からこのルート テーブルに対して動的にルートが伝達されるようにする必要があるため、ブランチとすべての仮想ネットワークを選択します。

  3. VNet 1、2、3 からブランチにトラフィックを転送するために、RT_V2B という名前のカスタム ルート テーブルを作成します。

    • [ルート]: ブランチに対する集約静的ルート エントリを追加し、次ホップを VNet 4 接続として指定します。 ブランチ プレフィックスに対する VNet 4 の接続で静的ルートを構成します。 ネクスト ホップを VNet 4 内の NVA の特定の IP として指定します。

    • [関連付け]:VNet 1、2、3 をすべて選択します。 これは、VNet 接続 1、2、および 3 がこのルート テーブルに関連付けられ、このルート テーブルで (静的および伝達によって動的) ルートを学習できるようになるという意味です。

    • [伝達]: 接続からルート テーブルにルートが伝達されます。 VNet 1、2、3 を選択すると、VNet 1、2、3 からこのルート テーブルにルートを伝達できるようになります。 ブランチ接続から RT_V2B にルートを伝達する必要はありません。ブランチ仮想ネットワークのトラフィックは VNet 4 の NVA 経由で送信されるためです。

  4. 既定のルート テーブル DefaultRouteTable を編集します。

    すべての VPN、Azure ExpressRoute、およびユーザー VPN 接続は、既定のルート テーブルに関連付けられます。 すべての VPN、ExpressRoute、およびユーザー VPN 接続では、同じルート テーブルのセットにルートが伝達されます。

    • [ルート]: VNet 1、2、3 に対する集約静的ルート エントリを追加し、次ホップを VNet 4 接続として指定します。 VNet 1、2、3 の集約プレフィックスに対して VNet 4 の接続で静的ルートを構成します。 ネクスト ホップを VNet 4 内の NVA の特定の IP として指定します。

    • [関連付け]: ブランチ (VPN/ER/P2S) のオプションが選択されていることを確認し、オンプレミス ブランチ接続が既定のルート テーブルに関連付けられるようにします。

    • [Propagation from]\(伝達元\): ブランチ (VPN/ER/P2S) のオプションが選択されていることを確認し、オンプレミス接続が既定のルート テーブルにルートを伝達するようにします。

代替ワークフロー

このワークフローでは、VNet 1、2、3 を VNet 5 に接続しません。 代わりに、VNet 4 の NVA を使用して、ブランチ (オンプレミス VPN または ExpressRoute 接続) からの 0.0.0.0/0 トラフィックをルーティングします。

代替ワークフローの図。

NVA 経由のルーティングを設定するには、次の手順を検討してください。

  1. Azure portal で、仮想ハブに移動し、NVA 10.4.0.5 経由でトラフィックを転送するためのカスタム ルート テーブルを RT_NVA という名前で作成します

    • [ルート]: 必要なアクションはありません。

    • [関連付け]:[VNet4] を選びます。 これは、VNet 接続 4 がこのルート テーブルに関連付けられ、このルート テーブルで (静的および伝達によって動的) ルートを学習できるようになるという意味です。

    • [伝達]: 接続からルート テーブルにルートが伝達されます。 VNet 1、2、3 を選択すると、VNet 1、2、3 からこのルート テーブルにルートを伝達できるようになります。 ブランチ (VPN/ER/P2S) を選択すると、ブランチ/オンプレミス接続からこのルート テーブルへのルートの伝達が有効になります。 すべての VPN、ExpressRoute、およびユーザー VPN 接続では、同じルート テーブルのセットにルートが伝達されます。

  2. VNet 4 の NVA 経由で VNet 1、2、3 からブランチまたはインターネット (0.0.0.0/0) にトラフィックを転送するためのカスタム ルート テーブルを RT_VNET という名前で作成します。 VNet 間のトラフィックは直接になり、VNet 4 の NVA を経由しません。 トラフィックを NVA 経由にする場合は、VNet 1、2、3 を切断し、VNet ピアリングを使用してそれらを VNet4 に接続します。

    • [ルート]:

      • Vnet 1、2、3 からブランチに向かうトラフィックについて、ネクスト ホップを持つ集約ルート '10.2.0.0/16' を VNet 4 接続として追加します。 VNet4 接続で、'10.2.0.0/16' のルートを構成し、ネクスト ホップが VNet 4 内の NVA の特定の IP になるよう指示します。

      • ルート '0.0.0.0/0' を追加し、ネクスト ホップを VNet 4 接続として指定します。 '0.0.0.0/0' を追加するのは、インターネットにトラフィックを送信することを暗示するためです。 Vnet またはブランチに付随する特定のアドレス プレフィックスを暗示するものではありません。 VNet4 接続で、'0.0.0.0/0' のルートを構成し、ネクスト ホップが VNet 4 内の NVA の特定の IP になるよう指示します。

    • [関連付け]:VNet 1、2、3 をすべて選択します。 これは、VNet 接続 1、2、および 3 がこのルート テーブルに関連付けられ、このルート テーブルで (静的および伝達によって動的) ルートを学習できるようになるという意味です。

    • [伝達]: 接続からルート テーブルにルートが伝達されます。 VNet 1、2、3 を選択すると、VNet 1、2、3 からこのルート テーブルにルートを伝達できるようになります。 ブランチ (VPN/ER/P2S) のオプションが選択されていないことを確認します。 これにより、オンプレミス接続が VNet 1、2、3 に直接到達できなくなります。

  3. 既定のルート テーブル DefaultRouteTable を編集します。

    すべての VPN、Azure ExpressRoute、およびユーザー VPN 接続は、既定のルート テーブルに関連付けられます。 すべての VPN、ExpressRoute、およびユーザー VPN 接続では、同じルート テーブルのセットにルートが伝達されます。

    • [ルート]:

      • VNet 1、2、3 に対する集約ルート '10.1.0.0/16' を追加し、ネクスト ホップを VNet 4 接続として指定します。

      • ルート '0.0.0.0/0' を追加し、ネクスト ホップを VNet 4 接続として指定します。 '0.0.0.0/0' を追加するのは、インターネットにトラフィックを送信することを暗示するためです。 Vnet またはブランチに付随する特定のアドレス プレフィックスを暗示するものではありません。 VNet4 接続に関する以前の手順で、VNet 4 内の NVA の特定の IP をネクスト ホップにして '0.0.0.0/0' のルートを既に構成しています。

    • [関連付け]: ブランチ (VPN/ER/P2S) のオプションが選ばれていることを確認します。 これにより、オンプレミス ブランチ接続が既定のルート テーブルに関連付けられるようになります。 すべての VPN、Azure ExpressRoute、およびユーザー VPN 接続は、既定のルート テーブルのみに関連付けられます。

    • [Propagation from]\(伝達元\): ブランチ (VPN/ER/P2S) のオプションが選ばれていることを確認します。 これにより、オンプレミス接続が既定のルート テーブルにルートを伝達するようになります。 すべての VPN、ExpressRoute、およびユーザー VPN 接続では、"同じルート テーブルのセット" にルートが伝達されます。

考慮事項

  • ポータル ユーザーは、0.0.0.0/0 のルートが有効になるよう、接続 (VPN/ER/P2S/VNet) で [Propagate to default route]\(既定のルートに伝達する\) を有効にする必要があります。

  • PS/CLI/REST ユーザーは、0.0.0.0/0 のルートが有効になるよう、フラグ 'enableinternetsecurity' を true に設定する必要があります。

  • 仮想ネットワーク接続では、ネクスト ホップ IP が含まれる経路にパブリック IP アドレスまたは 0.0.0.0/0 (インターネット) が指定されている場合、'複数または 1 つの' ネクスト ホップ IP の経路をスポーク VNet 内の '同じ' ネットワーク仮想アプライアンスに指定することはできません。

  • 0.0.0.0/0 が仮想ネットワーク接続で静的ルートとして構成されている場合、そのルートは、スポーク自体の中のリソースを含むすべてのトラフィックに適用されます。 つまり、すべてのトラフィックは、静的ルートのネクスト ホップ IP アドレス (NVA プライベート IP) に転送されます。 したがって、スポーク仮想ネットワーク接続でネクスト ホップ NVA IP アドレスが構成された 0.0.0.0/0 ルートを使用するデプロイでは、NVA と同じ仮想ネットワーク内のワークロードに直接アクセスする (つまり、トラフィックが NVA を経由しないようにする) ために、スポーク仮想ネットワーク接続で /32 ルートを指定してください。 たとえば、10.1.3.1 に直接アクセスする場合は、スポーク仮想ネットワーク接続で 10.1.3.1/32 のネクスト ホップ 10.1.3.1 を指定してください。

  • ルーティングを簡略化し、Virtual WAN ハブ ルート テーブルの変更を少なくするために、新しい "Virtual WAN ハブを使った BGP ピアリング" オプションの使用をお勧めします。

次のステップ