次の方法で共有


クイックスタート: Azure CLI を使用して Azure Virtual Network Manager でメッシュ ネットワーク トポロジを作成する

すべての仮想ネットワークの接続を管理するため、Azure CLI で Azure Virtual Network Manager を使用する方法を説明します。

このクイックスタートでは、3 つの仮想ネットワークをデプロイし、Azure Virtual Network Manager を使用してメッシュ ネットワーク トポロジを作成します。 次に、接続構成が適用されたことを確認します。

メッシュ仮想ネットワーク トポロジ用に Azure Virtual Network Manager を使用してデプロイされたリソースの図。

前提条件

  • アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます
  • 最新の Azure CLI。またはポータルで Azure Cloud Shell を使用することもできます。
  • Azure Virtual Network Manager 拡張機能。 これを追加するには、az extension add -n virtual-network-manager を実行します。
  • 動的ネットワーク グループを変更するには、アクセス権の付与が Azure RBAC ロールの割り当てのみを使用して行われている必要があります。 従来の管理者/レガシ承認はサポートされていません。

Azure アカウントにサインインしてサブスクリプションを選択する

構成を始めるには、Azure アカウントにサインインします。 Cloud Shell の試してみる機能を使用している場合は、自動的にサインインします。

az login

Virtual Network Manager がデプロイされるサブスクリプションを選びます。

az account set \
    --subscription "<subscriptionID>"

Azure CLI 用の Virtual Network Manager 拡張機能を更新します。

az extension update --name virtual-network-manager

リソース グループを作成する

このタスクでは、az group create を使用して、ネットワーク マネージャー インスタンスをホストするリソース グループを作成します。 この例では、resource-group というリソース グループを "(米国) 西部 2" の場所に作成します。

az group create \
    --name "resource-group" \
    --location "westus2"

Virtual Network Manager インスタンスを作成する

このタスクでは、この Virtual Network Manager インスタンスのスコープとアクセスの種類を定義します。 az network manager create を使用してスコープを作成します。 値 <subscriptionID> を、Virtual Network Manager で仮想ネットワークを管理するサブスクリプションに置き換えます。 <mgName\> を、管理する管理グループに置き換えます。

az network manager create \
    --location "westus2" \
    --name "network-manager" \
    --resource-group "resource-group" \
    --scope-accesses "Connectivity" "SecurityAdmin" \
    --network-manager-scopes subscriptions="/subscriptions/<subscriptionID>"

ネットワーク グループを作成する

このタスクでは、az network manager group create を使用して、ネットワーク グループを作成します。

az network manager group create \
    --name "network-group" \
    --network-manager-name "network-manager" \
    --resource-group "resource-group" \
    --description "Network Group for Production virtual networks"

仮想ネットワークを作成する

このタスクでは、az network vnet create を使用して 3 つの仮想ネットワークを作成します。 この例では、three virtual という仮想ネットワークを "(米国) 西部 2" の場所に作成します。 各仮想ネットワークには、動的メンバーシップに使用される networkType のタグがあります。 作成するメッシュ ネットワークに含める仮想ネットワークが既にある場合は、次のセクションに進めます。

az network vnet create \
    --name "vnet-00" \
    --resource-group "resource-group" \
    --address-prefix "10.0.0.0/16" \
    --tags "NetworkType=Prod"

az network vnet create \
    --name "vnet-01" \
    --resource-group "resource-group" \
    --address-prefix "10.1.0.0/16" \
    --tags "NetworkType=Prod"

az network vnet create \
    --name "vnet-02" \
    --resource-group "resource-group" \
    --address-prefix "10.2.0.0/16" \
    --tags "NetworkType=Prod"

各仮想ネットワークにサブネットを追加します。

このタスクでは、/24 サブネットをそれぞれに追加して、仮想ネットワークの構成を完了します。 az network vnet subnet create を使用して default という名前のサブネット構成を作成します。

az network vnet subnet create \
    --name "default" \
    --resource-group "resource-group" \
    --vnet-name "vnet-00" \
    --address-prefix "10.0.0.0/24"

az network vnet subnet create \
    --name "default" \
    --resource-group "resource-group" \
    --vnet-name "vnet-01" \
    --address-prefix "10.1.0.0/24"

az network vnet subnet create \
    --name "default" \
    --resource-group "resource-group" \
    --vnet-name "vnet-02" \
    --address-prefix "10.2.0.0/24"

メッシュ構成のメンバーシップを定義する

Azure Virtual Network Manager を使用すると、ネットワーク グループにメンバーシップを追加するために 2 つの方法を使用できます。 静的メンバーシップでは仮想ネットワークを手動で追加し、動的メンバーシップでは Azure Policy を使用して、条件に基づいて仮想ネットワークを動的に追加します。 メッシュ構成メンバーシップに対して実行するオプションを選択します。

静的メンバーシップを使用して、az network manager group static-member create で、メッシュ構成用の 3 つの仮想ネットワークをネットワーク グループに手動で追加します。 <subscriptionID> を、これらの仮想ネットワークが作成されたときのサブスクリプションに置き換えます。

az network manager group static-member create \
    --name "vnet-00" \
    --network-group "network-group" \
    --network-manager "network-manager" \
    --resource-group "resource-group" \
    --resource-id "/subscriptions/<subscriptionID>/resourceGroups/resource-group/providers/Microsoft.Network/virtualnetworks/vnet-00"
az network manager group static-member create \
    --name "vnet-01" \
    --network-group "network-group" \
    --network-manager "network-manager" \
    --resource-group "resource-group" \
    --resource-id "/subscriptions/<subscriptionID>/resourceGroups/resource-group/providers/Microsoft.Network/virtualnetworks/vnet-01"
az network manager group static-member create \
    --name "vnet-02" \
    --network-group "network-group" \
    --network-manager "network-manager" \
    --resource-group "resource-group" \
    --resource-id "/subscriptions/<subscriptionID>/resourceGroups/resource-group/providers/Microsoft.Network/virtualnetworks/vnet-02"

構成を作成する

このタスクでは、az network manager connect-config create を使用してメッシュ ネットワーク トポロジの構成を作成します。 <subscriptionID> は、サブスクリプション ID で置き換えてください。

az network manager connect-config create \
    --configuration-name "connectivityconfig" \
    --description "Production Mesh Connectivity Config Example" \
    --applies-to-groups '[{"networkGroupId": "/subscriptions/<subscriptionID>/resourceGroups/resource-group/providers/Microsoft.Network/networkManagers/network-manager/networkGroups/network-group", "groupConnectivity": "None"}]' \
    --connectivity-topology "Mesh" \
    --network-manager-name "network-manager" \
    --resource-group "resource-group"

デプロイをコミットする

構成を有効にするには、az network manager post-commit を使用して、ターゲット リージョンに構成をコミットします。

az network manager post-commit \
    --network-manager-name "network-manager" \
    --commit-type "Connectivity" \
    --configuration-ids "/subscriptions/<subscriptionID>/resourceGroups/resource-group/providers/Microsoft.Network/networkManagers/network-manager/connectivityConfigurations/connectivityconfig" \
    --target-locations "westus2" \
    --resource-group "resource-group"

構成を確認する

az network manager list-effective-connectivity-config を使うと、仮想ネットワークに適用されている構成が表示されます。

az network manager list-effective-connectivity-config \
    --resource-group "resource-group" \
    --virtual-network-name "vnet-00"

az network manager list-effective-connectivity-config \
    --resource-group "resource-group" \
    --virtual-network-name "vnet-01"


az network manager list-effective-connectivity-config \
    --resource-group "resource-group" \
    --virtual-network-name "vnet-02"

接続構成の一部である仮想ネットワークの場合、次の例のような出力が表示されます。

{
  "skipToken": "",
  "value": [
    {
      "appliesToGroups": [
        {
          "groupConnectivity": "None",
          "isGlobal": "False",
          "networkGroupId": "/subscriptions/<subscriptionID>/resourceGroups/resource-group/providers/Microsoft.Network/networkManagers/network-manager/networkGroups/network-group",
          "useHubGateway": "False"
        }
      ],
      "configurationGroups": [
        {
          "description": "Network Group for Production virtual networks",
          "id": "/subscriptions/<subscriptionID>/resourceGroups/resource-group/providers/Microsoft.Network/networkManagers/network-manager/networkGroups/network-group",
          "provisioningState": "Succeeded",
          "resourceGroup": "resource-group"
        }
      ],
      "connectivityTopology": "Mesh",
      "deleteExistingPeering": "False",
      "description": "Production Mesh Connectivity Config Example",
      "hubs": [],
      "id": "/subscriptions/<subscriptionID>/resourceGroups/resource-group/providers/Microsoft.Network/networkManagers/network-manager/connectivityConfigurations/connectivityconfig",
      "isGlobal": "False",
      "provisioningState": "Succeeded",
      "resourceGroup": "resource-group"
    }
  ]
}

リソースをクリーンアップする

Azure Virtual Network Manager インスタンスとその他のリソースが不要になったら、az group delete を使用してリソース グループを削除します。

az group delete \
    --name "resource-group"

次のステップ

この手順では、セキュリティ管理者の構成を使用してネットワーク トラフィックをブロックする方法について説明します。