Azure Firewall を使用してマルチ ハブ アンド スポーク トポロジをルーティングする
ハブ アンド スポーク トポロジは、Azure の一般的なネットワーク アーキテクチャ パターンです。 ハブは、オンプレミス ネットワークへの主要な接続ポイントとして機能する Azure の仮想ネットワーク (VNet) です。 スポークは、ハブに対して配置される VNet であり、ワークロードを分離するために使用されます。 ハブを使用して、スポーク間のトラフィックを分離してセキュリティで保護できます。 ハブを使用して、スポーク間でトラフィックをルーティングすることもできます。 ハブは、さまざまな方法を使用してスポーク間でトラフィックをルーティングするために使用できます。
たとえば、動的ルーティングとネットワーク仮想アプライアンス (NVA) と共に Azure Route Server を使用して、スポーク間でトラフィックをルーティングできます。 これは、かなり複雑なデプロイである可能性があります。 それほど複雑ではない方法では、Azure Firewall と静的ルートを使用してスポーク間でトラフィックをルーティングします。
この記事では、静的ユーザー定義ルート (UDR) と共に Azure Firewall を使用して、マルチ ハブ アンド スポーク トポロジをルーティングする方法について説明します。 次の図に、このトポロジを示します。
ベースライン アーキテクチャ
Azure Firewall ではネットワーク トラフィックをセキュリティで保護して検査しますが、VNet 間のトラフィックもルーティングします。 ローカル Virtual Network ゲートウェイによって学習されたローカル スポーク、ハブ、オンプレミス プレフィックスへのシステム ルートを自動的に作成する管理対象リソースです。 ハブに NVA を配置し、有効なルートのクエリを実行すると、Azure Firewall 内にあるものに似たルート テーブルが生成されます。
これは静的ルーティング アーキテクチャであるため、ハブ間のグローバル VNet ピアリングを使用して、別のハブへの最短パスを実行できます。 そのため、ハブは相互に認識し、各ローカル ファイアウォールには直接接続された各ハブのルート テーブルが含まれています。 ただし、ローカル ハブはローカル スポークについてのみ認識しています。 さらに、これらのハブは、同じリージョンにも別のリージョンにも配置できます。
ファイアウォール サブネットでのルーティング
各ローカル ファイアウォールは、他のリモート スポークに到達する方法を認識している必要があるため、ファイアウォール サブネットに UDR を作成する必要があります。 これを行うには、最初に任意の種類の既定のルートを作成する必要があります。これにより、他のスポークへのより具体的なルートを作成できます。 たとえば、次のスクリーンショットでは、2 つのハブ VNet のルート テーブルを示しています。
Hub-01 のルート テーブル
Hub-02 のルート テーブル
スポーク サブネットでのルーティング
このトポロジを実装する利点は、あるハブから別のハブにトラフィックが送信されると、グローバル ピアリング経由で直接接続されているネクスト ホップに到達できることです。
図に示すように、ローカル ファイアウォールをネクスト ホップとして使用する 0/0 ルート (既定のゲートウェイ) を持つスポーク サブネットに UDR を配置することをお勧めします。 これにより、シングル ネクスト ホップの出口ポイントがローカル ファイアウォールとしてロックされます。 また、トラフィックがファイアウォールをバイパスする原因となる可能性があるオンプレミス環境からより具体的なプレフィックスを学習する場合は、非対称ルーティングのリスクも軽減されます。 詳細については、「Azure ルートに噛み付かれないようにする」を参照してください。
Hub-01 に接続されているスポーク サブネットのルート テーブルの例を次に示します。
次のステップ
- Azure Firewall のデプロイおよび構成方法について説明します。