Schnellstart: Erstellen einer Meshnetzwerktopologie mit Azure Virtual Network Manager mithilfe von Azure PowerShell

Beginnen Sie mit Azure Virtual Network Manager, indem Sie Azure PowerShell verwenden, um die Konnektivität für Ihre virtuellen Netzwerke zu verwalten.

In diesem Schnellstart stellen Sie drei virtuelle Netzwerke bereit und verwenden Azure Virtual Network Manager, um eine Mesh-Netzwerktopologie zu erstellen. Anschließend überprüfen Sie, ob die Konnektivitätskonfiguration angewandt wurde.

Diagramm der für eine Mesh-Topologie eines virtuellen Netzwerks mit Azure Virtual Network Manager bereitgestellten Ressourcen.

Voraussetzungen

  • Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
  • Führen Sie diesen Schnellstart mithilfe von PowerShell lokal aus, nicht über Azure Cloud Shell. Die Version von Az.Network in Azure Cloud Shell unterstützt derzeit keine Azure Virtual Network Manager-Cmdlets.
  • Um dynamische Netzwerkgruppen zu ändern, siehe die erforderlichen Berechtigungen.

Melden Sie sich bei Ihrem Azure-Konto an, und wählen Sie Ihr Abonnement aus.

Um mit der Konfiguration zu beginnen, melden Sie sich bei Ihrem Azure-Konto an:

Connect-AzAccount

Stellen Sie dann eine Verbindung mit Ihrem Abonnement her:

Set-AzContext -Subscription <subscription name or id>

Installieren des Azure PowerShell-Moduls

Installieren Sie das aktuelle Azure PowerShell-Modul Az.Network mithilfe des folgenden Befehls:

 Install-Module -Name Az.Network -RequiredVersion 5.3.0

Erstellen einer Ressourcengruppe

Sie erstellen in dieser Aufgabe eine Ressourcengruppe, um eine Network Manager-Instanz zu hosten. Erstellen Sie eine Ressourcengruppe mithilfe von New-AzResourceGroup. In diesem Beispiel wird eine Ressourcengruppe namens resource-group in der Region USA, Westen 2 erstellt:

# Create a resource group
$location = "westus2"
$rg = @{
    Name = 'resource-group'
    Location = $location
}
New-AzResourceGroup @rg

Definieren des Bereichs und des Zugriffstyps

In dieser Aufgabe definieren Sie den Geltungsbereich und den Zugriffstyp für die Azure Virtual Network Manager-Instanz mithilfe von New-AzNetworkManagerScope. Dieses Beispiel definiert einen Bereich mit einem Abonnement und legt den Zugriffstyp auf Konnektivität fest. Ersetzen Sie <subscription_id> durch die ID des Abonnements, das Sie mit Azure Virtual Network Manager verwalten möchten.

$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

Erstellen einer Virtual Network Manager-Instanz

In dieser Aufgabe erstellen Sie mithilfe von New-AzNetworkManager eine Virtual Network Manager-Instanz. In diesem Beispiel wird eine Instanz namens network-manager in der Region USA, Westen 2 erstellt:

$avnm = @{
    Name = 'network-manager'
    ResourceGroupName = $rg.Name
    NetworkManagerScope = $scope
    NetworkManagerScopeAccess = $access
    Location = $location
}
$networkManager = New-AzNetworkManager @avnm

Erstellen von drei virtuellen Netzwerken

In dieser Aufgabe erstellen Sie mit New-AzVirtualNetwork drei virtuelle Netzwerke. In diesem Beispiel werden virtuelle Netzwerke namens vnet-00, vnet-01 und vnet-02 in der Region USA, Westen 2 erstellt. Wenn Sie bereits über virtuelle Netzwerke verfügen, mit denen Sie ein Mesh-Netzwerk erstellen möchten, können Sie mit dem nächsten Abschnitt fortfahren.

$vnet_00 = @{
    Name = 'vnet-00'
    ResourceGroupName = $rg.Name
    Location = $location
    AddressPrefix = '10.0.0.0/16'    
}

$vnet_00 = New-AzVirtualNetwork @vnet_00

$vnet_01 = @{
    Name = 'vnet-01'
    ResourceGroupName = $rg.Name
    Location = $location
    AddressPrefix = '10.1.0.0/16'    
}
$vnet_01 = New-AzVirtualNetwork @vnet_01

$vnet_02 = @{
    Name = 'vnet-02'
    ResourceGroupName = $rg.Name
    Location = $location
    AddressPrefix = '10.2.0.0/16'    
}
$vnet_02 = New-AzVirtualNetwork @vnet_02

Hinzufügen eines Subnetzes zu den einzelnen virtuellen Netzwerken

In dieser Aufgabe erstellen Sie mithilfe von Add-AzVirtualNetworkSubnetConfig eine Subnetzkonfiguration namens default mit dem Subnetzadressenpräfix /24. Verwenden Sie dann Set-AzVirtualNetwork, um die Subnetzkonfiguration auf das virtuelle Netzwerk anzuwenden.

$subnet_vnet_00 = @{
    Name = 'default'
    VirtualNetwork = $vnet_00
    AddressPrefix = '10.0.0.0/24'
}
$subnetConfig_vnet_00 = Add-AzVirtualNetworkSubnetConfig @subnet_vnet_00
$vnet_00 | Set-AzVirtualNetwork

$subnet_vnet_01 = @{
    Name = 'default'
    VirtualNetwork = $vnet_01
    AddressPrefix = '10.1.0.0/24'
}
$subnetConfig_vnet_01 = Add-AzVirtualNetworkSubnetConfig @subnet_vnet_01
$vnet_01 | Set-AzVirtualNetwork

$subnet_vnet_02 = @{
    Name = 'default'
    VirtualNetwork = $vnet_02
    AddressPrefix = '10.2.0.0/24'
}
$subnetConfig_vnet_02 = Add-AzVirtualNetworkSubnetConfig @subnet_vnet_02
$vnet_02 | Set-AzVirtualNetwork

Erstellen einer Netzwerkgruppe

Virtual Network Manager wendet Konfigurationen auf Gruppen von virtuellen Netzwerken an, indem sie in Netzwerkgruppen platziert werden. Erstellen Sie eine Netzwerkgruppe für die Mesh-Topologie mit New-AzNetworkManagerGroup. In diesem Beispiel wird eine Netzwerkgruppe namens network-group in der Region USA, Westen 2 erstellt:

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

Definieren Sie die Zugehörigkeit für eine Meshkonfiguration.

In dieser Aufgabe fügen Sie die statischen Member vnet-00 und vnet-01 mithilfe von New-AzNetworkManagerStaticMember der Netzwerkgruppe network-group hinzu.

Statische Mitglieder müssen über einen eindeutigen Namen verfügen, der auf die Netzwerkgruppe ausgerichtet ist. Wir empfehlen, dass Sie einen konsistenten Hash der ID des virtuellen Netzwerks verwenden. Bei diesem Ansatz wird die uniqueString()-Implementierung der Azure Resource Manager-Vorlage verwendet.

    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_vnet_00 = @{
        Name = Get-UniqueString $vnet_00.Id
        ResourceGroupName = $rg.Name
        NetworkGroupName = $ng.Name
        NetworkManagerName = $networkManager.Name
        ResourceId = $vnet_00.Id
    }
    $sm_vnet_00 = New-AzNetworkManagerStaticMember @sm_vnet_00
$sm_vnet_01 = @{
        Name = Get-UniqueString $vnet_01.Id
        ResourceGroupName = $rg.Name
        NetworkGroupName = $ng.Name
        NetworkManagerName = $networkManager.Name
        ResourceId = $vnet_01.Id
    }
    $sm_vnet_01 = New-AzNetworkManagerStaticMember @sm_vnet_01

Erstellen einer Konnektivitätskonfiguration

In dieser Aufgabe erstellen Sie eine Konnektivitätskonfiguration mit der Netzwerkgruppe network-group mithilfe von New-AzNetworkManagerConnectivityConfiguration und New-AzNetworkManagerConnectivityGroupItem:

  1. Erstellen Sie ein Konnektivitätsgruppenelement:

    $gi = @{
        NetworkGroupId = $ng.Id
    }
    $groupItem = New-AzNetworkManagerConnectivityGroupItem @gi
    
  2. Erstellen Sie eine Konfigurationsgruppe, und fügen Sie ihr ein Konnektivitätsgruppenelement hinzu:

    [System.Collections.Generic.List[Microsoft.Azure.Commands.Network.Models.NetworkManager.PSNetworkManagerConnectivityGroupItem]]$configGroup = @()
    $configGroup.Add($groupItem)
    
  3. Erstellen Sie die Konnektivitätskonfiguration mit der Konfigurationsgruppe:

    $config = @{
        Name = 'connectivity-configuration'
        ResourceGroupName = $rg.Name
        NetworkManagerName = $networkManager.Name
        ConnectivityTopology = 'Mesh'
        AppliesToGroup = $configGroup
    }
    $connectivityconfig = New-AzNetworkManagerConnectivityConfiguration @config
        ```                        
    
    

Bereitstellung bestätigen

Übernehmen Sie die Konfiguration für die Zielregionen mithilfe von Deploy-AzNetworkManagerCommit. Durch diesen Schritt wird Ihre Konfiguration wirksam.

[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.Name
    ConfigurationId = $configIds
    TargetLocation = $target
    CommitType = 'Connectivity'
}
Deploy-AzNetworkManagerCommit @deployment

Bereinigen von Ressourcen

Wenn Sie die Azure Virtual Network Manager-Instanz und die zugehörigen Ressourcen nicht mehr benötigen, führen Sie die folgenden Schritte aus, um sie zu entfernen, indem Sie die Ressourcengruppe löschen, die die Ressourcen enthält:

  1. Löschen Sie die Ressourcengruppe mit Remove-AzResourceGroup:

    Remove-AzResourceGroup -Name $rg.Name -Force
    

Nächste Schritte

In diesem Schritt erfahren Sie, wie Sie den Netzwerkdatenverkehr mithilfe einer Sicherheitsadministratorkonfiguration blockieren: