演習 - 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] 列で、状態が [接続済み] であることを確認します。
次のコマンドを実行して、 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] 列で、状態が [接続済み] であることを確認します。
次のコマンドを実行して、 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] 列で、両方の接続の状態が [接続済み] になっていることを確認します。
これで、仮想ネットワーク間のピアリング接続は次の図のようになります。
有効なルートを確認する
さらに、VM のネットワーク インターフェイスに適用されるルートを調べることで、ピアリング接続を確認できます。
次のコマンドを実行して、 SalesVM ネットワーク インターフェイスに適用されるルートを確認します。
az network nic show-effective-route-table \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --name SalesVMVMNic \ --output table
出力テーブルでは、仮想マシンのネットワーク インターフェイスに対して有効なルートが示されています。 SalesVMVMNic には、10.2.0.0/16 へのルートとして、次ホップの種類がVNetPeeringである必要があります。 このネットワーク ルートは、 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 間の通信にどのような効果があるか見てみましょう。