Краткое руководство. Создание топологии сети сетки с помощью диспетчера виртуальная сеть Azure с помощью Azure CLI
Приступая к работе с диспетчером виртуальная сеть Azure с помощью Azure CLI для управления подключением ко всем виртуальным сетям.
В этом кратком руководстве описано, как развернуть три виртуальные сети и использовать Диспетчер виртуальная сеть Azure для создания топологии сети сетки. Затем убедитесь, что была применена конфигурация подключения.
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Последняя версия Azure CLI или azure Cloud Shell на портале.
- Расширение Диспетчера виртуальная сеть Azure. Чтобы добавить его, выполните команду
az extension add -n virtual-network-manager
. - Чтобы изменить динамические сетевые группы, необходимо предоставить доступ только через назначение ролей RBAC 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, перед удалением ресурса убедитесь, что все перечисленные ниже пункты верны.
- Ни в одном регионе не развернута ни одна конфигурация.
- Все конфигурации удалены.
- Все сетевые группы удалены.
Для удаления ресурса
Удалите развертывание подключения, зафиксировав без конфигураций с az network manager после фиксации:
az network manager post-commit \ --network-manager-name "myAVNM" \ --commit-type "Connectivity" \ --target-locations "westus" \ --resource-group "myAVNMResourceGroup"
Удалите конфигурацию подключения с помощью az network manager connect-config delete:
az network manager connect-config delete \ --configuration-name "connectivityconfig" \ --name "myAVNM" \ --resource-group "myAVNMResourceGroup"
Удалите группу сети с помощью az network manager group delete:
az network manager group delete \ --name "myNetworkGroup" \ --network-manager-name "myAVNM" \ --resource-group "myAVNMResourceGroup"
Удалите экземпляр network manager с помощью az network manager delete:
az network manager delete \ --name "myAVNM" \ --resource-group "myAVNMResourceGroup"
Если вы больше не хотите созданный ресурс, удалите группу ресурсов с помощью az group delete:
az group delete \ --name "myAVNMResourceGroup"
Следующие шаги
Теперь, когда вы создали экземпляр Azure виртуальная сеть Manager, узнайте, как заблокировать сетевой трафик с помощью конфигурации администратора безопасности: