Hızlı Başlangıç: Azure PowerShell kullanarak Azure Sanal Ağ Manager ile ağ topolojisi oluşturma
Sanal ağlarınızın bağlantısını yönetmek için Azure PowerShell'i kullanarak Azure Sanal Ağ Manager'ı kullanmaya başlayın.
Bu hızlı başlangıçta üç sanal ağ dağıtacak ve ağ topolojisi oluşturmak için Azure Sanal Ağ Manager'ı kullanacaksınız. Ardından bağlantı yapılandırmasının uygulandığını doğrularsınız.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Bu hızlı başlangıcı Azure Cloud Shell aracılığıyla değil PowerShell'i yerel olarak kullanarak gerçekleştirin. Azure Cloud Shell'deki Az.Network sürümü şu anda Azure Sanal Ağ Manager cmdlet'lerini desteklememektedir.
- Dinamik ağ gruplarını değiştirmek için size yalnızca Azure RBAC rol ataması aracılığıyla erişim verilmelidir. Klasik Yönetici/eski yetkilendirme desteklenmez.
Azure hesabınızda oturum açın ve aboneliğinizi seçin
Yapılandırmanıza başlamak için Azure hesabınızda oturum açın:
Connect-AzAccount
Ardından aboneliğinize bağlanın:
Set-AzContext -Subscription <subscription name or id>
Azure PowerShell modülünü yükleme
Şu komutu kullanarak en son Az.Network Azure PowerShell modülünü yükleyin:
Install-Module -Name Az.Network -RequiredVersion 5.3.0
Kaynak grubu oluşturma
Azure Sanal Ağ Manager örneği oluşturabilmeniz için önce bunu barındırmak için bir kaynak grubu oluşturmanız gerekir. New-AzResourceGroup kullanarak bir kaynak grubu oluşturun. Bu örnek, Doğu ABD konumunda vnm-learn-eastus-001ResourceGroup adlı bir kaynak grubu oluşturur:
$location = "East US"
$rg = @{
Name = 'rg-learn-eastus-001'
Location = $location
}
New-AzResourceGroup @rg
Kapsamı ve erişim türünü tanımlama
New-AzNetworkManagerScope kullanarak Azure Sanal Ağ Manager örneğinin kapsamını ve erişim türünü tanımlayın. Bu örnek, tek bir aboneliğe sahip bir kapsamı tanımlar ve erişim türünü Bağlantı olarak ayarlar. değerini Azure Sanal Ağ Yöneticisi aracılığıyla yönetmek istediğiniz aboneliğin kimliğiyle değiştirin<subscription_id>
.
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
Sanal Ağ Yöneticisi örneği oluşturma
New-AzNetworkManager kullanarak bir Sanal Ağ Yöneticisi örneği oluşturun. Bu örnek, Doğu ABD konumunda vnm-learn-eastus-001 adlı bir örnek oluşturur:
$avnm = @{
Name = 'vnm-learn-eastus-001'
ResourceGroupName = $rg.Name
NetworkManagerScope = $scope
NetworkManagerScopeAccess = $access
Location = $location
}
$networkmanager = New-AzNetworkManager @avnm
Üç sanal ağ oluşturma
New-AzVirtualNetwork kullanarak üç sanal ağ oluşturun. Bu örnek, Doğu ABD konumunda vnet-learn-prod-eastus-001, vnet-learn-prod-eastus-002 ve vnet-learn-test-eastus-003 adlı sanal ağlar oluşturur. Ağ ağı oluşturmak istediğiniz sanal ağlarınız zaten varsa sonraki bölüme atlayabilirsiniz.
$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
Her sanal ağa alt ağ ekleme
Sanal ağların yapılandırmasını tamamlamak için Add-AzVirtualNetworkSubnetConfig komutunu kullanarak alt ağ adresi ön eki /24 olan default adlı bir alt ağ yapılandırması oluşturun. Ardından, alt ağ yapılandırmasını sanal ağa uygulamak için Set-AzVirtualNetwork komutunu kullanın.
$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
Ağ grubu oluşturma
Sanal Ağ Yöneticisi, yapılandırmaları ağ gruplarına yerleştirerek sanal ağ gruplarına uygular. New-AzNetworkManagerGroup kullanarak bir ağ grubu oluşturun. Bu örnek, Doğu ABD konumunda ng-learn-prod-eastus-001 adlı bir ağ grubu oluşturur:
$ng = @{
Name = 'ng-learn-prod-eastus-001'
ResourceGroupName = $rg.Name
NetworkManagerName = $networkManager.Name
}
$ng = New-AzNetworkManagerGroup @ng
Mesh yapılandırması için üyelik tanımlama
Ağ grubunuzu oluşturduktan sonra, sanal ağlar ekleyerek bu grubun üyeliğini tanımlarsınız. Bu ağları el ile veya Azure İlkesi kullanarak ekleyebilirsiniz.
El ile üyelik ekleme
Bu görevde, New-AzNetworkManagerStaticMember komutunu kullanarak vnet-learn-prod-eastus-001 ve vnet-learn-prod-eastus-002 statik üyelerini ng-learn-prod-eastus-001 ağ grubuna eklersiniz.
Statik üyelerin kapsamı ağ grubuna göre belirlenmiş benzersiz bir ada sahip olmalıdır. Sanal ağ kimliğinin tutarlı bir karması kullanmanızı öneririz. Bu yaklaşım, Azure Resource Manager şablonunun uniqueString()
uygulamasını kullanır.
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
Bağlantı yapılandırması oluşturma
Bu görevde, New-AzNetworkManagerConnectivityConfiguration ve New-AzNetworkManagerConnectivityGroupItem kullanarak ng-learn-prod-eastus-001 ağ grubuyla bir bağlantı yapılandırması oluşturursunuz:
Bağlantı grubu öğesi oluşturma:
$gi = @{ NetworkGroupId = $ng.Id } $groupItem = New-AzNetworkManagerConnectivityGroupItem @gi
Bir yapılandırma grubu oluşturun ve buna bir bağlantı grubu öğesi ekleyin:
[System.Collections.Generic.List[Microsoft.Azure.Commands.Network.Models.NetworkManager.PSNetworkManagerConnectivityGroupItem]]$configGroup = @() $configGroup.Add($groupItem)
Yapılandırma grubuyla bağlantı yapılandırmasını oluşturun:
$config = @{ Name = 'cc-learn-prod-eastus-001' ResourceGroupName = $rg.Name NetworkManagerName = $networkManager.Name ConnectivityTopology = 'Mesh' AppliesToGroup = $configGroup } $connectivityconfig = New-AzNetworkManagerConnectivityConfiguration @config ```
Dağıtımı işleme
kullanarak yapılandırmayı hedef bölgelere işleyin Deploy-AzNetworkManagerCommit
. Bu adım, yapılandırmanızın etkin bir şekilde başlamasını tetikler.
[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
Kaynakları temizleme
Azure Sanal Ağ Manager örneğine artık ihtiyacınız yoksa, kaynağı silmeden önce aşağıdaki noktaların tümünün doğru olduğundan emin olun:
- Yapılandırmaların herhangi bir bölgeye dağıtımı yoktur.
- Tüm yapılandırmalar silindi.
- Tüm ağ grupları silindi.
Kaynağı silmek için:
aracılığıyla
Deploy-AzNetworkManagerCommit
boş bir yapılandırma dağıtarak bağlantı dağıtımını kaldırın:[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
kullanarak
Remove-AzNetworkManagerConnectivityConfiguration
bağlantı yapılandırmasını kaldırın:Remove-AzNetworkManagerConnectivityConfiguration -Name $connectivityconfig.Name -ResourceGroupName $rg.Name -NetworkManagerName $networkManager.Name
kullanarak
Remove-AzPolicy*
ilke kaynaklarını kaldırın:Remove-AzPolicyAssignment -Name $policyAssignment.Name Remove-AzPolicyAssignment -Name $policyDefinition.Name
kullanarak
Remove-AzNetworkManagerGroup
ağ grubunu kaldırın:Remove-AzNetworkManagerGroup -Name $ng.Name -ResourceGroupName $rg.Name -NetworkManagerName $networkManager.Name
kullanarak
Remove-AzNetworkManager
Sanal Ağ Manager örneğini silin:Remove-AzNetworkManager -name $networkManager.Name -ResourceGroupName $rg.Name
Oluşturduğunuz kaynağa artık ihtiyacınız yoksa Remove-AzResourceGroup komutunu kullanarak kaynak grubunu silin:
Remove-AzResourceGroup -Name $rg.Name -Force
Sonraki adımlar
Bir Azure Sanal Ağ Manager örneği oluşturduğunuza göre, güvenlik yöneticisi yapılandırmasını kullanarak ağ trafiğini engellemeyi öğrenin: