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.

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 beheerder/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 resourcegroep gemaakt in de regio VS - west 2 :

# Create a resource group
$location = "West US 2"
$rg = @{
    Name = 'resource-group'
    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 Connectiviteit. Vervang door <subscription_id> de id van het abonnement dat u wilt beheren via Azure Virtual Network Manager.

$subID= <subscription_id>

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

[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 netwerkbeheerder gemaakt in de regio VS - west 2 :

$avnm = @{
    Name = 'network-manager'
    ResourceGroupName = $rg.ResourceGroupName
    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-spoke-001, vnet-spoke-002 en vnet-hub-001 gemaakt in de regio VS - west 2. Als u al virtuele netwerken hebt waarmee u een mesh-netwerk wilt maken, kunt u doorgaan naar de volgende sectie.

$vnetspoke001 = @{
    Name = 'vnet-spoke-001'
    ResourceGroupName = $rg.ResourceGroupName
    Location = $location
    AddressPrefix = '10.0.0.0/16'    
}

$vnet_spoke_001 = New-AzVirtualNetwork @vnetspoke001

$vnetspoke002 = @{
    Name = 'vnet-spoke-002'
    ResourceGroupName = $rg.ResourceGroupName
    Location = $location
    AddressPrefix = '10.1.0.0/16'    
}
$vnet_spoke_002 = New-AzVirtualNetwork @vnetspoke002

$vnethub001 = @{
    Name = 'vnet-hub-001'
    ResourceGroupName = $rg.ResourceGroupName
    Location = $location
    AddressPrefix = '10.2.0.0/16'    
}
$vnet_hub_001 = New-AzVirtualNetwork @vnethub001

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_vnetspoke001 = @{
    Name = 'default'
    VirtualNetwork = $vnet_spoke_001
    AddressPrefix = '10.0.0.0/24'
}
$subnetConfig_vnetspoke001 = Add-AzVirtualNetworkSubnetConfig @subnet_vnetspoke001
$vnet_spoke_001 | Set-AzVirtualNetwork

$subnet_vnetspoke002 = @{
    Name = 'default'
    VirtualNetwork = $vnet_spoke_002
    AddressPrefix = '10.1.0.0/24'
}
$subnetConfig_vnetspoke002 = Add-AzVirtualNetworkSubnetConfig @subnet_vnetspoke002
$vnet_spoke_002 | Set-AzVirtualNetwork

$subnet_vnet_hub_001 = @{
    Name = 'default'
    VirtualNetwork = $vnet_hub_001
    AddressPrefix = '10.2.0.0/24'
}
$subnetConfig_vnet_hub_001 = Add-AzVirtualNetworkSubnetConfig @subnet_vnet_hub_001
$vnet_hub_001 | 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 netwerkgroep gemaakt in de regio VS - west 2:

$ng = @{
        Name = 'network-group'
        ResourceGroupName = $rg.ResourceGroupName
        NetworkManagerName = $networkManager.Name
    }
    $ng = New-AzNetworkManagerGroup @ng

Lidmaatschap definiëren voor een mesh-configuratie

In deze taak voegt u de statische leden vnet-spoke-001 en vnet-spoke-002 toe aan de netwerkgroepnetwerkgroep 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_vnetspoke001 = @{
        Name = Get-UniqueString $vnet_spoke_001.Id
        ResourceGroupName = $rg.ResourceGroupName
        NetworkGroupName = $ng.Name
        NetworkManagerName = $networkManager.Name
        ResourceId = $vnet_spoke_001.Id
    }
    $sm_vnetspoke001 = New-AzNetworkManagerStaticMember @sm_vnetspoke001
$sm_vnetspoke002 = @{
        Name = Get-UniqueString $vnet_spoke_002.Id
        ResourceGroupName = $rg.ResourceGroupName
        NetworkGroupName = $ng.Name
        NetworkManagerName = $networkManager.Name
        ResourceId = $vnet_spoke_002.Id
    }
    $sm_vnetspoke002 = New-AzNetworkManagerStaticMember @sm_vnetspoke002

Een connectiviteitsconfiguratie maken

In deze taak maakt u een connectiviteitsconfiguratie met de netwerkgroep netwerkgroep met behulp van New-AzNetworkManagerConnectivityConfiguration en New-AzNetworkManagerConnectivityGroupItem:

  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 = 'connectivity-configuration'
        ResourceGroupName = $rg.ResourceGroupName
        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("westus2")     

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

Resources opschonen

Als u het Exemplaar van Azure Virtual Network Manager niet meer nodig hebt en resources koppelt, verwijdert u de resourcegroep die deze bevat. Als u de resourcegroep verwijdert, worden ook de resources verwijderd die u hebt gemaakt.

  1. Verwijder de resourcegroep met Remove-AzResourceGroup:

    Remove-AzResourceGroup -Name $rg.ResourceGroupName -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: