Delen via


Quickstart: Een mesh-netwerktopologie maken met Azure Virtual Network Manager met behulp van Azure PowerShell

Ga aan de slag met Azure Virtual Network Manager met behulp van Azure PowerShell om connectiviteit voor 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.

Belangrijk

Azure Virtual Network Manager is algemeen beschikbaar voor hub-and-spoke-connectiviteitsconfiguraties en beveiligingsconfiguraties met beveiligingsbeheerdersregels. Mesh-connectiviteitsconfiguraties blijven in preview.

Deze preview-versie wordt geleverd zonder een service level agreement en we raden deze niet aan voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews voor meer informatie.

Vereisten

  • Een Azure-account met een actief abonnement. Gratis een account maken
  • Voer deze quickstart lokaal uit met Behulp van PowerShell, niet via Azure Cloud Shell. De versie van Az.Network in Azure Cloud Shell biedt momenteel geen ondersteuning voor de Azure Virtual Network Manager-cmdlets.
  • Als u dynamische netwerkgroepen wilt wijzigen, moet u alleen toegang krijgen via Azure RBAC-roltoewijzing . Klassieke Beheer/verouderde autorisatie wordt niet ondersteund.

Aanmelden bij uw Azure-account en uw abonnement selecteren

Meld u aan bij uw Azure-account om uw configuratie te starten:

Connect-AzAccount

Maak vervolgens verbinding met uw abonnement:

Set-AzContext -Subscription <subscription name or id>

De Azure PowerShell-module installeren

Installeer de nieuwste Az.Network Azure PowerShell-module met behulp van deze opdracht:

 Install-Module -Name Az.Network -RequiredVersion 5.3.0

Een brongroep maken

Voordat u een Exemplaar van Azure Virtual Network Manager kunt maken, moet u een resourcegroep maken om deze te hosten. Maak een resourcegroep met behulp van New-AzResourceGroup. In dit voorbeeld wordt een resourcegroep met de naam vnm-learn-eastus-001ResourceGroup gemaakt op de locatie VS - oost:


$location = "East US"
$rg = @{
    Name = 'rg-learn-eastus-001'
    Location = $location
}
New-AzResourceGroup @rg

Het bereik en het toegangstype definiëren

Definieer het bereik en het toegangstype voor het Azure Virtual Network Manager-exemplaar met behulp van New-AzNetworkManagerScope. In dit voorbeeld wordt een bereik gedefinieerd met één abonnement en wordt het toegangstype ingesteld op Verbinding maken iviteit. Vervang door <subscription_id> de id van het abonnement dat u wilt beheren via Azure Virtual Network Manager.


Import-Module -Name Az.Network -RequiredVersion "5.3.0"

[System.Collections.Generic.List[string]]$subGroup = @()  
$subGroup.Add("/subscriptions/<subscription_id>")

[System.Collections.Generic.List[String]]$access = @()  
$access.Add("Connectivity"); 

$scope = New-AzNetworkManagerScope -Subscription $subGroup

Een Virtual Network Manager-exemplaar maken

Maak een Virtual Network Manager-exemplaar met behulp van New-AzNetworkManager. In dit voorbeeld wordt een exemplaar met de naam vnm-learn-eastus-001 gemaakt op de locatie VS - oost:

$avnm = @{
    Name = 'vnm-learn-eastus-001'
    ResourceGroupName = $rg.Name
    NetworkManagerScope = $scope
    NetworkManagerScopeAccess = $access
    Location = $location
}
$networkmanager = New-AzNetworkManager @avnm

Drie virtuele netwerken maken

Maak drie virtuele netwerken met behulp van New-AzVirtualNetwork. In dit voorbeeld worden virtuele netwerken met de naam vnet-learn-prod-eastus-001, vnet-learn-prod-eastus-002 en vnet-learn-test-eastus-003 gemaakt op de locatie VS - oost. Als u al virtuele netwerken hebt waarmee u een mesh-netwerk wilt maken, kunt u doorgaan naar de volgende sectie.

$vnet001 = @{
    Name = 'vnet-learn-prod-eastus-001'
    ResourceGroupName = $rg.Name
    Location = $location
    AddressPrefix = '10.0.0.0/16'    
}

$vnet_learn_prod_eastus_001 = New-AzVirtualNetwork @vnet001

$vnet002 = @{
    Name = 'vnet-learn-prod-eastus-002'
    ResourceGroupName = $rg.Name
    Location = $location
    AddressPrefix = '10.1.0.0/16'    
}
$vnet_learn_prod_eastus_002 = New-AzVirtualNetwork @vnet002

$vnet003 = @{
    Name = 'vnet-learn-test-eastus-003'
    ResourceGroupName = $rg.Name
    Location = $location
    AddressPrefix = '10.2.0.0/16'    
}
$vnet_learn_test_eastus_003 = New-AzVirtualNetwork @vnet003

Een subnet toevoegen aan elk virtueel netwerk

Als u de configuratie van de virtuele netwerken wilt voltooien, maakt u een subnetconfiguratie met de naam standaard met een subnetadresvoorvoegsel van /24 met behulp van Add-AzVirtualNetworkSubnetConfig. Gebruik Vervolgens Set-AzVirtualNetwork om de subnetconfiguratie toe te passen op het virtuele netwerk.

$subnet_vnet001 = @{
    Name = 'default'
    VirtualNetwork = $vnet_learn_prod_eastus_001
    AddressPrefix = '10.0.0.0/24'
}
$subnetConfig_vnet001 = Add-AzVirtualNetworkSubnetConfig @subnet_vnet001
$vnet_learn_prod_eastus_001 | Set-AzVirtualNetwork

$subnet_vnet002 = @{
    Name = 'default'
    VirtualNetwork = $vnet_learn_prod_eastus_002
    AddressPrefix = '10.1.0.0/24'
}
$subnetConfig_vnet002 = Add-AzVirtualNetworkSubnetConfig @subnet_vnet002
$vnet_learn_prod_eastus_002 | Set-AzVirtualNetwork

$subnet_vnet003 = @{
    Name = 'default'
    VirtualNetwork = $vnet_learn_test_eastus_003
    AddressPrefix = '10.2.0.0/24'
}
$subnetConfig_vnet003 = Add-AzVirtualNetworkSubnetConfig @subnet_vnet003
$vnet_learn_test_eastus_003 | Set-AzVirtualNetwork

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 New-AzNetworkManagerGroup. In dit voorbeeld wordt een netwerkgroep met de naam ng-learn-prod-eastus-001 gemaakt op de locatie VS - oost:

$ng = @{
        Name = 'ng-learn-prod-eastus-001'
        ResourceGroupName = $rg.Name
        NetworkManagerName = $networkManager.Name
    }
    $ng = New-AzNetworkManagerGroup @ng

Lidmaatschap definiëren voor een mesh-configuratie

Nadat u uw netwerkgroep hebt gemaakt, definieert u het lidmaatschap door virtuele netwerken toe te voegen. U kunt deze netwerken handmatig toevoegen of met behulp van Azure Policy.

Lidmaatschap handmatig toevoegen

In deze taak voegt u de statische leden vnet-learn-prod-eastus-001 en vnet-learn-prod-eastus-002 toe aan de netwerkgroep ng-learn-prod-eastus-001 met behulp van New-AzNetworkManagerStaticMember.

Statische leden moeten een unieke naam hebben die is afgestemd op de netwerkgroep. U wordt aangeraden een consistente hash van de id van het virtuele netwerk te gebruiken. Deze benadering maakt gebruik van de implementatie van uniqueString() de Azure Resource Manager-sjabloon.

    function Get-UniqueString ([string]$id, $length=13)
    {
    $hashArray = (new-object System.Security.Cryptography.SHA512Managed).ComputeHash($id.ToCharArray())
    -join ($hashArray[1..$length] | ForEach-Object { [char]($_ % 26 + [byte][char]'a') })
    }
$sm_vnet001 = @{
        Name = Get-UniqueString $vnet_learn_prod_eastus_001.Id
        ResourceGroupName = $rg.Name
        NetworkGroupName = $ng.Name
        NetworkManagerName = $networkManager.Name
        ResourceId = $vnet_learn_prod_eastus_001.Id
    }
    $sm_vnet001 = New-AzNetworkManagerStaticMember @sm_vnet001
$sm_vnet002 = @{
        Name = Get-UniqueString $vnet_learn_prod_eastus_002.Id
        ResourceGroupName = $rg.Name
        NetworkGroupName = $ng.Name
        NetworkManagerName = $networkManager.Name
        ResourceId = $vnet_learn_prod_eastus_002.Id
    }
    $sm_vnet002 = New-AzNetworkManagerStaticMember @sm_vnet002

Een connectiviteitsconfiguratie maken

In deze taak maakt u een connectiviteitsconfiguratie met de netwerkgroep ng-learn-prod-eastus-001 met behulp van New-AzNetworkManager Verbinding maken ivityConfiguration en New-AzNetworkManager Verbinding maken ivityGroupItem:

  1. Maak een connectiviteitsgroepitem:

    $gi = @{
        NetworkGroupId = $ng.Id
    }
    $groupItem = New-AzNetworkManagerConnectivityGroupItem @gi
    
  2. Maak een configuratiegroep en voeg er een verbindingsgroepitem aan toe:

    [System.Collections.Generic.List[Microsoft.Azure.Commands.Network.Models.NetworkManager.PSNetworkManagerConnectivityGroupItem]]$configGroup = @()
    $configGroup.Add($groupItem)
    
  3. Maak de connectiviteitsconfiguratie met de configuratiegroep:

    $config = @{
        Name = 'cc-learn-prod-eastus-001'
        ResourceGroupName = $rg.Name
        NetworkManagerName = $networkManager.Name
        ConnectivityTopology = 'Mesh'
        AppliesToGroup = $configGroup
    }
    $connectivityconfig = New-AzNetworkManagerConnectivityConfiguration @config
        ```                        
    
    

Implementatie doorvoeren

Voer de configuratie door naar de doelregio's met behulp van Deploy-AzNetworkManagerCommit. Met deze stap wordt uw configuratie geactiveerd om van kracht te worden.

[System.Collections.Generic.List[string]]$configIds = @()  
$configIds.add($connectivityconfig.id) 
[System.Collections.Generic.List[string]]$target = @()   
$target.Add("westus")     

$deployment = @{
    Name = $networkManager.Name
    ResourceGroupName = $rg.Name
    ConfigurationId = $configIds
    TargetLocation = $target
    CommitType = 'Connectivity'
}
Deploy-AzNetworkManagerCommit @deployment 

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 een lege configuratie te implementeren via Deploy-AzNetworkManagerCommit:

    [System.Collections.Generic.List[string]]$configIds = @()
    [System.Collections.Generic.List[string]]$target = @()   
    $target.Add("westus")     
    $removedeployment = @{
        Name = 'vnm-learn-eastus-001'
        ResourceGroupName = $rg.Name
        ConfigurationId = $configIds
        Target = $target
        CommitType = 'Connectivity'
    }
    Deploy-AzNetworkManagerCommit @removedeployment
    
  2. Verwijder de connectiviteitsconfiguratie met behulp van Remove-AzNetworkManagerConnectivityConfiguration:

    
    Remove-AzNetworkManagerConnectivityConfiguration -Name $connectivityconfig.Name -ResourceGroupName $rg.Name -NetworkManagerName $networkManager.Name
    
    
  3. Verwijder de beleidsbronnen met behulp van Remove-AzPolicy*:

    
    Remove-AzPolicyAssignment -Name $policyAssignment.Name
    Remove-AzPolicyAssignment -Name $policyDefinition.Name
    
    
  4. Verwijder de netwerkgroep met behulp van Remove-AzNetworkManagerGroup:

    Remove-AzNetworkManagerGroup -Name $ng.Name -ResourceGroupName $rg.Name -NetworkManagerName $networkManager.Name
    
  5. Verwijder het Virtual Network Manager-exemplaar met behulp van Remove-AzNetworkManager:

    Remove-AzNetworkManager -name $networkManager.Name -ResourceGroupName $rg.Name
    
  6. Als u de resource die u hebt gemaakt niet meer nodig hebt, verwijdert u de resourcegroep met behulp van Remove-AzResourceGroup:

    Remove-AzResourceGroup -Name $rg.Name -Force
    

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: