Краткое руководство. Создание топологии сети сетки с помощью диспетчера виртуальная сеть Azure с помощью Azure CLI

Приступая к работе с диспетчером виртуальная сеть Azure с помощью Azure CLI для управления подключением ко всем виртуальным сетям.

В этом кратком руководстве описано, как развернуть три виртуальные сети и использовать Диспетчер виртуальная сеть Azure для создания топологии сети сетки. Затем убедитесь, что была применена конфигурация подключения.

Схема ресурсов, развернутых для топологии виртуальной сети сетки с помощью диспетчера виртуальных сетей Azure.

Необходимые компоненты

Войдите в учетную запись Azure и выберите подписку.

Чтобы начать настройку, войдите в свою учетную запись Azure. Если вы используете функцию Cloud Shell Try It , вы автоматически войдете в систему.

az login

Выберите подписку, в которой развернут диспетчер виртуальная сеть:

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

Обновите расширение диспетчера виртуальная сеть для Azure CLI:

az extension update --name virtual-network-manager

Создание или изменение группы ресурсов

Прежде чем развернуть Диспетчер виртуальная сеть Azure, необходимо создать группу ресурсов для его размещения с помощью az group create. В этом примере создается группа ресурсов с именем myAVNMResourceGroup в расположении западной части США:

az group create \
    --name "myAVNMResourceGroup" \
    --location "westus"

Создание экземпляра диспетчера виртуальная сеть

Определите область и тип доступа для этого экземпляра виртуальная сеть Manager. Создайте область с помощью az network manager create. Замените значение <subscription_id> подпиской, для которой требуется виртуальная сеть Manager для управления виртуальными сетями. Замените <mgName\> группу управления, которую вы хотите управлять.

az network manager create \
    --location "westus" \
    --name "myAVNM" \
    --resource-group "myAVNMResourceGroup" \
    --scope-accesses "Connectivity" "SecurityAdmin" \
    --network-manager-scopes subscriptions="/subscriptions/<subscription_id>"

Создание сетевой группы

виртуальная сеть Manager применяет конфигурации к группам виртуальных сетей, размещая их в группах сетей. Создайте сетевую группу с помощью az network manager group create:

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

Создание виртуальных сетей

Создайте пять виртуальных сетей с помощью az network vnet create. В этом примере создаются виртуальные сети с именем VNetA, VNetB, VNetC и VNetD в расположении "Западная часть США". Каждая виртуальная сеть имеет тег, используемый для динамического networkType членства. Если у вас уже есть виртуальные сети, с которыми вы хотите создать сеть сетки, перейдите к следующему разделу.

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

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

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

az network vnet create \
    --name "VNetD" \
    --resource-group "myAVNMResourceGroup" \
    --address-prefix "10.3.0.0/16" \
    --tags "NetworkType=Test"

az network vnet create \
    --name "VNetE" \
    --resource-group "myAVNMResourceGroup" \
    --address-prefix "10.4.0.0/16" \
    --tags "NetworkType=Test"

Добавьте подсеть в каждую виртуальную сеть.

Выполните настройку виртуальных сетей, добавив в каждую из них подсеть /24 . Создайте конфигурацию подсети по умолчанию с помощью az network vnet subnet create:

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

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

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

az network vnet subnet create \
    --name "default" \
    --resource-group "myAVNMResourceGroup" \
    --vnet-name "VNetD" \
    --address-prefix "10.3.0.0/24"

az network vnet subnet create \
    --name "default" \
    --resource-group "myAVNMResourceGroup" \
    --vnet-name "VNetE" \
    --address-prefix "10.4.0.0/24"

Определение членства для конфигурации сетки

Диспетчер виртуальная сеть Azure позволяет двум методам добавления членства в группу сети. Статическое членство включает вручную добавление виртуальных сетей, а динамическое членство включает использование Политика Azure для динамического добавления виртуальных сетей на основе условий. Выберите вариант, который необходимо выполнить для членства в конфигурации сетки.

Параметр статического членства

Используя статическое членство, вы вручную добавите три виртуальных сети для конфигурации сетки в группу сети через az network manager group static-member create. Замените <subscription_id> подписку, в которую были созданы эти виртуальные сети.

az network manager group static-member create \
    --name "VNetA" \
    --network-group "myNetworkGroup" \
    --network-manager "myAVNM" \
    --resource-group "myAVNMResourceGroup" \
    --resource-id "/subscriptions/<subscription_id>/resourceGroups/myAVNMResourceGroup/providers/Microsoft.Network/virtualnetworks/VNetA"
az network manager group static-member create \
    --name "VNetB" \
    --network-group "myNetworkGroup" \
    --network-manager "myAVNM" \
    --resource-group "myAVNMResourceGroup" \
    --resource-id "/subscriptions/<subscription_id>/resourceGroups/myAVNMResourceGroup/providers/Microsoft.Network/virtualnetworks/VNetB"
az network manager group static-member create \
    --name "VNetC" \
    --network-group "myNetworkGroup" \
    --network-manager "myAVNM" \
    --resource-group "myAVNMResourceGroup" \
    --resource-id "/subscriptions/<subscription_id>/resourceGroups/myAVNMResourceGroup/providers/Microsoft.Network/virtualnetworks/VNetC"

Параметр динамического членства

С помощью Политика Azure можно динамически добавлять три виртуальные сети со networkType значением Prod в группу сети. Эти три виртуальные сети станут частью конфигурации сетки.

Вы можете применять политики к подписке или группе управления, и их всегда необходимо определить на уровне, на котором они создаются. В группу сетей добавляются только виртуальные сети в области политики.

Создать определение политики.

Создание определения политики с помощью определения политики az policy definition create for virtual networks, помеченных как Prod. Замените <subscription_id> подписку, к которой вы хотите применить эту политику. Если вы хотите применить его к группе управления, замените --subscription <subscription_id> на --management-group <mgName>.

az policy definition create \
    --name "ProdVNets" \
    --description "Choose Prod virtual networks only" \
    --rules "{\"if\":{\"allOf\":[{\"field\":\"Name\",\"contains\":\"VNet\"},{\"field\":\"tags['NetworkType']\",\"equals\":\"Prod\"}]},\"then\":{\"effect\":\"addToNetworkGroup\",\"details\":{\"networkGroupId\":\"/subscriptions/<subscription_id>/resourceGroups/myAVNMResourceGroup/providers/Microsoft.Network/networkManagers/myAVNM/networkGroups/myNetworkGroup\"}}}" \
    --subscription <subscription_id> \
    --mode "Microsoft.Network.Data"

Применение определения политики

После определения политики его необходимо применить с помощью az policy assignment create. Замените <subscription_id> подписку, к которой вы хотите применить эту политику. Если вы хотите применить его к группе управления, замените --scope "/subscriptions/<subscription_id>" --scope "/providers/Microsoft.Management/managementGroups/<mgName>на нее и замените <mgName\> ее группой управления.



az policy assignment create \
    --name "ProdVNets" \
    --description "Take only virtual networks tagged NetworkType:Prod" \
    --scope "/subscriptions/<subscription_id>" \
    --policy "/subscriptions/<subscription_id>/providers/Microsoft.Authorization/policyDefinitions/ProdVNets"

Создание конфигурации

Теперь, когда вы создали группу сети и предоставили ей правильные виртуальные сети, создайте конфигурацию топологии сети сетки с помощью az network manager connect-config create. Замените <subscription_id> идентификатором своей подписки.

az network manager connect-config create \
    --configuration-name "connectivityconfig" \
    --description "Production Mesh Connectivity Config Example" \
    --applies-to-groups network-group-id="/subscriptions/<subscription_id>/resourceGroups/myAVNMResourceGroup/providers/Microsoft.Network/networkManagers/myAVNM/networkGroups/myNetworkGroup" \
    --connectivity-topology "Mesh" \
    --network-manager-name "myAVNM" \
    --resource-group "myAVNMResourceGroup"

Фиксация развертывания

Чтобы конфигурация вступают в силу, зафиксируйте конфигурацию в целевых регионах с помощью az network manager после фиксации:

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

Проверить конфигурацию

Виртуальные сети отображают конфигурации, примененные к ним при использовании az network manager list-effective-connectivity-config:

az network manager list-effective-connectivity-config \
    --resource-group "myAVNMResourceGroup" \
    --virtual-network-name "VNetA"

az network manager list-effective-connectivity-config \
    --resource-group "myAVNMResourceGroup" \
    --virtual-network-name "VNetB"


az network manager list-effective-connectivity-config \
    --resource-group "myAVNMResourceGroup" \
    --virtual-network-name "VNetC"

az network manager list-effective-connectivity-config \
    --resource-group "myAVNMResourceGroup" \
    --virtual-network-name "VNetD"

Для виртуальных сетей, входящих в конфигурацию подключения, вы получите выходные данные, аналогичные этому примеру:

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

Для виртуальных сетей, которые не являются частью группы сети, например VNetD, отображаются выходные данные, аналогичные этому примеру:

az network manager list-effective-connectivity-config     --resource-group "myAVNMResourceGroup"     --virtual-network-name "VNetD-test"
{
  "skipToken": "",
  "value": []
}

Очистка ресурсов

Если вам больше не нужен экземпляр Azure виртуальная сеть Manager, перед удалением ресурса убедитесь, что все перечисленные ниже пункты верны.

  • Ни в одном регионе не развернута ни одна конфигурация.
  • Все конфигурации удалены.
  • Все сетевые группы удалены.

Для удаления ресурса

  1. Удалите развертывание подключения, зафиксировав без конфигураций с az network manager после фиксации:

    az network manager post-commit \
        --network-manager-name "myAVNM" \
        --commit-type "Connectivity" \
        --target-locations "westus" \
        --resource-group "myAVNMResourceGroup"
    
  2. Удалите конфигурацию подключения с помощью az network manager connect-config delete:

    az network manager connect-config delete \
        --configuration-name "connectivityconfig" \
        --name "myAVNM" \
        --resource-group "myAVNMResourceGroup"
    
  3. Удалите группу сети с помощью az network manager group delete:

    az network manager group delete \
        --name "myNetworkGroup" \
        --network-manager-name "myAVNM" \
        --resource-group "myAVNMResourceGroup"
    
  4. Удалите экземпляр network manager с помощью az network manager delete:

    az network manager delete \
        --name "myAVNM" \
        --resource-group "myAVNMResourceGroup"
    
  5. Если вы больше не хотите созданный ресурс, удалите группу ресурсов с помощью az group delete:

    az group delete \
        --name "myAVNMResourceGroup"
    

Следующие шаги

Теперь, когда вы создали экземпляр Azure виртуальная сеть Manager, узнайте, как заблокировать сетевой трафик с помощью конфигурации администратора безопасности: