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.
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:
Maak een connectiviteitsgroepitem:
$gi = @{ NetworkGroupId = $ng.Id } $groupItem = New-AzNetworkManagerConnectivityGroupItem @gi
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)
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.
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: