Banyak organisasi menerapkan arsitektur jaringan virtual yang mengikuti model hub-spoke. Pada titik tertentu, jaringan virtual hub mungkin memerlukan ruang alamat IP tambahan. Namun, rentang alamat tidak dapat ditambahkan atau dihapus dari ruang alamat jaringan virtual setelah di-peer dengan jaringan virtual lain. Untuk menambah atau menghapus rentang alamat, hapus peering, tambahkan atau hapus rentang alamat, lalu buat ulang peering secara manual. Skrip yang dijelaskan dalam artikel ini dapat mempermudah proses tersebut.
Catatan
Artikel ini belum diperbarui untuk mencerminkan dukungan jaringan Azure untuk peering sinkronisasi ulang. Jaringan virtual Azure mendukung penambahan dan penghapusan ruang alamat tanpa perlu menghapus dan membangun kembali peering; sebagai gantinya, setiap peering jarak jauh memerlukan operasi sinkronisasi yang dilakukan setelah ruang jaringan berubah. Sinkronisasi dapat dilakukan menggunakan perintah PowerShell Sync-AzVirtualNetworkPeering atau dari Portal Microsoft Azure.
Langganan tunggal
Kasus penggunaan langganan tunggal, baik hub dan semua jaringan virtual spoke berada dalam langganan yang sama.

Beberapa langganan
Kasus penggunaan lain dapat terjadi di mana jaringan virtual hub berada dalam satu langganan dan semua jaringan virtual spoke lainnya berada dalam langganan yang berbeda. Semua langganan memiliki penyewa Azure Active Directory yang sama.

Pertimbangan
- Menjalankan skrip akan mengakibatkan pemadaman atau pemutusan antara hub dan jaringan virtual spoke. Jalankan selama periode pemeliharaan yang disetujui.
- Jalankan
Get-Module -ListAvailable Azuntuk menemukan versi terinstal. Script memerlukan modul Azure PowerShell versi 1.0.0 atau yang lebih baru. Jika Anda perlu peningkatan, lihat Menginstal modul Azure PowerShell. - Jika belum terhubung, jalankan
Connect-AzAccountuntuk membuat koneksi dengan Azure. - Pertimbangkan untuk menetapkan akun, yang digunakan untuk peering jaringan virtual, ke peran Network Contributor atau peran kustom yang berisi tindakan yang diperlukan yang ditemukan di izin peering jaringan virtual.
- Tetapkan akun yang digunakan untuk menambahkan ruang alamat IP, ke peran Network Contributor atau peran kustom yang berisi tindakan yang diperlukan yang ditemukan di izin jaringan virtual.
- Ruang alamat IP yang ingin Anda tambahkan ke jaringan virtual hub tidak boleh tumpang tindih dengan ruang alamat IP mana pun dari jaringan virtual spoke yang ingin Anda peer dengan jaringan virtual hub.
Menambahkan rentang alamat IP
Skrip secara otomatis menghapus semua peering Virtual Network dari hub Virtual Network, menambahkan awalan rentang alamat IP ke hub Virtual Network berdasarkan parameter input, menambahkan kembali peering Virtual Network ke hub Virtual Network, dan menyambungkan kembali peering Virtual Network hub ke peering Virtual Network spoke yang ada. Skrip berlaku untuk topologi hub-spoke langganan tunggal dan ganda.
param (
# Address Prefix range (CIDR Notation, e.g., 10.0.0.0/24 or 2607:f000:0000:00::/64)
[Parameter(Mandatory = $true)]
[String[]]
$IPAddressRange,
# Hub VNet Subscription Name
[Parameter(Mandatory = $true)]
[String]
$HubVNetSubscriptionName,
# Hub VNet Resource Group Name
[Parameter(Mandatory = $true)]
[String]
$HubVNetRGName,
# Hub VNet Name
[Parameter(Mandatory = $true)]
[String]
$HubVNetName
)
#Set context to Hub VNet Subscription
Get-AzSubscription -SubscriptionName $HubVNetSubscriptionName | Set-AzContext
#end
#Get All Hub VNet Peerings and Hub VNet Object
$hubPeerings = Get-AzVirtualNetworkPeering -ResourceGroupName $HubVNetRGName -VirtualNetworkName $HubVNetName
$hubVNet = Get-AzVirtualNetwork -Name $HubVNetName -ResourceGroupName $HubVNetRGName
#end
#Remove All Hub VNet Peerings
Remove-AzVirtualNetworkPeering -VirtualNetworkName $HubVNetName -ResourceGroupName $HubVNetRGName -name $hubPeerings.Name -Force
#end
#Add IP address range to the hub vnet
$hubVNet.AddressSpace.AddressPrefixes.Add($IPAddressRange)
#end
#Apply configuration stored in $hubVnet
Set-AzVirtualNetwork -VirtualNetwork $hubVNet
#end
foreach ($vNetPeering in $hubPeerings)
{
# Get remote vnet name
$vNetFullId = $vNetPeering.RemoteVirtualNetwork.Id
$vNetName = $vNetFullId.Substring($vNetFullId.LastIndexOf('/') + 1)
# Pull remote vNet object
$vNetObj = Get-AzVirtualNetwork -Name $vNetName
# Get the peering from the remote vnet object
$peeringName = $vNetObj.VirtualNetworkPeerings.Where({$_.RemoteVirtualNetwork.Id -like "*$($hubVNet.Name)"}).Name
$peering = Get-AzVirtualNetworkPeering -ResourceGroupName $vNetObj.ResourceGroupName -VirtualNetworkName $vNetName -Name $peeringName
# Reset to initiated state
Set-AzVirtualNetworkPeering -VirtualNetworkPeering $peering
# Re-create peering on hub
Add-AzVirtualNetworkPeering -Name $vNetPeering.Name -VirtualNetwork $HubVNet -RemoteVirtualNetworkId $vNetFullId -AllowGatewayTransit
}
Harga
Ada biaya nominal untuk lalu lintas masuk dan keluar yang menggunakan komunikasi dua arah jaringan virtual. Tidak ada perubahan pada harga yang ada saat menambahkan ruang alamat IP tambahan ke Azure Virtual Network. Untuk informasi selengkapnya, lihat halaman harga.
Langkah berikutnya
- Pelajari selengkapnya tentang mengelola peering Virtual Network.
- Pelajari selengkapnya tentang mengelola rentang Alamat IP di Jaringan Virtual.