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.
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 namens resource-group in der Region USA, Westen 2 erstellt:
# Create a resource group
$location = "West US 2"
$rg = @{
Name = 'resource-group'
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.
$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
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.ResourceGroupName
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 die virtuellen Netzwerke vnet-spoke-001, vnet-spoke-002 und vnet-hub-001 in der Region USA, Westen 2 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.
$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
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_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
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 namens network-group in der Region „USA, Westen 2“ erstellt:
$ng = @{
Name = 'network-group'
ResourceGroupName = $rg.ResourceGroupName
NetworkManagerName = $networkManager.Name
}
$ng = New-AzNetworkManagerGroup @ng
Definieren der Mitgliedschaft für eine Meshkonfiguration
In dieser Aufgabe fügen Sie die statischen Member vnet-spoke-001 und vnet-spoke-002 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_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
Erstellen einer Konnektivitätskonfiguration
In dieser Aufgabe erstellen Sie eine Konnektivitätskonfiguration mit der Netzwerkgruppe network-group mithilfe von New-AzNetworkManagerConnectivityConfiguration und New-AzNetworkManagerConnectivityGroupItem:
Erstellen Sie ein Konnektivitätsgruppenelement:
$gi = @{ NetworkGroupId = $ng.Id } $groupItem = New-AzNetworkManagerConnectivityGroupItem @gi
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)
Erstellen Sie die Konnektivitätskonfiguration mit der Konfigurationsgruppe:
$config = @{ Name = 'connectivity-configuration' ResourceGroupName = $rg.ResourceGroupName 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("westus2")
$deployment = @{
Name = $networkManager.Name
ResourceGroupName = $rg.ResourceGroupName
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, löschen Sie die Ressourcengruppe, die sie enthält. Beim Löschen der Ressourcengruppe werden auch die von Ihnen erstellten Ressourcen gelöscht.
Löschen Sie die Ressourcengruppe mit Remove-AzResourceGroup:
Remove-AzResourceGroup -Name $rg.ResourceGroupName -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: