Freigeben über


Schnellstart: Erstellen einer Cloudnetzwerktopologie 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 erstellen mit Azure Virtual Network Manager eine Cloudnetzwerktopologie. Anschließend überprüfen Sie, ob die Konnektivitätskonfiguration angewandt wurde.

Diagramm der Ressourcen, die für eine virtuelle Cloudnetzwerktopologie mit Azure Virtual Network Manager bereitgestellt werden.

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.
  • Zum Ändern von dynamischen Netzwerkgruppen muss Ihnen der Zugriff nur über die Azure RBAC-Rollenzuweisung gewährt werden. Klassische Administrator-/Legacyautorisierung wird nicht unterstützt.

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

Bevor Sie eine Azure Virtual Network Manager-Instanz erstellen können, müssen Sie eine Ressourcengruppe zum Hosten dieser Instanz erstellen. Erstellen Sie eine Ressourcengruppe mithilfe von New-AzResourceGroup. In diesem Beispiel wird eine Ressourcengruppe mit dem Namen vnm-learn-eastus-001ResourceGroup in der Region „USA, Westen“ erstellt:


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

Definieren des Bereichs und des Zugriffstyps

Definieren Sie den Bereich 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.


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

Erstellen einer Virtual Network Manager-Instanz

Erstellen Sie mithilfe von New-AzNetworkManager eine Virtual Network Manager-Instanz. In diesem Beispiel wird eine Instanz namens vnm-learn-eastus-001 in der Region „USA, Osten“ erstellt:

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

Erstellen von drei virtuellen Netzwerken

Erstellen Sie mit New-AzVirtualNetwork drei virtuelle Netzwerke. In diesem Beispiel werden virtuelle Netzwerke mit den Namen vnet-learn-prod-eastus-001, vnet-learn-prod-eastus-002 und vnet-learn-test-eastus-003 in der Region „USA, Osten“ erstellt. Wenn Sie bereits über virtuelle Netzwerke verfügen, mit denen Sie ein Cloudnetzwerk erstellen möchten, können Sie zum nächsten Abschnitt springen.

$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

Hinzufügen eines Subnetzes zu den einzelnen virtuellen Netzwerken

Um die Konfiguration der virtuellen Netzwerke abzuschließen, erstellen Sie eine Subnetzkonfiguration namens default mit dem Subnetzadressenpräfix von /24 mittels Add-AzVirtualNetworkSubnetConfig. Verwenden Sie dann Set-AzVirtualNetwork, um die Subnetzkonfiguration auf das virtuelle Netzwerk anzuwenden.

$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

Erstellen einer Netzwerkgruppe

Virtual Network Manager wendet Konfigurationen auf Gruppen von virtuellen Netzwerken an, indem sie in Netzwerkgruppen platziert werden. Erstellen Sie eine Netzwerkgruppe mit New-AzNetworkManagerGroup. In diesem Beispiel wird eine Netzwerkgruppe mit dem Namen ng-learn-prod-eastus-001 in der Region „USA, Osten“ erstellt:

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

Definieren der Mitgliedschaft für eine Meshkonfiguration

Nachdem Sie Ihre Netzwerkgruppe erstellt haben, definieren Sie deren Mitgliedschaft, indem Sie virtuelle Netzwerke hinzufügen. Sie können diese Netzwerke manuell oder mithilfe von Azure Policy hinzufügen.

Mitgliedschaft manuell hinzufügen

In dieser Aufgabe fügen Sie die statischen Mitglieder vnet-learn-prod-eastus-001 und vnet-learn-prod-eastus-002 zur Netzwerkgruppe ng-learn-prod-eastus-001 mittels New-AzNetworkManagerStaticMember 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_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

Erstellen einer Konnektivitätskonfiguration

In dieser Aufgabe erstellen Sie eine Konnektivitätskonfiguration mit der Netzwerkgruppe ng-learn-prod-eastus-001 mittels 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 = 'cc-learn-prod-eastus-001'
        ResourceGroupName = $rg.Name
        NetworkManagerName = $networkManager.Name
        ConnectivityTopology = 'Mesh'
        AppliesToGroup = $configGroup
    }
    $connectivityconfig = New-AzNetworkManagerConnectivityConfiguration @config
        ```                        
    
    

Committen der Bereitstellung

Committen Sie die Konfiguration mit Deploy-AzNetworkManagerCommit in die Zielregionen. 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("westus")     

$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 nicht mehr benötigen, müssen Sie sicherstellen, dass alle folgenden Punkte wahr sind, bevor Sie die Ressource löschen:

  • In keiner Region sind Konfigurationen bereitgestellt.
  • Alle Konfigurationen wurden gelöscht.
  • Alle Netzwerkgruppen wurden gelöscht.

So löschen Sie die Ressource:

  1. Entfernen Sie die Konnektivitätsbereitstellung, indem Sie mit Deploy-AzNetworkManagerCommit eine leere Konfiguration bereitstellen:

    [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. Entfernen Sie die Konnektivitätskonfiguration mit Remove-AzNetworkManagerConnectivityConfiguration:

    
    Remove-AzNetworkManagerConnectivityConfiguration -Name $connectivityconfig.Name -ResourceGroupName $rg.Name -NetworkManagerName $networkManager.Name
    
    
  3. Entfernen Sie die Richtlinienressourcen mit Remove-AzPolicy*:

    
    Remove-AzPolicyAssignment -Name $policyAssignment.Name
    Remove-AzPolicyAssignment -Name $policyDefinition.Name
    
    
  4. Entfernen Sie die Netzwerkgruppe mit Remove-AzNetworkManagerGroup:

    Remove-AzNetworkManagerGroup -Name $ng.Name -ResourceGroupName $rg.Name -NetworkManagerName $networkManager.Name
    
  5. Löschen Sie die Azure Virtual Network Manager-Instanz mit Remove-AzNetworkManager:

    Remove-AzNetworkManager -name $networkManager.Name -ResourceGroupName $rg.Name
    
  6. Wenn Sie die erstellte Ressource nicht mehr benötigen, löschen Sie die Ressourcengruppe mit Remove-AzResourceGroup:

    Remove-AzResourceGroup -Name $rg.Name -Force
    

Nächste Schritte

Nachdem Sie die Azure Virtual Network Manager-Instanz erstellt haben, informieren Sie sich, wie Sie den Netzwerkdatenverkehr mithilfe einer Sicherheitsadministratorkonfiguration blockieren: