Azure にハブスポーク ネットワーク トポロジを実装するImplement a hub-spoke network topology in Azure

この参照アーキテクチャでは、Azure にハブスポーク トポロジを実装する方法を示します。This reference architecture shows how to implement a hub-spoke topology in Azure. ハブは、オンプレミス ネットワークへの主要な接続ポイントとして機能する Azure の仮想ネットワーク (VNet) です。The hub is a virtual network (VNet) in Azure that acts as a central point of connectivity to your on-premises network. スポークは、ハブとピアリングする VNet であり、ワークロードを分離するために使用できます。The spokes are VNets that peer with the hub, and can be used to isolate workloads. トラフィックは、ExpressRoute または VPN ゲートウェイ接続を経由してオンプレミスのデータセンターとハブの間を流れます。Traffic flows between the on-premises datacenter and the hub through an ExpressRoute or VPN gateway connection. このソリューションをデプロイしますDeploy this solution.

![[0]][0]![[0]][0]

このアーキテクチャの Visio ファイルをダウンロードします。Download a Visio file of this architecture

このトポロジの利点は次のとおりです。The benefits of this toplogy include:

  • コストの削減: 複数のワークロードを共有するサービス (ネットワーク仮想アプライアンス (NVA) や DNS サーバーなど) を 1 か所に集めます。Cost savings by centralizing services that can be shared by multiple workloads, such as network virtual appliances (NVAs) and DNS servers, in a single location.
  • サブスクリプション数の上限の解消: 中央のハブに別のサブスクリプションから VNet をピアリングします。Overcome subscriptions limits by peering VNets from different subscriptions to the central hub.
  • 問題の分離: 中央の IT (SecOps、InfraOps) とワークロード (DevOps) の間で実施します。Separation of concerns between central IT (SecOps, InfraOps) and workloads (DevOps).

このアーキテクチャの一般的な用途は次のとおりです。Typical uses for this architecture include:

  • DNS、IDS、NTP、AD DS などの共有サービスを必要とするさまざまな環境 (開発、テスト、運用など) でデプロイされるワークロード。Workloads deployed in different environments, such as development, testing, and production, that require shared services such as DNS, IDS, NTP, or AD DS. 共有サービスはハブ VNet に配置され、分離性を維持するために各環境はスポークにデプロイされます。Shared services are placed in the hub VNet, while each environment is deployed to a spoke to maintain isolation.
  • 相互接続が不要であり、共有サービスへのアクセスは必要なワークロード。Workloads that do not require connectivity to each other, but require access to shared services.
  • セキュリティ要素 (DMZ としてのハブのファイアウォールなど) の一元管理、および各スポークにおけるワークロードの分別管理が必要なエンタープライズ。Enterprises that require central control over security aspects, such as a firewall in the hub as a DMZ, and segregated management for the workloads in each spoke.

アーキテクチャArchitecture

アーキテクチャは、次のコンポーネントで構成されます。The architecture consists of the following components.

  • オンプレミス ネットワークOn-premises network. 組織内で実行されているプライベートなローカル エリア ネットワークです。A private local-area network running within an organization.

  • VPN デバイスVPN device. オンプレミス ネットワークへの外部接続を提供するデバイスまたはサービスです。A device or service that provides external connectivity to the on-premises network. VPN デバイスには、ハードウェア デバイス、または Windows Server 2012 のルーティングとリモート アクセス サービス (RRAS) などのソフトウェア ソリューションがあります。The VPN device may be a hardware device, or a software solution such as the Routing and Remote Access Service (RRAS) in Windows Server 2012. サポート対象の VPN アプライアンスの一覧と選択した VPN アプライアンスを Azure に接続するための構成については、「サイト間 VPN ゲートウェイ接続用の VPN デバイスと IPsec/IKE パラメーターについて」をご覧ください。For a list of supported VPN appliances and information on configuring selected VPN appliances for connecting to Azure, see About VPN devices for Site-to-Site VPN Gateway connections.

  • VPN 仮想ネットワーク ゲートウェイまたは ExpressRoute ゲートウェイVPN virtual network gateway or ExpressRoute gateway. 仮想ネットワーク ゲートウェイでは、オンプレミス ネットワークとの接続に使用する VPN デバイス (ExpressRoute 回線) に VNet を接続できます。The virtual network gateway enables the VNet to connect to the VPN device, or ExpressRoute circuit, used for connectivity with your on-premises network. 詳しくは、「Connect an on-premises network to a Microsoft Azure virtual network」(Microsoft Azure 仮想ネットワークにオンプレミス ネットワークを接続する) をご覧ください。For more information, see Connect an on-premises network to a Microsoft Azure virtual network.

注意

この参照アーキテクチャのデプロイ スクリプトでは、VPN ゲートウェイを使用して接続し、Azure の VNet を使用してオンプレミス ネットワークをシミュレートします。The deployment scripts for this reference architecture use a VPN gateway for connectivity, and a VNet in Azure to simulate your on-premises network.

  • ハブ VNetHub VNet. ハブスポーク トポロジのハブとして使用する Azure VNet。Azure VNet used as the hub in the hub-spoke topology. ハブは、オンプレミス ネットワークへの主要な接続ポイントであり、スポーク VNet でホストされるさまざまなワークロードによって消費できるサービスをホストする場所です。The hub is the central point of connectivity to your on-premises network, and a place to host services that can be consumed by the different workloads hosted in the spoke VNets.

  • ゲートウェイ サブネットGateway subnet. 仮想ネットワーク ゲートウェイは、同じサブネット内に保持されます。The virtual network gateways are held in the same subnet.

  • スポーク VNetSpoke VNets. ハブスポーク トポロジでスポークとして使用される 1 つ以上の Azure VNet です。One or more Azure VNets that are used as spokes in the hub-spoke topology. スポークを使用すると、独自の VNet にワークロードを分離して、その他のスポークから個別に管理できます。Spokes can be used to isolate workloads in their own VNets, managed separately from other spokes. 各ワークロードには複数の階層が含まれる場合があります。これらの階層には、Azure ロード バランサーを使用して接続されている複数のサブネットがあります。Each workload might include multiple tiers, with multiple subnets connected through Azure load balancers. アプリケーション インフラストラクチャについて詳しくは、「Running Windows VM workloads」(Windows VM ワークロードを実行する) および「Running Linux VM workloads」(Linux VM ワークロードを実行する) をご覧ください。For more information about the application infrastructure, see Running Windows VM workloads and Running Linux VM workloads.

  • VNet ピアリングVNet peering. ピアリング接続を使用して、同じ Azure リージョン内の 2 つの VNet を接続できます。Two VNets in the same Azure region can be connected using a peering connection. ピアリング接続は、VNet 間の待機時間の短い非推移的な接続です。Peering connections are non-transitive, low latency connections between VNets. ピアリングが完了すると、VNet は、ルーターがなくても Azure のバックボーンを使用してトラフィックを交換します。Once peered, the VNets exchange traffic by using the Azure backbone, without the need for a router. ハブスポーク ネットワーク トポロジでは、VNet ピアリングを使用して、ハブを各スポークに接続します。In a hub-spoke network topology, you use VNet peering to connect the hub to each spoke.

注意

この記事で説明するのは Resource Manager のデプロイのみですが、クラシック VNet を同じサブスクリプションの Resource Manager VNet に接続することもできます。This article only covers Resource Manager deployments, but you can also connect a classic VNet to a Resource Manager VNet in the same subscription. これにより、クラシック デプロイ をスポークでホストして、ハブで共有するサービスのメリットを引き続き得ることができます。That way, your spokes can host classic deployments and still benefit from services shared in the hub.

RecommendationsRecommendations

ほとんどのシナリオには、次の推奨事項が適用されます。The following recommendations apply for most scenarios. これらの推奨事項には、優先される特定の要件がない限り、従ってください。Follow these recommendations unless you have a specific requirement that overrides them.

リソース グループResource groups

ハブ VNet と各スポーク VNet を異なるリソース グループに実装できます。同じ Azure リージョン内の同じ Azure Active Directory (Azure AD) テナントに属している限り、サブスクリプションが異なっていてもかまいません。The hub VNet, and each spoke VNet, can be implemented in different resource groups, and even different subscriptions, as long as they belong to the same Azure Active Directory (Azure AD) tenant in the same Azure region. これにより、各ワークロードを分散管理し、サービスの共有はハブ VNet で維持できます。This allows for a decentralized management of each workload, while sharing services maintained in the hub VNet.

VNet と GatewaySubnetVNet and GatewaySubnet

GatewaySubnet という名前のサブネットを作成します。アドレス範囲は /27 です。Create a subnet named GatewaySubnet, with an address range of /27. このサブネットは、仮想ネットワーク ゲートウェイで必要です。This subnet is required by the virtual network gateway. このサブネットに 32 個のアドレスを割り当てると、将来的にゲートウェイ サイズの制限に達するのを回避できます。Allocating 32 addresses to this subnet will help to prevent reaching gateway size limitations in the future.

ゲートウェイの設定について詳しくは、接続の種類に応じて、次の参照アーキテクチャをご覧ください。For more information about setting up the gateway, see the following reference architectures, depending on your connection type:

高可用性を確保するために、ExpressRoute に加えてフェールオーバー用の VPN を使用できます。For higher availability, you can use ExpressRoute plus a VPN for failover. Connect an on-premises network to Azure using ExpressRoute with VPN failover」(ExpressRoute と VPN フェールオーバーを使用してオンプレミス ネットワークを Azure に接続する) をご覧ください。See Connect an on-premises network to Azure using ExpressRoute with VPN failover.

オンプレミス ネットワークに接続する必要がない場合は、ゲートウェイを設定せずにハブスポーク トポロジを使用することもできます。A hub-spoke topology can also be used without a gateway, if you don't need connectivity with your on-premises network.

VNET ピアリングVNet peering

VNet ピアリングは、2 つの VNet 間の非推移的な関係です。VNet peering is a non-transitive relationship between two VNets. 相互接続のためにスポークが必要な場合は、これらのスポーク間に個別のピアリング接続を追加することを検討してください。If you require spokes to connect to each other, consider adding a separate peering connection between those spokes.

ただし、相互接続に必要なスポークが複数ある場合は、VNet ごとの VNet ピアリング数の制限のために、有効なピアリング接続をすぐに使い果たします。However, if you have several spokes that need to connect with each other, you will run out of possible peering connections very quickly due to the limitation on number of VNets peerings per VNet. このシナリオでは、ユーザー定義ルート (UDR) を使用して、スポーク宛てのトラフィックをハブ VNet のルーターとして機能する NVA に強制的に送信することを検討してください。In this scenario, consider using user defined routes (UDRs) to force traffic destined to a spoke to be sent to an NVA acting as a router at the hub VNet. これにより、スポークを相互に接続できます。This will allow the spokes to connect to each other.

リモート ネットワークと通信するハブ VNet ゲートウェイを使用するようにスポークを構成することもできます。You can also configure spokes to use the hub VNet gateway to communicate with remote networks. ゲートウェイ トラフィックをスポークからハブに流して、リモート ネットワークに接続するには、次の手順を実行する必要があります。To allow gateway traffic to flow from spoke to hub, and connect to remote networks, you must:

  • ゲートウェイ トランジットを許可するようにハブで VNet ピアリング接続を構成します。Configure the VNet peering connection in the hub to allow gateway transit.
  • リモート ゲートウェイを使用するように各スポークで VNet ピアリング接続を構成します。Configure the VNet peering connection in each spoke to use remote gateways.
  • 転送されたトラフィックを許可するようにすべての VNet ピアリング接続を構成します。Configure all VNet peering connections to allow forwarded traffic.

考慮事項Considerations

スポーク接続Spoke connectivity

スポーク間の接続が必要な場合は、ハブでのルーティング用の NVA の実装、およびスポークでの UDR を使用したハブへのトラフィックの転送を検討してください。If you require connectivity between spokes, consider implementing an NVA for routing in the hub, and using UDRs in the spoke to forward traffic to the hub.

![[2]][2]![[2]][2]

このシナリオでは、転送されたトラフィックを許可するようにピアリング接続を構成する必要があります。In this scenario, you must configure the peering connections to allow forwarded traffic.

VNet ピアリングの制限の解消Overcoming VNet peering limits

Azure の VNet ごとの VNet ピアリング数の制限を考慮してください。Make sure you consider the limitation on number of VNets peerings per VNet in Azure. 制限を超える数のスポークを許可する場合は、ハブスポークハブスポーク トポロジの作成を検討してください。このトポロジでは、第 1 レベルのスポークもハブとして機能します。If you decide you need more spokes than the limit will allow, consider creating a hub-spoke-hub-spoke topology, where the first level of spokes also act as hubs. この手法を次の図に示します。The following diagram shows this approach.

![[3]][3]![[3]][3]

また、多数のスポークに合わせてハブを拡張するために、ハブで共有するサービスも検討してください。Also consider what services are shared in the hub, to ensure the hub scales for a larger number of spokes. たとえば、ハブがファイアウォール サービスを提供する場合は、複数のスポークを追加するときにファイアウォール ソリューションの帯域幅の制限を検討します。For instance, if your hub provides firewall services, consider the bandwidth limits of your firewall solution when adding multiple spokes. このような一部の共有サービスを第 2 レベルのハブに移動することをお勧めします。You might want to move some of these shared services to a second level of hubs.

ソリューションのデプロイ方法Deploy the solution

このアーキテクチャのデプロイについては、GitHub を参照してください。A deployment for this architecture is available on GitHub. ここでは、各 VNet の VM を使用して接続をテストします。It uses VMs in each VNet to test connectivity. 実際のサービスは、ハブ VNetshared-services サブネットでホストされません。There are no actual services hosted in the shared-services subnet in the hub VNet.

デプロイによってサブスクリプション内に作成されるリソース グループは、次のとおりです。The deployment creates the following resource groups in your subscription:

  • hub-nva-rghub-nva-rg
  • hub-vnet-rghub-vnet-rg
  • onprem-jb-rgonprem-jb-rg
  • onprem-vnet-rgonprem-vnet-rg
  • spoke1-vnet-rgspoke1-vnet-rg
  • spoke2-vent-rgspoke2-vent-rg

テンプレート パラメーター ファイルは、これらの名前を参照します。したがって、名前を変更する場合は、それに合わせてパラメーター ファイルも更新します。The template parameter files refer to these names, so if you change them, update the parameter files to match.

前提条件Prerequisites

  1. 参照アーキテクチャ GitHub リポジトリに ZIP ファイルを複製、フォーク、またはダウンロードします。Clone, fork, or download the zip file for the reference architectures GitHub repository.

  2. Azure CLI 2.0 をインストールします。Install Azure CLI 2.0.

  3. Azure の構成要素 npm パッケージをインストールします。Install the Azure building blocks npm package.

  4. コマンド プロンプト、bash プロンプト、または PowerShell プロンプトから、以下のコマンドを使用して Azure アカウントにログインします。From a command prompt, bash prompt, or PowerShell prompt, log into your Azure account by using the command below.

    az login
    

シミュレートされたオンプレミスのデータセンターをデプロイするDeploy the simulated on-premises datacenter

シミュレートされたオンプレミスのデータセンターを Azure VNet としてデプロイするには、次の手順に従います。To deploy the simulated on-premises datacenter as an Azure VNet, follow these steps:

  1. 参照アーキテクチャ リポジトリの hybrid-networking/hub-spoke フォルダーに移動します。Navigate to the hybrid-networking/hub-spoke folder of the reference architectures repository.

  2. onprem.json ファイルを開きます。Open the onprem.json file. adminUsername および adminPassword の値を置き換えます。Replace the values for adminUsername and adminPassword.

    "adminUsername": "<user name>",
    "adminPassword": "<password>",
    
  3. (省略可能) Linux デプロイの場合は、osTypeLinux に設定します。(Optional) For a Linux deployment, set osType to Linux.

  4. 次のコマンドを実行します。Run the following command:

    azbb -s <subscription_id> -g onprem-vnet-rg -l <location> -p onprem.json --deploy
    
  5. デプロイが完了するのを待機します。Wait for the deployment to finish. このデプロイでは、仮想ネットワーク、仮想マシン、および VPN ゲートウェイを作成します。This deployment creates a virtual network, a virtual machine, and a VPN gateway. VPN ゲートウェイの作成には約 40 分かかります。It can take about 40 minutes to create the VPN gateway.

ハブ VNet をデプロイするDeploy the hub VNet

ハブ VNet をデプロイするには、次の手順を実行します。To deploy the hub VNet, perform the following steps.

  1. hub-vnet.json ファイルを開きます。Open the hub-vnet.json file. adminUsername および adminPassword の値を置き換えます。Replace the values for adminUsername and adminPassword.

    "adminUsername": "<user name>",
    "adminPassword": "<password>",
    
  2. (省略可能) Linux デプロイの場合は、osTypeLinux に設定します。(Optional) For a Linux deployment, set osType to Linux.

  3. sharedKey については、VPN 接続の共有キーを入力します。For sharedKey, enter a shared key for the VPN connection.

    "sharedKey": "",
    
  4. 次のコマンドを実行します。Run the following command:

    azbb -s <subscription_id> -g hub-vnet-rg -l <location> -p hub-vnet.json --deploy
    
  5. デプロイが完了するのを待機します。Wait for the deployment to finish. このデプロイでは、仮想ネットワーク、仮想マシン、VPN ゲートウェイ、およびゲートウェイへの接続が作成されます。This deployment creates a virtual network, a virtual machine, a VPN gateway, and a connection to the gateway. VPN ゲートウェイの作成には約 40 分かかります。It can take about 40 minutes to create the VPN gateway.

ハブとの接続をテストするTest connectivity with the hub

シミュレートされたオンプレミスの環境からハブ VNet への接続をテストします。Test conectivity from the simulated on-premises environment to the hub VNet.

Windows デプロイWindows deployment

  1. Azure Portal を使用して、onprem-jb-rg リソース グループで jb-vm1 という名前の VM を見つけます。Use the Azure portal to find the VM named jb-vm1 in the onprem-jb-rg resource group.

  2. Connect をクリックして、VM に対するリモート デスクトップ セッションを開きます。Click Connect to open a remove desktop session to the VM. onprem.json パラメーター ファイルで指定したパスワードを使用します。Use the password that you specified in the onprem.json parameter file.

  3. VM で PowerShell コンソールを開き、Test-NetConnection コマンドレットを使用して、ハブ VNet の ジャンプボックス VM に接続できることを確認します。Open a PowerShell console in the VM, and use the Test-NetConnection cmdlet to verify that you can connect to the jumpbox VM in the hub VNet.

    Test-NetConnection 10.0.0.68 -CommonTCPPort RDP
    

出力は次のようになります。The output should look similar to the following:

ComputerName     : 10.0.0.68
RemoteAddress    : 10.0.0.68
RemotePort       : 3389
InterfaceAlias   : Ethernet 2
SourceAddress    : 192.168.1.000
TcpTestSucceeded : True

注意

既定で、Windows Server VM では Azure の ICMP 応答が許可されていません。By default, Windows Server VMs do not allow ICMP responses in Azure. 接続のテストに ping を使用する場合は、VM ごとに Windows の高度なファイアウォールで ICMP トラフィックを有効にする必要があります。If you want to use ping to test connectivity, you need to enable ICMP traffic in the Windows Advanced Firewall for each VM.

Linux デプロイLinux deployment

  1. Azure Portal を使用して、onprem-jb-rg リソース グループで jb-vm1 という名前の VM を見つけます。Use the Azure portal to find the VM named jb-vm1 in the onprem-jb-rg resource group.

  2. Connect をクリックし、ポータルに表示されている ssh コマンドをコピーします。Click Connect and copy the ssh command shown in the portal.

  3. Linux プロンプトから ssh を実行して、シミュレートされたオンプレミスの環境に接続します。From a Linux prompt, run ssh to connect to the simulated on-premises environment. onprem.json パラメーター ファイルで指定したパスワードを使用します。Use the password that you specified in the onprem.json parameter file.

  4. ping コマンドを使用して、ハブ VNet のジャンプボックス VM への接続をテストします。Use the ping command to test connectivity to the jumpbox VM in the hub VNet:

    ping 10.0.0.68
    

スポーク VNet をデプロイするDeploy the spoke VNets

スポーク VNet をデプロイするには、次の手順を実行します。To deploy the spoke VNets, perform the following steps.

  1. spoke1.json ファイルを開きます。Open the spoke1.json file. adminUsername および adminPassword の値を置き換えます。Replace the values for adminUsername and adminPassword.

    "adminUsername": "<user name>",
    "adminPassword": "<password>",
    
  2. (省略可能) Linux デプロイの場合は、osTypeLinux に設定します。(Optional) For a Linux deployment, set osType to Linux.

  3. 次のコマンドを実行します。Run the following command:

    azbb -s <subscription_id> -g spoke1-vnet-rg -l <location> -p spoke1.json --deploy
    
  4. spoke2.json ファイルに対して手順 1. ~ 2. を繰り返します。Repeat steps 1-2 for the spoke2.json file.

  5. 次のコマンドを実行します。Run the following command:

    azbb -s <subscription_id> -g spoke2-vnet-rg -l <location> -p spoke2.json --deploy
    
  6. 次のコマンドを実行します。Run the following command:

    azbb -s <subscription_id> -g hub-vnet-rg -l <location> -p hub-vnet-peering.json --deploy
    

接続をテストするTest connectivity

シミュレートされたオンプレミスの環境からスポーク VNet への接続をテストします。Test conectivity from the simulated on-premises environment to the spoke VNets.

Windows デプロイWindows deployment

  1. Azure Portal を使用して、onprem-jb-rg リソース グループで jb-vm1 という名前の VM を見つけます。Use the Azure portal to find the VM named jb-vm1 in the onprem-jb-rg resource group.

  2. Connect をクリックして、VM に対するリモート デスクトップ セッションを開きます。Click Connect to open a remove desktop session to the VM. onprem.json パラメーター ファイルで指定したパスワードを使用します。Use the password that you specified in the onprem.json parameter file.

  3. VM で PowerShell コンソールを開き、Test-NetConnection コマンドレットを使用して、ハブ VNet の ジャンプボックス VM に接続できることを確認します。Open a PowerShell console in the VM, and use the Test-NetConnection cmdlet to verify that you can connect to the jumpbox VM in the hub VNet.

    Test-NetConnection 10.1.0.68 -CommonTCPPort RDP
    Test-NetConnection 10.2.0.68 -CommonTCPPort RDP
    

Linux デプロイLinux deployment

Linux VM を使用して、シミュレートされたオンプレミスの環境からスポーク VNet への接続をテストするには、次の手順を実行します。To test conectivity from the simulated on-premises environment to the spoke VNets using Linux VMs, perform the following steps:

  1. Azure Portal を使用して、onprem-jb-rg リソース グループで jb-vm1 という名前の VM を見つけます。Use the Azure portal to find the VM named jb-vm1 in the onprem-jb-rg resource group.

  2. Connect をクリックし、ポータルに表示されている ssh コマンドをコピーします。Click Connect and copy the ssh command shown in the portal.

  3. Linux プロンプトから ssh を実行して、シミュレートされたオンプレミスの環境に接続します。From a Linux prompt, run ssh to connect to the simulated on-premises environment. onprem.json パラメーター ファイルで指定したパスワードを使用します。Use the password that you specified in the onprem.json parameter file.

  4. ping コマンドを使用して、各スポーク内のジャンプボックス VM への接続をテストします。Use the ping command to test connectivity to the jumpbox VMs in each spoke:

    ping 10.1.0.68
    ping 10.2.0.68
    

スポーク間に接続を追加するAdd connectivity between spokes

この手順は省略可能です。This step is optional. スポークに相互接続を許可する場合は、ハブの VNet 内のルーターとしてネットワーク仮想アプライアンス (NVA) を使用し、別のスポークへの接続を試みるときにスポークからルーターへのトラフィックを強制する必要があります。If you want to allow spokes to connect to each other, you must use a newtwork virtual appliance (NVA) as a router in the hub VNet, and force traffic from spokes to the router when trying to connect to another spoke. 1 つの VM としての基本的なサンプル NVA と、ユーザー定義のルート (UDR) をデプロイして、2 つのスポーク VNet の接続を許可するには、次の手順を実行します。To deploy a basic sample NVA as a single VM, along with user-defined routes (UDRs) to allow the two spoke VNets to connect, perform the following steps:

  1. hub-nva.json ファイルを開きます。Open the hub-nva.json file. adminUsername および adminPassword の値を置き換えます。Replace the values for adminUsername and adminPassword.

    "adminUsername": "<user name>",
    "adminPassword": "<password>",
    
  2. 次のコマンドを実行します。Run the following command:

    azbb -s <subscription_id> -g hub-nva-rg -l <location> -p hub-nva.json --deploy
    

[0]: ./images/hub-spoke.png "Hub-spoke topology in Azure" (Azure のハブスポーク トポロジ) [1]: ./images/hub-spoke-gateway-routing.svg "Hub-spoke topology in Azure with transitive routing" (Azure のハブスポーク トポロジと推移的なルーティング) [2]: ./images/hub-spoke-no-gateway-routing.svg "Hub-spoke topology in Azure with transitive routing using an NVA" (Azure のハブスポーク トポロジと NVA を使用した推移的なルーティング) [3]: ./images/hub-spokehub-spoke.svg "Hub-spoke-hub-spoke topology in Azure" (Azure のハブスポークハブスポーク トポロジ) [ARM-Templates]: https://azure.microsoft.com/documentation/articles/resource-group-authoring-templates/