Snabbstart: Skapa en nätnätverkstopologi med Azure Virtual Network Manager med hjälp av Azure PowerShell
Kom igång med Azure Virtual Network Manager med hjälp av Azure PowerShell för att hantera anslutningen för dina virtuella nätverk.
I den här snabbstarten distribuerar du tre virtuella nätverk och använder Azure Virtual Network Manager för att skapa en nätnätverkstopologi. Sedan kontrollerar du att anslutningskonfigurationen har tillämpats.
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- Utför den här snabbstarten med hjälp av PowerShell lokalt, inte via Azure Cloud Shell. Versionen av Az.Network i Azure Cloud Shell stöder för närvarande inte Azure Virtual Network Manager-cmdletar.
- Om du vill ändra dynamiska nätverksgrupper måste du endast beviljas åtkomst via Azure RBAC-rolltilldelning . Klassisk administratörs-/äldre auktorisering stöds inte.
Logga in på ditt Azure-konto och välj din prenumeration
Börja konfigurationen genom att logga in på ditt Azure-konto:
Connect-AzAccount
Anslut sedan till din prenumeration:
Set-AzContext -Subscription <subscription name or id>
Installera Azure PowerShell-modulen
Installera den senaste Azure PowerShell-modulen för Az.Network med hjälp av det här kommandot:
Install-Module -Name Az.Network -RequiredVersion 5.3.0
Skapa en resursgrupp
Innan du kan skapa en Azure Virtual Network Manager-instans måste du skapa en resursgrupp som ska vara värd för den. Skapa en resursgrupp med hjälp av New-AzResourceGroup. I det här exemplet skapas en resursgrupp med namnet resource-group i regionen USA, västra 2 :
# Create a resource group
$location = "West US 2"
$rg = @{
Name = 'resource-group'
Location = $location
}
New-AzResourceGroup @rg
Definiera omfångs- och åtkomsttyp
Definiera omfångs- och åtkomsttypen för Azure Virtual Network Manager-instansen med hjälp av New-AzNetworkManagerScope. Det här exemplet definierar ett omfång med en enda prenumeration och anger åtkomsttypen till Anslutning. Ersätt <subscription_id>
med ID:t för den prenumeration som du vill hantera 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
Skapa en Virtual Network Manager-instans
Skapa en Virtual Network Manager-instans med hjälp av New-AzNetworkManager. Det här exemplet skapar en instans med namnet network-manager i regionen USA, västra 2 :
$avnm = @{
Name = 'network-manager'
ResourceGroupName = $rg.ResourceGroupName
NetworkManagerScope = $scope
NetworkManagerScopeAccess = $access
Location = $location
}
$networkmanager = New-AzNetworkManager @avnm
Skapa tre virtuella nätverk
Skapa tre virtuella nätverk med hjälp av New-AzVirtualNetwork. I det här exemplet skapas virtuella nätverk med namnet vnet-spoke-001, vnet-spoke-002 och vnet-hub-001 i regionen USA, västra 2. Om du redan har virtuella nätverk som du vill skapa ett nätnätverk med kan du gå vidare till nästa avsnitt.
$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
Lägga till ett undernät i varje virtuellt nätverk
För att slutföra konfigurationen av de virtuella nätverken skapar du en undernätskonfiguration med namnet default med ett undernätsadressprefix på /24 med hjälp av Add-AzVirtualNetworkSubnetConfig. Använd sedan Set-AzVirtualNetwork för att tillämpa undernätskonfigurationen på det virtuella nätverket.
$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
Skapa en nätverksgrupp
Virtual Network Manager tillämpar konfigurationer på grupper av virtuella nätverk genom att placera dem i nätverksgrupper. Skapa en nätverksgrupp med hjälp av New-AzNetworkManagerGroup. I det här exemplet skapas en nätverksgrupp med namnet network-group i regionen USA, västra 2:
$ng = @{
Name = 'network-group'
ResourceGroupName = $rg.ResourceGroupName
NetworkManagerName = $networkManager.Name
}
$ng = New-AzNetworkManagerGroup @ng
Definiera medlemskap för en mesh-konfiguration
I den här uppgiften lägger du till de statiska medlemmarna vnet-spoke-001 och vnet-spoke-002 i nätverksgruppens nätverksgrupp med hjälp av New-AzNetworkManagerStaticMember.
Statiska medlemmar måste ha ett unikt namn som är begränsat till nätverksgruppen. Vi rekommenderar att du använder en konsekvent hash för det virtuella nätverks-ID:t. Den här metoden använder implementeringen av Azure Resource Manager-mallen uniqueString()
.
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
Skapa en anslutningskonfiguration
I den här uppgiften skapar du en anslutningskonfiguration med nätverksgruppens nätverksgrupp med hjälp av New-AzNetworkManagerConnectivityConfiguration och New-AzNetworkManagerConnectivityGroupItem:
Skapa ett anslutningsgruppobjekt:
$gi = @{ NetworkGroupId = $ng.Id } $groupItem = New-AzNetworkManagerConnectivityGroupItem @gi
Skapa en konfigurationsgrupp och lägg till ett anslutningsgruppobjekt i den:
[System.Collections.Generic.List[Microsoft.Azure.Commands.Network.Models.NetworkManager.PSNetworkManagerConnectivityGroupItem]]$configGroup = @() $configGroup.Add($groupItem)
Skapa anslutningskonfigurationen med konfigurationsgruppen:
$config = @{ Name = 'connectivity-configuration' ResourceGroupName = $rg.ResourceGroupName NetworkManagerName = $networkManager.Name ConnectivityTopology = 'Mesh' AppliesToGroup = $configGroup } $connectivityconfig = New-AzNetworkManagerConnectivityConfiguration @config ```
Genomför distribution
Checka in konfigurationen i målregionerna med hjälp Deploy-AzNetworkManagerCommit
av . Det här steget utlöser konfigurationen så att den börjar gälla.
[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
Rensa resurser
Om du inte längre behöver Azure Virtual Network Manager-instansen och den associerar resurser tar du bort den resursgrupp som innehåller dem. Om du tar bort resursgruppen tas även de resurser som du skapade bort.
Ta bort resursgruppen med Remove-AzResourceGroup:
Remove-AzResourceGroup -Name $rg.ResourceGroupName -Force
Nästa steg
Nu när du har skapat en Azure Virtual Network Manager-instans lär du dig hur du blockerar nätverkstrafik med hjälp av en säkerhetsadministratörskonfiguration: