Quickstart: Een mesh-netwerktopologie maken met Azure Virtual Network Manager met behulp van de Azure CLI
Ga aan de slag met Azure Virtual Network Manager met behulp van de Azure CLI om connectiviteit voor al uw virtuele netwerken te beheren.
In deze quickstart implementeert u drie virtuele netwerken en gebruikt u Azure Virtual Network Manager om een mesh-netwerktopologie te maken. Vervolgens controleert u of de connectiviteitsconfiguratie is toegepast.
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- De nieuwste Azure CLI of u kunt Azure Cloud Shell gebruiken in de portal.
- De Azure Virtual Network Manager-extensie. Voer uit
az extension add -n virtual-network-manager
om het toe te voegen. - Als u dynamische netwerkgroepen wilt wijzigen, moet u alleen toegang krijgen via Azure RBAC-roltoewijzing . Klassieke beheerder/verouderde autorisatie wordt niet ondersteund.
Aanmelden bij uw Azure-account en uw abonnement selecteren
Meld u aan bij uw Azure-account om de configuratie te starten. Als u de Cloud Shell Try It-functie gebruikt, wordt u automatisch aangemeld.
az login
Selecteer het abonnement waarin Virtual Network Manager is geïmplementeerd:
az account set \
--subscription "<subscription_id>"
Werk de Virtual Network Manager-extensie voor Azure CLI bij:
az extension update --name virtual-network-manager
Een brongroep maken
Voordat u Azure Virtual Network Manager kunt implementeren, moet u een resourcegroep maken om deze te hosten met behulp van az group create. In dit voorbeeld wordt een resourcegroep met de naam myAVNMResourceGroup gemaakt op de locatie VS - west:
az group create \
--name "myAVNMResourceGroup" \
--location "westus"
Een Virtual Network Manager-exemplaar maken
Definieer het bereik en het toegangstype voor dit Exemplaar van Virtual Network Manager. Maak het bereik met behulp van az network manager create. Vervang de waarde <subscription_id>
door het abonnement waarvoor Virtual Network Manager virtuele netwerken moet beheren. Vervang door <mgName\>
de beheergroep die u wilt beheren.
az network manager create \
--location "westus" \
--name "myAVNM" \
--resource-group "myAVNMResourceGroup" \
--scope-accesses "Connectivity" "SecurityAdmin" \
--network-manager-scopes subscriptions="/subscriptions/<subscription_id>"
Een netwerkgroep maken
Virtual Network Manager past configuraties toe op groepen virtuele netwerken door ze in netwerkgroepen te plaatsen. Maak een netwerkgroep met behulp van 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"
Virtuele netwerken maken
Maak vijf virtuele netwerken met az network vnet create. In dit voorbeeld worden virtuele netwerken met de naam VNetA, VNetB, VNetC en VNetD gemaakt op de locatie VS - west. Elk virtueel netwerk heeft een tag die networkType
wordt gebruikt voor dynamisch lidmaatschap. Als u al virtuele netwerken hebt waarmee u een mesh-netwerk wilt maken, kunt u doorgaan naar de volgende sectie.
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"
Een subnet toevoegen aan elk virtueel netwerk
Voltooi de configuratie van de virtuele netwerken door een /24-subnet toe te voegen aan elk netwerk. Maak een subnetconfiguratie met de naam standaard met behulp van 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"
Lidmaatschap definiëren voor een mesh-configuratie
Azure Virtual Network Manager biedt twee methoden voor het toevoegen van lidmaatschap aan een netwerkgroep. Statisch lidmaatschap omvat het handmatig toevoegen van virtuele netwerken en dynamisch lidmaatschap omvat het gebruik van Azure Policy om dynamisch virtuele netwerken toe te voegen op basis van voorwaarden. Kies de optie die u wilt voltooien voor uw mesh-configuratielidmaatschap.
Optie statisch lidmaatschap
Met behulp van statisch lidmaatschap voegt u handmatig drie virtuele netwerken voor uw mesh-configuratie toe aan uw netwerkgroep via az network manager group static-member create. Vervang <subscription_id>
door het abonnement waarvoor deze virtuele netwerken zijn gemaakt.
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"
Optie voor dynamisch lidmaatschap
Met behulp van Azure Policy kunt u de drie virtuele netwerken dynamisch toevoegen met een networkType
waarde van Prod
de netwerkgroep. Deze drie virtuele netwerken worden onderdeel van de mesh-configuratie.
U kunt beleidsregels toepassen op een abonnement of een beheergroep en u moet deze altijd definiëren op of boven het niveau waarop u ze maakt. Alleen virtuele netwerken binnen een beleidsbereik worden toegevoegd aan een netwerkgroep.
Een beleidsdefinitie maken
Maak een beleidsdefinitie met behulp van az policy definition create for virtual networks tagged as Prod
. Vervang <subscription_id>
door het abonnement waarop u dit beleid wilt toepassen. Als u deze wilt toepassen op een beheergroep, vervangt u deze --management-group <mgName>
door --subscription <subscription_id>
.
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"
Een beleidsdefinitie toepassen
Nadat u een beleid hebt gedefinieerd, moet u dit toepassen met behulp van az policy assignment create. Vervang <subscription_id>
door het abonnement waarop u dit beleid wilt toepassen. Als u deze wilt toepassen op een beheergroep, vervangt u deze door --scope "/subscriptions/<subscription_id>"
--scope "/providers/Microsoft.Management/managementGroups/<mgName>
en vervangt u deze door <mgName\>
uw beheergroep.
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"
Een configuratie maken
Nu u de netwerkgroep hebt gemaakt en de juiste virtuele netwerken hebt gegeven, maakt u een mesh-netwerktopologieconfiguratie met behulp van az network manager connect-config create. Vervang <subscription_id>
door uw abonnement.
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"
De implementatie doorvoeren
Voordat de configuratie van kracht wordt, voert u de configuratie door naar de doelregio's met behulp van 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"
De configuratie controleren
Virtuele netwerken geven configuraties weer die erop zijn toegepast wanneer u az network manager list-effective-connectivity-config gebruikt:
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"
Voor de virtuele netwerken die deel uitmaken van de connectiviteitsconfiguratie krijgt u uitvoer die vergelijkbaar is met dit voorbeeld:
{
"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"
}
]
}
Voor virtuele netwerken die geen deel uitmaken van de netwerkgroep, zoals VNetD, wordt een uitvoer weergegeven die vergelijkbaar is met dit voorbeeld:
az network manager list-effective-connectivity-config --resource-group "myAVNMResourceGroup" --virtual-network-name "VNetD-test"
{
"skipToken": "",
"value": []
}
Resources opschonen
Als u het Exemplaar van Azure Virtual Network Manager niet meer nodig hebt, moet u ervoor zorgen dat alle volgende punten waar zijn voordat u de resource verwijdert:
- Er zijn geen implementaties van configuraties naar een regio.
- Alle configuraties zijn verwijderd.
- Alle netwerkgroepen zijn verwijderd.
De resource verwijderen:
Verwijder de connectiviteitsimplementatie door geen configuraties vast te leggen met az network manager post-commit:
az network manager post-commit \ --network-manager-name "myAVNM" \ --commit-type "Connectivity" \ --target-locations "westus" \ --resource-group "myAVNMResourceGroup"
Verwijder de connectiviteitsconfiguratie met az network manager connect-config delete:
az network manager connect-config delete \ --configuration-name "connectivityconfig" \ --name "myAVNM" \ --resource-group "myAVNMResourceGroup"
Verwijder de netwerkgroep met behulp van az network manager group delete:
az network manager group delete \ --name "myNetworkGroup" \ --network-manager-name "myAVNM" \ --resource-group "myAVNMResourceGroup"
Verwijder het netwerkbeheerexemplaren met az network manager delete:
az network manager delete \ --name "myAVNM" \ --resource-group "myAVNMResourceGroup"
Als u de resource die u hebt gemaakt niet meer nodig hebt, verwijdert u de resourcegroep met behulp van az group delete:
az group delete \ --name "myAVNMResourceGroup"
Volgende stappen
Nu u een Exemplaar van Azure Virtual Network Manager hebt gemaakt, leert u hoe u netwerkverkeer blokkeert met behulp van een configuratie van een beveiligingsbeheerder: