Guia de início rápido: criar uma topologia de rede de malha com o Gerenciador de Rede Virtual do Azure usando a CLI do Azure
Comece a usar o Azure Virtual Network Manager usando a CLI do Azure para gerenciar a conectividade de todas as suas redes virtuais.
Neste início rápido, você implanta três redes virtuais e usa o Azure Virtual Network Manager para criar uma topologia de rede mesh. Em seguida, verifique se a configuração de conectividade foi aplicada.
Pré-requisitos
- Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
- A CLI do Azure mais recente ou você pode usar o Azure Cloud Shell no portal.
- A extensão do Azure Virtual Network Manager. Para adicioná-lo, execute
az extension add -n virtual-network-manager
. - Para modificar grupos dinâmicos de rede, você deve ter acesso somente por meio da atribuição de função RBAC do Azure. Não há suporte para autorização clássica de administrador/herdado.
Inicie sessão na sua conta do Azure e selecione a sua subscrição
Para iniciar a configuração, inicie sessão na sua conta do Azure. Se você usar o recurso Try It do Cloud Shell, estará conectado automaticamente.
az login
Selecione a assinatura onde o Virtual Network Manager está implantado:
az account set \
--subscription "<subscription_id>"
Atualize a extensão do Virtual Network Manager para a CLI do Azure:
az extension update --name virtual-network-manager
Criar um grupo de recursos
Antes de implantar o Gerenciador de Rede Virtual do Azure, você precisa criar um grupo de recursos para hospedá-lo usando az group create. Este exemplo cria um grupo de recursos chamado myAVNMResourceGroup no local Oeste dos EUA:
az group create \
--name "myAVNMResourceGroup" \
--location "westus"
Criar uma instância do Virtual Network Manager
Defina o escopo e o tipo de acesso para essa instância do Virtual Network Manager. Crie o escopo usando az network manager create. Substitua o valor <subscription_id>
pela assinatura para a qual você deseja que o Virtual Network Manager gerencie redes virtuais. Substitua <mgName\>
pelo grupo de gerenciamento que você deseja gerenciar.
az network manager create \
--location "westus" \
--name "myAVNM" \
--resource-group "myAVNMResourceGroup" \
--scope-accesses "Connectivity" "SecurityAdmin" \
--network-manager-scopes subscriptions="/subscriptions/<subscription_id>"
Criar um grupo de rede
Virtual Network Manager aplica configurações a grupos de redes virtuais, colocando-os em grupos de rede. Crie um grupo de rede usando 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"
Criar redes virtuais
Crie cinco redes virtuais usando az network vnet create. Este exemplo cria redes virtuais chamadas VNetA, VNetB, VNetC e VNetD no local Oeste dos EUA. Cada rede virtual tem uma tag que networkType
é usada para associação dinâmica. Se você já tiver redes virtuais com as quais deseja criar uma rede mesh, pule para a próxima seção.
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"
Adicionar uma sub-rede a cada rede virtual
Conclua a configuração das redes virtuais adicionando uma sub-rede /24 a cada uma delas. Crie uma configuração de sub-rede chamada padrão usando 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"
Definir associação para uma configuração de malha
O Azure Virtual Network Manager permite dois métodos para adicionar associação a um grupo de rede. A associação estática envolve a adição manual de redes virtuais e a associação dinâmica envolve o uso da Política do Azure para adicionar dinamicamente redes virtuais com base nas condições. Escolha a opção que você deseja concluir para sua associação de configuração de malha.
Opção de associação estática
Usando a associação estática, você adiciona manualmente três redes virtuais para sua configuração de malha ao seu grupo de rede via az network manager group static-member create. Substitua <subscription_id>
pela assinatura sob a qual essas redes virtuais foram criadas.
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"
Opção de associação dinâmica
Usando a Política do Azure, você pode adicionar dinamicamente as três redes virtuais com um networkType
valor de ao grupo de Prod
rede. Essas três redes virtuais passarão a fazer parte da configuração de malha.
Você pode aplicar políticas a uma assinatura ou a um grupo de gerenciamento e sempre deve defini-las no nível ou acima do nível em que as criou. Somente redes virtuais dentro de um escopo de política são adicionadas a um grupo de rede.
Criar uma definição de política
Crie uma definição de política usando az policy definition create para redes virtuais marcadas como Prod
. Substitua <subscription_id>
pela subscrição à qual pretende aplicar esta política. Se quiser aplicá-lo a um grupo de gerenciamento, substitua --subscription <subscription_id>
por --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"
Aplicar uma definição de política
Depois de definir uma política, você deve aplicá-la usando az policy assignment create. Substitua <subscription_id>
pela subscrição à qual pretende aplicar esta política. Se quiser aplicá-lo a um grupo de gerenciamento, substitua --scope "/subscriptions/<subscription_id>"
por --scope "/providers/Microsoft.Management/managementGroups/<mgName>
e substitua <mgName\>
pelo seu grupo de gerenciamento.
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"
Criar uma configuração
Agora que você criou o grupo de rede e deu a ele as redes virtuais corretas, crie uma configuração de topologia de rede mesh usando az network manager connect-config create. Substitua <subscription_id>
pela sua subscrição.
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"
Confirmar a implantação
Para que a configuração entre em vigor, confirme a configuração nas regiões de destino usando az network manager post-commit:
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"
Verificar a configuração
As redes virtuais exibem configurações aplicadas a elas quando você usa 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"
Para as redes virtuais que fazem parte da configuração de conectividade, você obtém uma saída semelhante a este exemplo:
{
"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"
}
]
}
Para redes virtuais que não fazem parte do grupo de rede, como VNetD, uma saída semelhante a este exemplo aparece:
az network manager list-effective-connectivity-config --resource-group "myAVNMResourceGroup" --virtual-network-name "VNetD-test"
{
"skipToken": "",
"value": []
}
Clean up resources (Limpar recursos)
Se você não precisar mais da instância do Gerenciador de Rede Virtual do Azure, verifique se todos os pontos a seguir são verdadeiros antes de excluir o recurso:
- Não há implantações de configurações em nenhuma região.
- Todas as configurações foram excluídas.
- Todos os grupos de rede foram excluídos.
Para excluir o recurso:
Remova a implantação de conectividade não confirmando nenhuma configuração com az network manager pós-confirmação:
az network manager post-commit \ --network-manager-name "myAVNM" \ --commit-type "Connectivity" \ --target-locations "westus" \ --resource-group "myAVNMResourceGroup"
Remova a configuração de conectividade usando az network manager connect-config delete:
az network manager connect-config delete \ --configuration-name "connectivityconfig" \ --name "myAVNM" \ --resource-group "myAVNMResourceGroup"
Remova o grupo de rede usando az network manager group delete:
az network manager group delete \ --name "myNetworkGroup" \ --network-manager-name "myAVNM" \ --resource-group "myAVNMResourceGroup"
Exclua a instância do gerenciador de rede usando az network manager delete:
az network manager delete \ --name "myAVNM" \ --resource-group "myAVNMResourceGroup"
Se você não precisar mais do recurso que criou, exclua o grupo de recursos usando az group delete:
az group delete \ --name "myAVNMResourceGroup"
Próximos passos
Agora que você criou uma instância do Gerenciador de Rede Virtual do Azure, saiba como bloquear o tráfego de rede usando uma configuração de administrador de segurança: