演習 - Azure CLI コマンドを使用して仮想ネットワーク ピアリング接続を構成する
仮想ネットワークを作成し、その中で仮想マシン (VM) を実行しました。 ただし、仮想ネットワークの間に接続はなく、これらのシステムが相互に通信することはできません。
通信を有効にするには、仮想ネットワークにピアリング接続を作成する必要があります。 ここでは、会社の要件を満たすため、ハブとスポークのトポロジを構成し、ピアリング接続を作成したときに仮想ネットワークがアクセスできるようにします。
仮想ネットワーク ピアリング接続を作成する
以下の手順のようにして、仮想ネットワークの間に接続を作成し、各接続の動作を構成します。
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
次のコマンドを実行して、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 の間の接続を作成します。
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
次のコマンドを実行して、ResearchVNet と MarketingVNet の間に逆方向の接続を作成します。
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
仮想ネットワークのピアリング接続を確認する
仮想ネットワークの間にピアリング接続が作成されたので、接続の動作を確認します。
Cloud Shell で次のコマンドを実行して、SalesVNet と MarketingVNet の間の接続を確認します。
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
SalesVNet から作成した接続は 1 つだけなので、表示される結果も 1 つだけです。 [PeeringState] 列で、状態が [Connected] になっていることを確認します。
次のコマンドを実行して、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
やはり、ResearchVNet から作成した接続は 1 つだけなので、表示される結果も 1 つだけです。 [PeeringState] 列で、状態が [Connected] になっていることを確認します。
次のコマンドを実行して、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] になっていることを確認します。
これで、仮想ネットワーク間のピアリング接続は次の図のようになります。
有効なルートを確認する
さらに、VM のネットワーク インターフェイスに適用されるルートを調べることで、ピアリング接続を確認できます。
SalesVM のネットワーク インターフェイスに適用されるルートを見るには、次のコマンドを実行します。
az network nic show-effective-route-table \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --name SalesVMVMNic \ --output table
出力テーブルでは、仮想マシンのネットワーク インターフェイスに対して有効なルートが示されています。 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
次のコマンドを実行して MarketingVM のルートを確認します。
az network nic show-effective-route-table \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --name MarketingVMVMNic \ --output table
出力テーブルでは、仮想マシンのネットワーク インターフェイスに対して有効なルートが示されています。 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
次のコマンドを実行して ResearchVM のルートを確認します。
az network nic show-effective-route-table \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --name ResearchVMVMNic \ --output table
出力テーブルでは、仮想マシンのネットワーク インターフェイスに対して有効なルートが示されています。 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 間の通信にどのような効果があるか見てみましょう。