この参照アーキテクチャでは、カスタマー マネージド ハブ インフラストラクチャ コンポーネントを使用してハブスポーク ネットワーク パターンを実装します。 Microsoft マネージド ハブ インフラストラクチャ ソリューションについては、「Azure Virtual WAN のハブスポーク ネットワーク トポロジ」を参照してください。
このアーキテクチャの Visio ファイルをダウンロードします。
このハブスポーク ネットワーク構成では、次のアーキテクチャ要素を使用します。
ハブ仮想ネットワーク。 ハブ仮想ネットワークでは、共有 Azure サービスがホストされます。 スポーク仮想ネットワークでホストされているワークロードでは、これらのサービスを使用できます。 ハブ仮想ネットワークは、クロスプレミス ネットワークへの接続の中心となるポイントです。
スポーク仮想ネットワーク。 スポーク仮想ネットワークでは、ワークロードを各スポークで分離して個別に管理します。 各ワークロードには、Azure ロード バランサーを介して接続された複数のサブネットを持つ、複数の階層が含まれる場合があります。 スポークは別々のサブスクリプションに存在することができ、運用環境や非運用環境などの異なる環境を表すことができます。
仮想ネットワーク接続。 このアーキテクチャでは、ピアリング接続または接続グループを使用して仮想ネットワークを接続します。 ピアリング接続および接続グループは、仮想ネットワーク間の待機時間の短い非推移的な接続です。 ピアリングまたは接続された仮想ネットワークでは、ルーターを必要とせずに Azure バックボーン経由でトラフィックを交換できます。 Azure Virtual Network Manager により、ネットワーク グループとその接続が作成および管理されます。
Azure Bastion ホスト。 Azure Bastion を使用すると、ブラウザーを使用して Azure portal から仮想マシン (VM) への安全な接続が提供されます。 Azure 仮想ネットワーク内にデプロイされた Azure Bastion ホストから、その仮想ネットワークまたは接続された仮想ネットワーク内の VM にアクセスできます。
Azure Firewall。 Azure Firewall マネージド ファイアウォール インスタンスは、独自のサブネットに存在します。
Azure VPN Gateway または Azure ExpressRoute ゲートウェイ。 仮想ネットワーク ゲートウェイを使用すると、仮想ネットワークを仮想プライベート ネットワーク (VPN) デバイスまたは Azure ExpressRoute 回線に接続できます。 ゲートウェイによってクロスプレミス ネットワーク接続が提供されます。 詳細については、「オンプレミス ネットワークを Microsoft Azure 仮想ネットワークに接続する」および「VPN を使用してオンプレミス ネットワークを拡張する」を参照してください。
VPN デバイス: VPN デバイスまたはサービスによって、クロスプレミス ネットワークへの外部接続が提供されます。 VPN デバイスは、ハードウェア デバイスの場合もあれば、Windows Server のルーティングとリモート アクセス サービス (RRAS) などのソフトウェア ソリューションの場合もあります。 詳細については、「検証済みの VPN デバイスとデバイス構成ガイド」を参照してください。
Virtual Network Manager は、Azure サブスクリプション、リージョン、テナントをまたいで仮想ネットワークを大規模にグループ化、構成、デプロイ、管理するのに役立つ管理サービスです。 Virtual Network Manager では、仮想ネットワークのグループを定義して仮想ネットワークを識別し、論理的に分割することができます。 ネットワーク グループ内のすべての仮想ネットワークに対して接続とセキュリティの構成を一度に定義して適用できます。
Azure Virtual Network は、Azure 内のプライベート ネットワークの基本的な構成ブロックです。 Virtual Network により、Azure VM などのさまざまな Azure リソースが、他の Azure リソース、クロスプレミス ネットワーク、インターネットと安全に通信することができます。
Azure Bastion は、パブリック IP アドレスを公開することなく、VM へのより安全でシームレスなリモート デスクトップ プロトコル (RDP) および Secure Shell プロトコル (SSH) アクセスを提供するフル マネージド サービスです。
Azure Firewall は、Virtual Network リソースを保護するクラウドベースのマネージド ネットワーク セキュリティ サービスです。 このステートフル ファイアウォール サービスには、高可用性と無制限のクラウド スケーラビリティが組み込まれており、サブスクリプションと仮想ネットワーク間でアプリケーションとネットワーク接続ポリシーを作成し、適用し、ログに記録するのに役立ちます。
VPN Gateway は、パブリック インターネットを介して仮想ネットワークとオンプレミスの場所の間で暗号化されたトラフィックを送信する特定の種類の仮想ネットワーク ゲートウェイです。 VPN Gateway を使用すると、Microsoft ネットワークを経由して Azure 仮想ネットワーク間で暗号化されたトラフィックを送信することもできます。
Azure Monitor では、Azure やオンプレミスなど、クロスプレミス環境からテレメトリ データを収集、分析、処理できます。 Azure Monitor はアプリケーションのパフォーマンスと可用性を最大限に引き上げ、数秒で問題を事前に特定するために役立ちます。
この参照アーキテクチャでは、ハブ仮想ネットワークが多くのスポーク仮想ネットワークへの接続の中心点として機能するハブスポーク ネットワーク パターンを実装します。 スポーク仮想ネットワークはハブと接続し、ワークロードを分離するために使用できます。 ハブを使用してオンプレミス ネットワークに接続することで、クロスプレミス シナリオを実現することもできます。
このアーキテクチャでは、カスタマー マネージド ハブ インフラストラクチャ コンポーネントを使用したネットワーク パターンについて説明します。 Microsoft マネージド ハブ インフラストラクチャ ソリューションについては、「Azure Virtual WAN のハブスポーク ネットワーク トポロジ」を参照してください。
ハブ アンド スポーク構成を使用するメリットには、次のものがあります。
- コスト削減
- サブスクリプションの制限の克服
- ワークロードの分離
詳細については、「ハブ アンド スポーク ネットワーク トポロジ」を参照してください。
ハブ スポーク アーキテクチャの一般的な用途には、次のようなワークロードが含まれます。
- 共有サービスを必要とする複数の環境を持つ。 たとえば、1 つのワークロードに開発環境、テスト環境、運用環境がある場合があります。 共有サービスには、DNS ID、ネットワーク タイム プロトコル (NTP)、または Active Directory Domain Services (AD DS) が含まれる場合があります。 共有サービスはハブ仮想ネットワークに配置され、分離を維持するために各環境は別個のスポークにデプロイされます。
- 相互接続は必要ないが、共有サービスへのアクセスが必要。
- ワークロード管理を各スポークで分離した、ハブ内の境界ネットワーク (DMZ とも呼ばれます) ファイアウォールなど、セキュリティを一元的に管理する必要がある。
- 特定の環境またはワークロードのスポーク間での選択的な接続や分離など、接続を一元的に管理する必要がある。
ほとんどのシナリオに次の推奨事項が適用されます。 優先すべき特定の要件がない限り、これらの推奨事項に従ってください。
このソリューション例では、1 つの Azure リソース グループを使用します。 ハブと各スポークは、異なるリソース グループとサブスクリプションに実装することもできます。
異なるサブスクリプションに属する仮想ネットワークをピアリングする場合、サブスクリプションを同じまたは異なる Microsoft Entra テナントに関連付けることができます。 この柔軟性により、ハブで共有サービスを維持しながら、各ワークロードを分散管理できます。 「仮想ネットワーク ピアリングを作成する - Resource Manager、異なるサブスクリプション、および Microsoft Entra テナント」を参照してください。
一般的な規則として、リージョンあたり最低 1 つのハブを持つことをお勧めします。 この構成は単一障害点を回避するのに役立ちます。たとえば、リージョン B での障害によってリージョン A のリソースがネットワーク レベルで影響を受けるのを回避することができます。
次の推奨事項では、仮想ネットワーク上のサブネットを構成する方法について説明します。
仮想ネットワーク ゲートウェイには、このサブネットが必要です。 クロスプレミス ネットワーク接続が必要ない場合は、ゲートウェイを設定せずにハブスポーク トポロジを使用することもできます。
GatewaySubnet という名前のサブネットを作成します。アドレス範囲は少なくとも /27
です。 /27
アドレス範囲により、将来的にゲートウェイ サイズの制限に達するのを防ぐのに十分なスケーラビリティ構成オプションがサブネットに提供されます。 ゲートウェイの設定の詳細については、「VPN ゲートウェイを使用 Hybrid ネットワークを参照してください。
高可用性を確保するために、ExpressRoute に加えてフェールオーバー用の VPN を使用できます。 「VPN フェールオーバー付きの ExpressRoute を使用してオンプレミス ネットワークを Azure に接続する」を参照してください。
AzureFirewallSubnet という名前のサブネットを作成します。アドレス範囲は少なくとも /26
です。 スケールに関係なく、/26
のアドレス範囲は推奨サイズであり、将来的なサイズ制限がカバーされます。 このサブネットでは、ネットワーク セキュリティ グループ (NSG) がサポートされません。
Azure Firewall には、このサブネットが必要です。 パートナー ネットワーク仮想アプライアンス (NVA) を使用する場合は、そのネットワーク要件に従ってください。
仮想ネットワーク ピアリングまたは接続グループは、仮想ネットワーク間の非推移的な関係です。 スポーク仮想ネットワークが相互に接続する必要がある場合は、それらのスポーク間にピアリング接続を追加するか、同じネットワーク グループに配置します。
仮想ネットワークあたりの仮想ネットワーク ピアリングの数は制限されています。 相互に接続する必要のあるスポークが多数ある場合、ピアリング接続が不足することがあります。 接続グループにも制限があります。 詳細については、ネットワークの制限と接続グループの制限に関する記事を参照してください。
このシナリオでは、ユーザー定義ルート (UDR) を使用して、スポークのトラフィックを Azure Firewall、またはハブでルーターとして機能する別の NVA に強制的に送信することを検討してください。 この変更により、スポークを相互に接続できます。 この構成をサポートするには、強制トンネリング構成を有効にした Azure Firewall を実装する必要があります。 詳細については、「Azure Firewall 強制トンネリング」を参照してください。
このアーキテクチャ設計のトポロジにより、エグレス フローが円滑化されます。 Azure Firewall は主にエグレス セキュリティを目的としていますが、イングレス ポイントになることも可能です。 ハブ NVA イングレス ルーティングに関するその他の考慮事項については、「仮想ネットワークのファイアウォールと Application Gateway」を参照してください。
ハブ ゲートウェイを介してリモート ネットワークと通信するようにスポークを構成するには、仮想ネットワーク ピアリングまたは接続ネットワーク グループを使用できます。
仮想ネットワーク ピアリングを使用するには、仮想ネットワークのピアリング セットアップで次を行います。
- ゲートウェイ転送を許可するように、ハブでピアリング接続を構成します。
- リモート仮想ネットワークのゲートウェイを使用するように、各スポークでピアリング接続を構成します。
- 転送されたトラフィックを許可するようにすべてのピアリング接続を構成します。
詳細については、仮想ネットワーク ピアリングの作成に関する記事を参照してください。
接続ネットワーク グループを使用するには、次の手順を実行します。
- Virtual Network Manager で、ネットワーク グループを作成し、メンバー仮想ネットワークを追加します。
- ハブ アンド スポーク接続構成を作成します。
- [Spoke network groups] (スポーク ネットワーク グループ) で、[Hub as gateway] (ゲートウェイとしてのハブ) を選択します。
詳細については、「Azure Virtual Network Manager を使用してハブ アンド スポーク トポロジを作成する」を参照してください。
スポーク仮想ネットワークが相互に通信できるようにするには、主に次の 2 つの方法があります。
- ファイアウォールやルーターなどの NVA 経由の通信。 この方法では、2 つのスポーク間にホップが発生します。
- スポーク間の仮想ネットワーク ピアリングまたは Virtual Network Manager 直接接続を使用した通信。 この方法では、2 つのスポーク間のホップは発生せず、待機時間を最小限に抑えるために推奨されます。
スポーク間の接続が必要な場合は、ハブに Azure Firewall または別の NVA をデプロイすることを検討してください。 その後、スポークからファイアウォールまたは NVA にトラフィックを転送するルートを作成します。その後、そこから 2 番目のスポークにルーティングできます。 このシナリオでは、転送されたトラフィックを許可するようにピアリング接続を構成する必要があります。
VPN ゲートウェイを使用して、スポーク間でトラフィックをルーティングすることもできますが、この選択は待機時間とスループットに影響します。 構成の詳細については、「仮想ネットワーク ピアリングの VPN ゲートウェイ転送を構成する」を参照してください。
多数のスポークに合わせてハブを拡張するために、ハブで共有するサービスを評価します。 たとえば、ハブがファイアウォール サービスを提供する場合は、複数のスポークを追加するときにファイアウォール ソリューションの帯域幅の制限を検討します。 このような一部の共有サービスを第 2 レベルのハブに移動できます。
ハブ仮想ネットワークを通過せずにスポーク仮想ネットワーク間で直接接続するには、スポーク間のピアリング接続を作成するか、ネットワーク グループの直接接続を可能にします。 同じ環境とワークロードの一部であるスポーク仮想ネットワークへのピアリングまたは直接接続を制限することをお勧めします。
Virtual Network Manager を使用する場合は、スポーク仮想ネットワークをネットワーク グループに手動で追加したり、定義した条件に基づいてネットワークを自動的に追加したりできます。 詳細については、スポーク間ネットワークに関する記事を参照してください。
次の図は、スポーク間の直接接続に Virtual Network Manager を使用する方法を示しています。
接続とセキュリティ制御を一元的に管理するには、Virtual Network Manager を使用して、新しいハブ アンド スポーク仮想ネットワーク トポロジを作成するか、既存のトポロジをオンボードします。 Virtual Network Manager を使用すると、ハブ アンド スポーク ネットワーク トポロジが、複数のサブスクリプション、管理グループ、およびリージョン間で将来の大規模な成長に備えて準備されます。
Virtual Network Manager のユース ケース シナリオの例を次に示します。
- ビジネス ユニットやアプリケーション チームなどのグループに対するスポーク仮想ネットワーク管理の民主化。 民主化により、仮想ネットワーク間接続とネットワーク セキュリティ規則の要件が多数発生する可能性があります。
- アプリケーションのグローバル フットプリントを確保することを目的とした、複数の Azure リージョンでの複数のレプリカ アーキテクチャの標準化。
一様な接続規則とネットワーク セキュリティ規則を正しく適用するために、ネットワーク グループを使用して、同じ Microsoft Entra テナントにある任意のサブスクリプション、管理グループ、またはリージョン内の仮想ネットワークをグループ化できます。 動的または静的なメンバーシップの割り当てを使用して、仮想ネットワークをネットワーク グループに自動または手動でオンボードできます。
スコープを使用して、Virtual Network Manager が管理する仮想ネットワークの探索可能性を定義します。 この機能によって、ネットワーク マネージャー インスタンスの望ましい数についての柔軟性が提供され、これにより仮想ネットワーク グループの管理のさらなる民主化が可能になります。
同じネットワーク グループ内のスポーク仮想ネットワークを相互に接続するには、Virtual Network Manager を使用して仮想ネットワーク ピアリングまたは直接接続を実装します。 グローバル メッシュ オプションを使用して、異なるリージョンのスポーク ネットワークへのメッシュ直接接続を拡張します。 次の図は、リージョン間のグローバル メッシュ接続を示しています。
ネットワーク グループ内の仮想ネットワークを、セキュリティ管理規則のベースライン セットに関連付けることができます。 ネットワーク グループのセキュリティ管理規則は、スポーク仮想ネットワークの所有者がベースライン セキュリティ規則を上書きするのを防ぐ一方、所有者独自のセキュリティ規則と NSG のセットを個別に追加できるようにします。 ハブ アンド スポーク トポロジでセキュリティ管理規則を使用する例については、「チュートリアル: セキュリティで保護されたハブ アンド スポーク ネットワークを作成する」を参照してください。
ネットワーク グループ、接続、およびセキュリティの規則の制御されたロールアウトを行いやすくするために、Virtual Network Manager の構成のデプロイを使用すると、ハブ アンド スポーク環境に対する潜在的に破壊的な構成変更を安全にリリースできます。 詳細については、「Azure Virtual Network Manager での構成デプロイ」を参照してください。
Virtual Network Manager の使用を開始するには、「Azure Virtual Network Manager を使用してハブ アンド スポーク トポロジを作成する」を参照してください。
以降の考慮事項には、ワークロードの品質向上に使用できる一連の基本原則である Azure "Well-Architected Framework" の要素が組み込まれています。 詳細については、「Microsoft Azure Well-Architected Framework」を参照してください。
セキュリティは、重要なデータやシステムの意図的な攻撃や悪用に対する保証を提供します。 詳細については、「セキュリティの重要な要素の概要」を参照してください。
セキュリティ規則のベースライン セットを正しく適用するには、セキュリティ管理規則をネットワーク グループ内の仮想ネットワークに関連付けるようにしてください。 セキュリティ管理規則は NSG 規則よりも優先され、NSG 規則の前に評価されます。 NSG 規則と同様に、セキュリティ管理規則では優先順位付け、サービス タグ、L3-L4 プロトコルがサポートされます。 詳細については、「Virtual Network Manager のセキュリティ管理規則」を参照してください。
Virtual Network Manager のデプロイを使用して、ネットワーク グループセキュリティ規則に対する潜在的な破壊的変更の制御されたロールアウトを行いやすくします。
Azure DDoS Protection では、アプリケーションの設計に関するベスト プラクティスと組み合わせることにより、DDoS 攻撃からの保護を向上させるための強化された DDoS 軽減機能が提供されます。 すべての境界仮想ネットワークで Azure DDOS Protection を有効にする必要があります。
コストの最適化とは、不要な費用を削減し、運用効率を向上させる方法のことです。 詳しくは、コスト最適化の柱の概要に関する記事をご覧ください。
ハブ アンド スポーク ネットワークをデプロイして管理するときは、コストに関連する次の項目について検討します。 詳細については、「Virtual Network の価格」を参照してください。
このアーキテクチャでは、ハブ ネットワークに Azure Firewall インスタンスをデプロイします。 複数のワークロードで使用される共有ソリューションとして Azure Firewall デプロイを使用すると、他の NVA と比較してクラウド コストを大幅に節約できます。 詳細については、Azure Firewall とネットワーク仮想アプライアンスに関するページを参照してください。
デプロイされたすべてのリソースを効果的に使用するには、適切な Azure Firewall サイズを選択します。 必要な機能と、現在のワークロード セットに最適な層を決定します。 使用可能な Azure Firewall SKU の詳細については、「Azure Firewall とは」を参照してください。
プライベート IP アドレスを使用して、ピアリングされた仮想ネットワーク間または接続されたグループ内のネットワーク間でトラフィックをルーティングできます。 コストに関する次の考慮事項が適用されます。
- イングレスおよびエグレス トラフィックは、ピアリングまたは接続されたネットワークの両端で課金されます。 たとえば、ゾーン 1 の仮想ネットワークからゾーン 2 の別の仮想ネットワークへのデータ転送の場合は、ゾーン 1 の送信転送コストとゾーン 2 の受信コストが発生します。
- ゾーンが異なると、転送料金も異なってきます。
ピアリング要件に基づいて IP アドレスを計画し、アドレス空間がクロスプレミスの場所と Azure の場所で重複しないようにします。
オペレーショナル エクセレンスは、アプリケーションをデプロイし、それを運用環境で実行し続ける運用プロセスをカバーします。 詳細については、「オペレーショナル エクセレンスの重要な要素の概要」を参照してください。
Azure Network Watcher を使用して、次のツールでネットワーク コンポーネントを監視およびトラブルシューティングします。
- Traffic Analytics では、最も多くのトラフィックを生成する仮想ネットワーク内のシステムが表示されます。 ボトルネックが問題になる前に、ボトルネックを視覚的に特定できます。
- Network Performance Monitor では、ExpressRoute 回線に関する情報を監視します。
- VPN 診断は、アプリケーションをオンプレミス ユーザーに接続するサイト間 VPN 接続のトラブルシューティングに役立ちます。
また、DNS 要求に関する分析情報を取得してログの結果を許可または拒否できるよう Azure Firewall 診断ログを有効にすることも検討してください。
このデプロイには、1 つのハブ仮想ネットワークと 2 つの接続されたスポークが含まれており、Azure Firewall インスタンスと Azure Bastion ホストもデプロイされます。 必要に応じて、最初のスポーク ネットワーク内の VM と VPN ゲートウェイをデプロイに含めることができます。
仮想ネットワーク ピアリングまたは Virtual Network Manager 接続グループを選択して、ネットワーク接続を作成できます。 それぞれの方法には、いくつかのデプロイ オプションがあります。
次のコマンドを実行して、デプロイの
eastus
リージョンにhub-spoke
という名前のリソース グループを作成します。 埋め込みシェルを使用するには、[試してみる] ボタンを選びます。az group create --name hub-spoke --location eastus
次のコマンドを実行して、Bicep テンプレートをダウンロードします。
curl https://raw.githubusercontent.com/mspnp/samples/main/solutions/azure-hub-spoke/bicep/main.bicep > main.bicep
次のコマンドを実行して、ハブ アンド スポークのネットワーク構成、ハブとスポークの間の仮想ネットワーク ピアリング、Azure Bastion ホストをデプロイします。 プロンプトが表示されたら、ユーザー名とパスワードを入力します。 このユーザー名とパスワードを使用して、スポーク ネットワーク内の VM にアクセスできます。
az deployment group create --resource-group hub-spoke --template-file main.bicep
詳細および追加のデプロイ オプションについては、このソリューションをデプロイする 「ハブ アンド スポーク ARM および Bicep テンプレート」を参照してください。
デプロイ用のリソース グループを作成するには、次のコマンドを実行します。 埋め込みシェルを使用するには、[試してみる] ボタンを選びます。
az group create --name hub-spoke --location eastus
次のコマンドを実行して、Bicep テンプレートをダウンロードします。
curl https://raw.githubusercontent.com/mspnp/samples/main/solutions/azure-hub-spoke-connected-group/bicep/main.bicep > main.bicep
次のコマンドを実行して、必要なすべてのモジュールを新しいディレクトリにダウンロードします。
mkdir modules curl https://raw.githubusercontent.com/mspnp/samples/main/solutions/azure-hub-spoke-connected-group/bicep/modules/avnm.bicep > modules/avnm.bicep curl https://raw.githubusercontent.com/mspnp/samples/main/solutions/azure-hub-spoke-connected-group/bicep/modules/avnmDeploymentScript.bicep > modules/avnmDeploymentScript.bicep curl https://raw.githubusercontent.com/mspnp/samples/main/solutions/azure-hub-spoke-connected-group/bicep/modules/hub.bicep > modules/hub.bicep curl https://raw.githubusercontent.com/mspnp/samples/main/solutions/azure-hub-spoke-connected-group/bicep/modules/spoke.bicep > modules/spoke.bicep
次のコマンドを実行して、ハブ アンド スポークのネットワーク構成、ハブとスポークの間の仮想ネットワーク接続、Bastion ホストをデプロイします。 プロンプトが表示されたら、ユーザー名とパスワードを入力します。 このユーザー名とパスワードを使用して、スポーク ネットワーク内の VM にアクセスできます。
az deployment group create --resource-group hub-spoke --template-file main.bicep
詳細および追加のデプロイ オプションについては、このソリューションをデプロイする 「ハブ アンド スポーク ARM および Bicep テンプレート」を参照してください。
この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。
プリンシパル作成者:
Alejandra Palacios | シニア カスタマー エンジニア
その他の共同作成者:
- Matthew Bratschun | カスタマー エンジニア
- Jay Li | シニア プロダクト マネージャー
- Telmo Sampaio | プリンシパル サービス エンジニアリング マネージャー
パブリックでない LinkedIn プロファイルを表示するには、LinkedIn にサインインします。
セキュリティ保護付き仮想ハブと、Azure Firewall Manager によって構成された関連するセキュリティおよびルーティング ポリシーについては、「セキュリティ保護付き仮想ハブとは」を参照してください。
ハブスポーク ネットワーク トポロジのハブは、Azure ランディング ゾーンの接続サブスクリプションの主要コンポーネントです。 お客様または Microsoft によって管理されるルーティングとセキュリティを使用して Azure で大規模なネットワークを構築する方法については、「Azure ネットワーク トポロジを定義する」を参照してください。
次の関連するアーキテクチャを確認してください。