Delen via


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.

Diagram van resources die zijn geïmplementeerd voor een mesh virtuele netwerktopologie met Azure Virtual Network Manager.

Vereisten

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:

  1. 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"
    
  2. Verwijder de connectiviteitsconfiguratie met az network manager connect-config delete:

    az network manager connect-config delete \
        --configuration-name "connectivityconfig" \
        --name "myAVNM" \
        --resource-group "myAVNMResourceGroup"
    
  3. 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"
    
  4. Verwijder het netwerkbeheerexemplaren met az network manager delete:

    az network manager delete \
        --name "myAVNM" \
        --resource-group "myAVNMResourceGroup"
    
  5. 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: