Mulai cepat: Buat topologi jaringan mesh dengan Azure Virtual Network Manager menggunakan Azure PowerShell

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

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

Diagram sumber daya yang diterapkan untuk topologi jaringan virtual mesh dengan Azure Virtual Network Manager.

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 memodifikasi grup jaringan dinamis, lihat izin yang diperlukan.

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

Dalam tugas ini, buat grup sumber daya untuk menghosting instans manajer jaringan. Buat grup sumber daya menggunakan New-AzResourceGroup. Contoh ini membuat grup sumber daya bernama grup sumber daya di wilayah US Barat 2 :

# Create a resource group
$location = "westus2"
$rg = @{
    Name = 'resource-group'
    Location = $location
}
New-AzResourceGroup @rg

Tentukan cakupan dan jenis akses

Dalam tugas ini, 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.

$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

Buat instans Pengelola Virtual Network

Dalam tugas ini, buat instans Pengelola Virtual Network dengan menggunakan New-AzNetworkManager. Contoh ini membuat instans bernama network-manager di wilayah (US) US Barat 2 :

$avnm = @{
    Name = 'network-manager'
    ResourceGroupName = $rg.Name
    NetworkManagerScope = $scope
    NetworkManagerScopeAccess = $access
    Location = $location
}
$networkManager = New-AzNetworkManager @avnm

Membuat tiga jaringan virtual

Dalam tugas ini, buat tiga jaringan virtual dengan menggunakan New-AzVirtualNetwork. Contoh ini membuat jaringan virtual bernama vnet-00, vnet-01, dan vnet-02 di wilayah (AS) US Barat 2. Jika Anda sudah memiliki jaringan virtual yang ingin digunakan untuk membuat jaringan mesh, Anda dapat lanjut ke bagian berikutnya.

$vnet_00 = @{
    Name = 'vnet-00'
    ResourceGroupName = $rg.Name
    Location = $location
    AddressPrefix = '10.0.0.0/16'    
}

$vnet_00 = New-AzVirtualNetwork @vnet_00

$vnet_01 = @{
    Name = 'vnet-01'
    ResourceGroupName = $rg.Name
    Location = $location
    AddressPrefix = '10.1.0.0/16'    
}
$vnet_01 = New-AzVirtualNetwork @vnet_01

$vnet_02 = @{
    Name = 'vnet-02'
    ResourceGroupName = $rg.Name
    Location = $location
    AddressPrefix = '10.2.0.0/16'    
}
$vnet_02 = New-AzVirtualNetwork @vnet_02

Menambahkan subnet ke setiap jaringan virtual

Dalam tugas ini, 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_vnet_00 = @{
    Name = 'default'
    VirtualNetwork = $vnet_00
    AddressPrefix = '10.0.0.0/24'
}
$subnetConfig_vnet_00 = Add-AzVirtualNetworkSubnetConfig @subnet_vnet_00
$vnet_00 | Set-AzVirtualNetwork

$subnet_vnet_01 = @{
    Name = 'default'
    VirtualNetwork = $vnet_01
    AddressPrefix = '10.1.0.0/24'
}
$subnetConfig_vnet_01 = Add-AzVirtualNetworkSubnetConfig @subnet_vnet_01
$vnet_01 | Set-AzVirtualNetwork

$subnet_vnet_02 = @{
    Name = 'default'
    VirtualNetwork = $vnet_02
    AddressPrefix = '10.2.0.0/24'
}
$subnetConfig_vnet_02 = Add-AzVirtualNetworkSubnetConfig @subnet_vnet_02
$vnet_02 | Set-AzVirtualNetwork

Membuat grup jaringan

Pengelola Virtual Network menerapkan konfigurasi ke grup jaringan virtual dengan menempatkannya dalam grup jaringan. Buat grup jaringan untuk topologi mesh menggunakan New-AzNetworkManagerGroup. Contoh ini membuat grup jaringan bernama network-group di wilayah (US) US Barat 2 :

$ng = @{
        Name = 'network-group'
        ResourceGroupName = $rg.Name
        NetworkManagerName = $networkManager.Name
    }
    $ng = New-AzNetworkManagerGroup @ng

Tentukan keanggotaan untuk konfigurasi mesh

Dalam tugas ini, Anda menambahkan anggota statis vnet-00 dan vnet-01 ke grup jaringan network-group 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_vnet_00 = @{
        Name = Get-UniqueString $vnet_00.Id
        ResourceGroupName = $rg.Name
        NetworkGroupName = $ng.Name
        NetworkManagerName = $networkManager.Name
        ResourceId = $vnet_00.Id
    }
    $sm_vnet_00 = New-AzNetworkManagerStaticMember @sm_vnet_00
$sm_vnet_01 = @{
        Name = Get-UniqueString $vnet_01.Id
        ResourceGroupName = $rg.Name
        NetworkGroupName = $ng.Name
        NetworkManagerName = $networkManager.Name
        ResourceId = $vnet_01.Id
    }
    $sm_vnet_01 = New-AzNetworkManagerStaticMember @sm_vnet_01

Membuat konfigurasi konektivitas

Dalam tugas ini, Anda membuat konfigurasi konektivitas dengan grup jaringan-grup jaringan dengan menggunakan New-AzNetworkManagerConnectivityConfiguration dan New-AzNetworkManagerConnectivityGroupItem:

  1. Buat item kelompok 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 = 'connectivity-configuration'
        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("westus2")     

$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 dan sumber dayanya, ikuti langkah-langkah ini untuk menghapusnya dengan menghapus grup sumber daya yang berisi sumber daya:

  1. Hapus grup sumber daya menggunakan Remove-AzResourceGroup:

    Remove-AzResourceGroup -Name $rg.Name -Force
    

Langkah berikutnya

Dalam langkah ini, pelajari cara memblokir lalu lintas jaringan dengan menggunakan konfigurasi admin keamanan: