Bagikan melalui


Mulai cepat: Membuat topologi jaringan jala dengan Azure Virtual Network Manager dengan menggunakan Azure PowerShell

Mulai menggunakan Azure Virtual Network Manager dengan menggunakan Azure PowerShell untuk mengelola konektivitas untuk jaringan virtual Anda.

Dalam mulai cepat ini, Anda menyebarkan tiga jaringan virtual dan menggunakan Azure Virtual Network Manager untuk membuat topologi jaringan jala. Kemudian Anda memverifikasi bahwa konfigurasi konektivitas diterapkan.

Diagram sumber daya yang disebarkan untuk topologi jaringan virtual jala dengan manajer jaringan virtual Azure.

Prasyarat

  • Akun Azure dengan langganan aktif. Buat akun secara gratis.
  • Lakukan mulai cepat ini dengan menggunakan PowerShell secara lokal, bukan melalui Azure Cloud Shell. Versi Az.Network di Azure Cloud Shell saat ini tidak mendukung cmdlet Azure Virtual Network Manager.
  • Untuk mengubah grup jaringan dinamis, Anda harus diberikan akses melalui penetapan peran Azure RBAC saja. Otorisasi Admin/warisan klasik tidak didukung.

Masuk ke akun Azure Anda dan pilih langganan Anda

Untuk memulai konfigurasi Anda, masuk ke akun Azure Anda:

Connect-AzAccount

Kemudian, sambungkan ke langganan Anda:

Set-AzContext -Subscription <subscription name or id>

Menginstal modul Azure PowerShell

Instal modul Az.Network Azure PowerShell terbaru dengan menggunakan perintah ini:

 Install-Module -Name Az.Network -RequiredVersion 5.3.0

Buat grup sumber daya

Sebelum dapat membuat instans Azure Virtual Network Manager, Anda harus membuat grup sumber daya untuk menghostingnya. Buat grup sumber daya menggunakan New-AzResourceGroup. Contoh ini membuat grup sumber daya bernama vnm-learn-eastus-001ResourceGroup di lokasi US Timur:


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

Tentukan cakupan dan jenis akses

Tentukan cakupan dan jenis akses untuk instans Azure Virtual Network Manager dengan menggunakan New-AzNetworkManagerScope. Contoh ini menentukan cakupan dengan satu langganan dan mengatur jenis akses ke Konektivitas. Ganti <subscription_id> dengan ID langganan yang ingin Anda kelola melalui Azure Virtual Network Manager.


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

Membuat instans Virtual Network Manager

Buat instans Virtual Network Manager dengan menggunakan New-AzNetworkManager. Contoh ini membuat instans bernama vnm-learn-eastus-001 di lokasi US Timur:

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

Membuat tiga jaringan virtual

Buat tiga jaringan virtual dengan menggunakan New-AzVirtualNetwork. Contoh ini membuat jaringan virtual bernama vnet-learn-prod-eastus-001, vnet-learn-prod-eastus-002, dan vnet-learn-test-eastus-003 di lokasi US Timur. Jika Anda sudah memiliki jaringan virtual yang ingin Anda buat jaringan jalanya, Anda dapat melompat ke bagian berikutnya.

$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

Menambahkan subnet ke setiap jaringan virtual

Untuk menyelesaikan konfigurasi jaringan virtual, buat konfigurasi subnet bernama default dengan awalan alamat subnet /24 dengan menggunakan Add-AzVirtualNetworkSubnetConfig. Kemudian, gunakan Set-AzVirtualNetwork untuk menerapkan konfigurasi subnet ke jaringan virtual.

$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

Membuat grup jaringan

Virtual Network Manager menerapkan konfigurasi ke grup jaringan virtual dengan menempatkannya dalam grup jaringan. Buat grup jaringan dengan menggunakan New-AzNetworkManagerGroup. Contoh ini membuat grup jaringan bernama ng-learn-prod-eastus-001 di lokasi US Timur:

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

Menentukan keanggotaan untuk konfigurasi jala

Setelah membuat grup jaringan, Anda menentukan keanggotaannya dengan menambahkan jaringan virtual. Anda dapat menambahkan jaringan ini secara manual atau dengan menggunakan Azure Policy.

Menambahkan keanggotaan secara manual

Dalam tugas ini, Anda menambahkan anggota statis vnet-learn-prod-eastus-001 dan vnet-learn-prod-eastus-002 ke grup jaringan ng-learn-prod-eastus-001 dengan menggunakan New-AzNetworkManagerStaticMember.

Anggota statis harus memiliki nama unik yang tercakup dalam grup jaringan. Kami menyarankan agar Anda menggunakan hash yang konsisten dari ID jaringan virtual. Pendekatan ini menggunakan implementasi templat uniqueString() Azure Resource Manager.

    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

Membuat konfigurasi konektivitas

Dalam tugas ini, Anda membuat konfigurasi konektivitas dengan grup jaringan ng-learn-prod-eastus-001 dengan menggunakan New-AzNetworkManagerConnectivityConfiguration dan New-AzNetworkManagerConnectivityGroupItem:

  1. Buat item grup konektivitas:

    $gi = @{
        NetworkGroupId = $ng.Id
    }
    $groupItem = New-AzNetworkManagerConnectivityGroupItem @gi
    
  2. Buat grup konfigurasi dan tambahkan item grup konektivitas ke dalamnya:

    [System.Collections.Generic.List[Microsoft.Azure.Commands.Network.Models.NetworkManager.PSNetworkManagerConnectivityGroupItem]]$configGroup = @()
    $configGroup.Add($groupItem)
    
  3. Buat konfigurasi konektivitas dengan grup konfigurasi:

    $config = @{
        Name = 'cc-learn-prod-eastus-001'
        ResourceGroupName = $rg.Name
        NetworkManagerName = $networkManager.Name
        ConnectivityTopology = 'Mesh'
        AppliesToGroup = $configGroup
    }
    $connectivityconfig = New-AzNetworkManagerConnectivityConfiguration @config
        ```                        
    
    

Melakukan penyebaran

Terapkan konfigurasi ke wilayah target dengan menggunakan Deploy-AzNetworkManagerCommit. Langkah ini memicu konfigurasi Anda untuk mulai berlaku.

[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 

Membersihkan sumber daya

Jika Anda tidak lagi memerlukan instans Azure Virtual Network Manager, pastikan semua poin berikut ini benar sebelum Anda menghapus sumber daya:

  • Tidak ada penyebaran konfigurasi ke wilayah mana pun.
  • Semua konfigurasi telah dihapus.
  • Semua grup jaringan telah dihapus.

Untuk menghapus sumber daya:

  1. Hapus penyebaran konektivitas dengan menyebarkan konfigurasi kosong melalui Deploy-AzNetworkManagerCommit:

    [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. Hapus konfigurasi konektivitas dengan menggunakan Remove-AzNetworkManagerConnectivityConfiguration:

    
    Remove-AzNetworkManagerConnectivityConfiguration -Name $connectivityconfig.Name -ResourceGroupName $rg.Name -NetworkManagerName $networkManager.Name
    
    
  3. Hapus sumber daya kebijakan dengan menggunakan Remove-AzPolicy*:

    
    Remove-AzPolicyAssignment -Name $policyAssignment.Name
    Remove-AzPolicyAssignment -Name $policyDefinition.Name
    
    
  4. Hapus grup jaringan dengan menggunakan Remove-AzNetworkManagerGroup:

    Remove-AzNetworkManagerGroup -Name $ng.Name -ResourceGroupName $rg.Name -NetworkManagerName $networkManager.Name
    
  5. Hapus instans Virtual Network Manager dengan menggunakan Remove-AzNetworkManager:

    Remove-AzNetworkManager -name $networkManager.Name -ResourceGroupName $rg.Name
    
  6. Jika Anda tidak lagi memerlukan sumber daya yang Anda buat, hapus grup sumber daya dengan menggunakan Remove-AzResourceGroup:

    Remove-AzResourceGroup -Name $rg.Name -Force
    

Langkah berikutnya

Sekarang setelah Anda membuat instans Azure Virtual Network Manager, pelajari cara memblokir lalu lintas jaringan dengan menggunakan konfigurasi admin keamanan: