演習 - Azure CLI コマンドを使用して仮想ネットワーク ピアリング接続を構成する

完了

仮想ネットワークを作成し、その中で仮想マシン (VM) を実行しました。 ただし、仮想ネットワークの間に接続はなく、これらのシステムが相互に通信することはできません。

通信を有効にするには、仮想ネットワークにピアリング接続を作成する必要があります。 ここでは、会社の要件を満たすため、ハブとスポークのトポロジを構成し、ピアリング接続を作成したときに仮想ネットワークがアクセスできるようにします。

仮想ネットワーク ピアリング接続を作成する

以下の手順のようにして、仮想ネットワークの間に接続を作成し、各接続の動作を構成します。

  1. Cloud Shell で次のコマンドを実行し、SalesVNet 仮想ネットワークと MarketingVNet 仮想ネットワークの間に、ピアリング接続を作成します。 このコマンドでは、このピアリング接続経由での仮想ネットワークへのアクセスも許可されます。

    az network vnet peering create \
        --name SalesVNet-To-MarketingVNet \
        --remote-vnet MarketingVNet \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --vnet-name SalesVNet \
        --allow-vnet-access
    
  2. 次のコマンドを実行して、MarketingVNet から SalesVNet への逆方向の接続を作成します。 このステップで、これらの仮想ネットワーク間の接続が完成します。

    az network vnet peering create \
        --name MarketingVNet-To-SalesVNet \
        --remote-vnet SalesVNet \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --vnet-name MarketingVNet \
        --allow-vnet-access
    

Sales と Marketing の間の接続ができたので、次に Marketing と Research の間の接続を作成します。

  1. Cloud Shell で次のコマンドを実行して、MarketingVNet 仮想ネットワークと ResearchVNet 仮想ネットワークの間に、ピアリング接続を作成します。

    az network vnet peering create \
        --name MarketingVNet-To-ResearchVNet \
        --remote-vnet ResearchVNet \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --vnet-name MarketingVNet \
        --allow-vnet-access
    
  2. 次のコマンドを実行して、ResearchVNetMarketingVNet の間に逆方向の接続を作成します。

    az network vnet peering create \
        --name ResearchVNet-To-MarketingVNet \
        --remote-vnet MarketingVNet \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --vnet-name ResearchVNet \
        --allow-vnet-access
    

仮想ネットワークのピアリング接続を確認する

仮想ネットワークの間にピアリング接続を作成したので、接続の動作を確認します。

  1. Cloud Shell で次のコマンドを実行して、SalesVNetMarketingVNet の間の接続を確認します。

    az network vnet peering list \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --vnet-name SalesVNet \
        --query "[].{Name:name, Resource:resourceGroup, PeeringState:peeringState, AllowVnetAccess:allowVirtualNetworkAccess}"\
        --output table
    
  2. SalesVNet から作成した接続は 1 つだけなので、表示される結果も 1 つだけです。 [PeeringState] 列で、状態が [Connected] になっていることを確認します。

  3. 次のコマンドを実行して、ResearchVNet 仮想ネットワークと MarketingVNet 仮想ネットワークの間のピアリング接続を確認します。

    az network vnet peering list \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --vnet-name ResearchVNet \
        --query "[].{Name:name, Resource:resourceGroup, PeeringState:peeringState, AllowVnetAccess:allowVirtualNetworkAccess}"\
        --output table
    
  4. やはり、ResearchVNet から作成した接続は 1 つだけなので、表示される結果も 1 つだけです。 [PeeringState] 列で、状態が [Connected] になっていることを確認します。

  5. 次のコマンドを実行して、MarketingVNet 仮想ネットワークのピアリング接続を確認します。

    az network vnet peering list \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --vnet-name MarketingVNet \
        --query "[].{Name:name, Resource:resourceGroup, PeeringState:peeringState, AllowVnetAccess:allowVirtualNetworkAccess}"\
        --output table
    

    Marketing から Sales と、Marketing から Research への接続を作成したことを思い出してください。そのため、2 つの接続が表示されるはずです。 [PeeringState] 列で、両方の接続の状態が [Connected] になっていることを確認します。

これで、仮想ネットワーク間のピアリング接続は次のようになります。

Diagram of the resulting virtual network peering connections.

有効なルートを確認する

さらに、VM のネットワーク インターフェイスに適用されるルートを調べることで、ピアリング接続を確認できます。

  1. SalesVM のネットワーク インターフェイスに適用されるルートを見るには、次のコマンドを実行します。

    az network nic show-effective-route-table \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --name SalesVMVMNic \
        --output table
    

    出力テーブルでは、VM のネットワーク インターフェイスに対して有効なルートが示されています。 SalesVMVMNic の場合は、"ネクスト ホップの種類" が VNetPeering である 10.2.0.0/16 へのルートがあるはずです。 これは、SalesVNet から MarketingVNet へのピアリング接続のネットワーク ルートです。

    Source    State    Address Prefix    Next Hop Type    Next Hop IP
    --------  -------  ----------------  ---------------  -------------
    Default   Active   10.1.0.0/16       VnetLocal
    Default   Active   10.2.0.0/16       VNetPeering
    Default   Active   0.0.0.0/0         Internet
    Default   Active   10.0.0.0/8        None
    Default   Active   100.64.0.0/10     None
    Default   Active   192.168.0.0/16    None
    
  2. 次のコマンドを実行して MarketingVM のルートを確認します。

    az network nic show-effective-route-table \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --name MarketingVMVMNic \
        --output table
    

    出力テーブルでは、VM のネットワーク インターフェイスに対して有効なルートが示されています。 MarketingVMVMNic の場合は、ネクスト ホップの種類が VNetPeering である 10.1.0.0/16 へのルートと、ネクスト ホップの種類が VNetGlobalPeering である 10.3.0.0/16 へのルートがあるはずです。 これらは、MarketingVNet から SalesVNet へと、MarketingVNet から ResearchVNet への、ピアリング接続のネットワーク ルートです。

    Source    State    Address Prefix    Next Hop Type      Next Hop IP
    --------  -------  ----------------  -----------------  -------------
    Default   Active   10.2.0.0/16       VnetLocal
    Default   Active   10.1.0.0/16       VNetPeering
    Default   Active   0.0.0.0/0         Internet
    Default   Active   10.0.0.0/8        None
    Default   Active   100.64.0.0/10     None
    Default   Active   192.168.0.0/16    None
    Default   Active   10.3.0.0/16       VNetGlobalPeering
    
  3. 次のコマンドを実行して ResearchVM のルートを確認します。

    az network nic show-effective-route-table \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --name ResearchVMVMNic \
        --output table
    

    出力テーブルでは、VM のネットワーク インターフェイスに対して有効なルートが示されています。 ResearchVMVMNic の場合は、次ホップの種類が VNetGlobalPeering である 10.2.0.0/16 へのルートがあるはずです。 これは、ResearchVNet から MarketingVNet へのピアリング接続のネットワーク ルートです。

    Source    State    Address Prefix    Next Hop Type      Next Hop IP
    --------  -------  ----------------  -----------------  -------------
    Default   Active   10.3.0.0/16       VnetLocal
    Default   Active   0.0.0.0/0         Internet
    Default   Active   10.0.0.0/8        None
    Default   Active   100.64.0.0/10     None
    Default   Active   192.168.0.0/16    None
    Default   Active   10.2.0.0/16       VNetGlobalPeering
    

ピアリング接続が構成されたので、これにより VM 間の通信にどのような効果があるか見てみましょう。