Menyebarkan aplikasi tumpukan ganda IPv6 di jaringan virtual Azure menggunakan PowerShell
Artikel ini menunjukkan kepada Anda cara menyebarkan aplikasi tumpukan ganda (IPv4 + IPv6) menggunakan Load Balancer Standar di Azure yang mencakup jaringan virtual tumpukan ganda dan subnet, Load Balancer Standar dengan konfigurasi frontend ganda (IPv4 + IPv6), VM dengan NIC yang memiliki konfigurasi IP ganda, grup keamanan jaringan, dan IP publik.
Azure Cloud Shell
Azure meng-hosting Azure Cloud Shell, lingkungan shell interaktif yang dapat Anda gunakan melalui browser. Anda dapat menggunakan Bash atau PowerShell dengan Cloud Shell untuk bekerja dengan layanan Azure. Anda dapat menggunakan perintah Cloud Shell yang telah diinstal sebelumnya untuk menjalankan kode dalam artikel ini tanpa harus menginstal apa-apa di lingkungan lokal Anda.
Untuk memulai Azure Cloud Shell:
Opsi | Contoh/Tautan |
---|---|
Pilih Coba di pojok kanan atas blok kode atau perintah. Memilih Coba tidak otomatis menyalin kode atau perintah ke Cloud Shell. | |
Buka https://shell.azure.com, atau pilih tombol Luncurkan Cloud Shell untuk membuka Cloud Shell di browser Anda. | |
Pilih tombol Cloud Shell pada bilah menu di kanan atas di portal Microsoft Azure. |
Untuk menggunakan Azure Cloud Shell:
Mulai Cloud Shell.
Pilih tombol Salin pada blok kode (atau blok perintah) untuk menyalin kode atau perintah.
Tempel kode atau perintah ke dalam sesi Cloud Shell dengan memilih Ctrl+Shift+V di Windows dan Linux, atau dengan memilih Cmd+Shift+V di macOS.
Pilih Masukkan untuk menjalankan kode atau perintah.
Jika Anda memilih untuk menginstal dan menggunakan PowerShell secara lokal, artikel ini memerlukan modul Azure PowerShell versi 6.9.0 atau yang lebih baru. Jalankan Get-Module -ListAvailable Az
untuk menemukan versi terinstal. Jika Anda perlu peningkatan, lihat Instal modul Azure PowerShell. Jika Anda menjalankan PowerShell secara lokal, Anda juga harus menjalankan Connect-AzAccount
untuk membuat koneksi dengan Azure.
Buat grup sumber daya
Sebelum dapat membuat jaringan virtual tumpukan ganda, Anda harus membuat grup sumber daya dengan New-AzResourceGroup. Contoh berikut ini menampilkan cara membuat grup sumber daya dengan nama myResourceGroup di lokasi us timur:
$rg = New-AzResourceGroup `
-ResourceGroupName "dsRG1" `
-Location "east us"
Membuat alamat IP publik IPv4 dan IPv6
Untuk mengakses komputer virtual Anda dari Internet, Anda memerlukan alamat IP publik IPv4 dan IPv6 untuk load balancer. Buat alamat IP publik dengan New-AzPublicIpAddress. Contoh berikut membuat alamat IP publik IPv4 dan IPv6 dengan nama dsPublicIP_v4 dan dsPublicIP_v6 di grup sumber daya dsRG1:
$PublicIP_v4 = New-AzPublicIpAddress `
-Name "dsPublicIP_v4" `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-AllocationMethod Static `
-IpAddressVersion IPv4 `
-Sku Standard
$PublicIP_v6 = New-AzPublicIpAddress `
-Name "dsPublicIP_v6" `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-AllocationMethod Static `
-IpAddressVersion IPv6 `
-Sku Standard
Untuk mengakses komputer virtual Anda menggunakan koneksi RDP, buat alamat IP publik IPV4 untuk komputer virtual dengan New-AzPublicIpAddress.
$RdpPublicIP_1 = New-AzPublicIpAddress `
-Name "RdpPublicIP_1" `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-AllocationMethod Static `
-Sku Standard `
-IpAddressVersion IPv4
$RdpPublicIP_2 = New-AzPublicIpAddress `
-Name "RdpPublicIP_2" `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-AllocationMethod Static `
-Sku Standard `
-IpAddressVersion IPv4
Membuat Load Balancer Standar
Di bagian ini, Anda mengonfigurasi IP frontend ganda (IPv4 dan IPv6) dan kumpulan alamat backend untuk load balancer lalu membuat Load Balancer Standar.
Membuat IP frontend
Buat IP frontend dengan New-AzLoadBalancerFrontendIpConfig. Contoh berikut membuat konfigurasi IP frontend IPv4 dan IPv6 dengan nama dsLbFrontEnd_v4 dan dsLbFrontEnd_v6:
$frontendIPv4 = New-AzLoadBalancerFrontendIpConfig `
-Name "dsLbFrontEnd_v4" `
-PublicIpAddress $PublicIP_v4
$frontendIPv6 = New-AzLoadBalancerFrontendIpConfig `
-Name "dsLbFrontEnd_v6" `
-PublicIpAddress $PublicIP_v6
Mengonfigurasi kumpulan alamat backend
Buat kumpulan alamat backend dengan New-AzLoadBalancerBackendAddressPoolConfig. Komputer virtual menempel pada kumpulan backend ini di langkah-langkah yang tersisa. Contoh berikut membuat kumpulan alamat backend bernama dsLbBackEndPool_v4 dan dsLbBackEndPool_v6 untuk menyertakan VM dengan konfigurasi IPV4 dan IPv6 NIC:
$backendPoolv4 = New-AzLoadBalancerBackendAddressPoolConfig `
-Name "dsLbBackEndPool_v4"
$backendPoolv6 = New-AzLoadBalancerBackendAddressPoolConfig `
-Name "dsLbBackEndPool_v6"
Membuat pemeriksaan kesehatan
Gunakan Add-AzLoadBalancerProbeConfig untuk membuat pemeriksaan kesehatan guna memantau kesehatan VM.
$probe = New-AzLoadBalancerProbeConfig -Name MyProbe -Protocol tcp -Port 3389 -IntervalInSeconds 15 -ProbeCount 2
Membuat aturan load balancer
Aturan load balancer digunakan untuk menentukan cara lalu lintas didistribusikan ke VM. Anda menentukan konfigurasi IP frontend untuk lalu lintas masuk, dan kumpulan IP backend untuk menerima lalu lintas, serta sumber dan port tujuan yang diperlukan. Untuk memastikan hanya VM yang sehat yang menerima lalu lintas, Anda dapat secara opsional menentukan pemeriksaan kesehatan. Load balancer dasar menggunakan probe IPv4 untuk menilai kesehatan bagi titik akhir IPv4 dan IPv6 pada VM. Load balancer standar mencakup dukungan untuk pemeriksaan kesehatan IPv6 secara eksplisit.
Buat aturan load balancer dengan Add-AzLoadBalancerRuleConfig. Contoh berikut membuat aturan load balancer dengan nama dsLBrule_v4 dan dsLBrule_v6 dan menyeimbangkan lalu lintas di TCP port 80 ke konfigurasi IP frontend IPv4 dan IPv6:
$lbrule_v4 = New-AzLoadBalancerRuleConfig `
-Name "dsLBrule_v4" `
-FrontendIpConfiguration $frontendIPv4 `
-BackendAddressPool $backendPoolv4 `
-Protocol Tcp `
-FrontendPort 80 `
-BackendPort 80 `
-probe $probe
$lbrule_v6 = New-AzLoadBalancerRuleConfig `
-Name "dsLBrule_v6" `
-FrontendIpConfiguration $frontendIPv6 `
-BackendAddressPool $backendPoolv6 `
-Protocol Tcp `
-FrontendPort 80 `
-BackendPort 80 `
-probe $probe
Membuat load balancer
Buat Load Balancer Standar dengan New-AzLoadBalancer. Contoh berikut membuat Load Balancer Dasar publik dengan nama myLoadBalancer menggunakan konfigurasi IP frontend IPv4 dan IPv6, kumpulan backend, dan aturan load balancing yang Anda buat di langkah-langkah sebelumnya:
$lb = New-AzLoadBalancer `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-Name "MyLoadBalancer" `
-Sku "Standard" `
-FrontendIpConfiguration $frontendIPv4,$frontendIPv6 `
-BackendAddressPool $backendPoolv4,$backendPoolv6 `
-LoadBalancingRule $lbrule_v4,$lbrule_v6 `
-Probe $probe
Membuat sumber daya jaringan
Sebelum menerapkan beberapa VM dan dapat menguji balancer, Anda harus membuat sumber daya jaringan pendukung - set ketersediaan, kelompok keamanan jaringan, jaringan virtual, dan NIC virtual.
Membuat set ketersediaan
Guna meningkatkan ketersediaan tinggi aplikasi Anda, tempatkan VM Anda dalam set ketersediaan.
Buat set ketersediaan dengan New-AzAvailabilitySet. Contoh berikut membuat set ketersediaan dengan nama myAvailabilitySet:
$avset = New-AzAvailabilitySet `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-Name "dsAVset" `
-PlatformFaultDomainCount 2 `
-PlatformUpdateDomainCount 2 `
-Sku aligned
Membuat kelompok keamanan jaringan
Buat grup keamanan jaringan untuk aturan yang mengatur komunikasi masuk dan keluar di VNET Anda.
Membuat aturan kelompok keamanan jaringan untuk port 3389
Buat aturan kelompok keamanan jaringan untuk mengizinkan koneksi RDP melalui port 3389 dengan New-AzNetworkSecurityRuleConfig.
$rule1 = New-AzNetworkSecurityRuleConfig `
-Name 'myNetworkSecurityGroupRuleRDP' `
-Description 'Allow RDP' `
-Access Allow `
-Protocol Tcp `
-Direction Inbound `
-Priority 100 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 3389
Buat aturan kelompok keamanan jaringan untuk port 80
Buat aturan kelompok keamanan jaringan untuk mengizinkan koneksi internet melalui port 80 dengan New-AzNetworkSecurityRuleConfig.
$rule2 = New-AzNetworkSecurityRuleConfig `
-Name 'myNetworkSecurityGroupRuleHTTP' `
-Description 'Allow HTTP' `
-Access Allow `
-Protocol Tcp `
-Direction Inbound `
-Priority 200 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 80
Membuat grup keamanan jaringan
Buat grup keamanan jaringan dengan New-AzNetworkSecurityGroup.
$nsg = New-AzNetworkSecurityGroup `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-Name "dsNSG1" `
-SecurityRules $rule1,$rule2
Membuat jaringan virtual
Buat jaringan virtual dengan New-AzVirtualNetwork. Contoh berikut membuat jaringan virtual dengan nama dsVnet dengan mySubnet:
# Create dual stack subnet
$subnet = New-AzVirtualNetworkSubnetConfig `
-Name "dsSubnet" `
-AddressPrefix "10.0.0.0/24","fd00:db8:deca:deed::/64"
# Create the virtual network
$vnet = New-AzVirtualNetwork `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-Name "dsVnet" `
-AddressPrefix "10.0.0.0/16","fd00:db8:deca::/48" `
-Subnet $subnet
Membuat NIC
Buat NIC virtual dengan New-AzNetworkInterface. Contoh berikut membuat dua NIC virtual dengan konfigurasi IPv4 dan IPv6. (Satu NIC virtual untuk setiap VM yang Anda buat untuk aplikasi Anda dalam langkah-langkah berikut).
$Ip4Config=New-AzNetworkInterfaceIpConfig `
-Name dsIp4Config `
-Subnet $vnet.subnets[0] `
-PrivateIpAddressVersion IPv4 `
-LoadBalancerBackendAddressPool $backendPoolv4 `
-PublicIpAddress $RdpPublicIP_1
$Ip6Config=New-AzNetworkInterfaceIpConfig `
-Name dsIp6Config `
-Subnet $vnet.subnets[0] `
-PrivateIpAddressVersion IPv6 `
-LoadBalancerBackendAddressPool $backendPoolv6
$NIC_1 = New-AzNetworkInterface `
-Name "dsNIC1" `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-NetworkSecurityGroupId $nsg.Id `
-IpConfiguration $Ip4Config,$Ip6Config
$Ip4Config=New-AzNetworkInterfaceIpConfig `
-Name dsIp4Config `
-Subnet $vnet.subnets[0] `
-PrivateIpAddressVersion IPv4 `
-LoadBalancerBackendAddressPool $backendPoolv4 `
-PublicIpAddress $RdpPublicIP_2
$NIC_2 = New-AzNetworkInterface `
-Name "dsNIC2" `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-NetworkSecurityGroupId $nsg.Id `
-IpConfiguration $Ip4Config,$Ip6Config
Membuat komputer virtual
Atur nama pengguna dan kata sandi administrator untuk komputer virtual dengan Get-Credential:
$cred = get-credential -Message "DUAL STACK VNET SAMPLE: Please enter the Administrator credential to log into the VMs."
Sekarang Anda dapat membuat VM dengan New-AzVM. Contoh berikut membuat dua VM dan komponen jaringan virtual yang diperlukan jika belum ada.
$vmsize = "Standard_A2"
$ImagePublisher = "MicrosoftWindowsServer"
$imageOffer = "WindowsServer"
$imageSKU = "2019-Datacenter"
$vmName= "dsVM1"
$VMconfig1 = New-AzVMConfig -VMName $vmName -VMSize $vmsize -AvailabilitySetId $avset.Id 3> $null | Set-AzVMOperatingSystem -Windows -ComputerName $vmName -Credential $cred -ProvisionVMAgent 3> $null | Set-AzVMSourceImage -PublisherName $ImagePublisher -Offer $imageOffer -Skus $imageSKU -Version "latest" 3> $null | Set-AzVMOSDisk -Name "$vmName.vhd" -CreateOption fromImage 3> $null | Add-AzVMNetworkInterface -Id $NIC_1.Id 3> $null
$VM1 = New-AzVM -ResourceGroupName $rg.ResourceGroupName -Location $rg.Location -VM $VMconfig1
$vmName= "dsVM2"
$VMconfig2 = New-AzVMConfig -VMName $vmName -VMSize $vmsize -AvailabilitySetId $avset.Id 3> $null | Set-AzVMOperatingSystem -Windows -ComputerName $vmName -Credential $cred -ProvisionVMAgent 3> $null | Set-AzVMSourceImage -PublisherName $ImagePublisher -Offer $imageOffer -Skus $imageSKU -Version "latest" 3> $null | Set-AzVMOSDisk -Name "$vmName.vhd" -CreateOption fromImage 3> $null | Add-AzVMNetworkInterface -Id $NIC_2.Id 3> $null
$VM2 = New-AzVM -ResourceGroupName $rg.ResourceGroupName -Location $rg.Location -VM $VMconfig2
Menentukan alamat IP titik akhir IPv4 dan IPv6
Dapatkan semua Objek Antarmuka Jaringan dalam grup sumber daya untuk meringkas IP yang digunakan dalam penyebaran ini dengan get-AzNetworkInterface
. Selain itu, dapatkan alamat frontend Load Balancer dari titik akhir IPv4 dan IPv6 dengan get-AzpublicIpAddress
.
$rgName= "dsRG1"
$NICsInRG= get-AzNetworkInterface -resourceGroupName $rgName
write-host `nSummary of IPs in this Deployment:
write-host ******************************************
foreach ($NIC in $NICsInRG) {
$VMid= $NIC.virtualmachine.id
$VMnamebits= $VMid.split("/")
$VMname= $VMnamebits[($VMnamebits.count-1)]
write-host `nPrivate IP addresses for $VMname
$IPconfigsInNIC= $NIC.IPconfigurations
foreach ($IPconfig in $IPconfigsInNIC) {
$IPaddress= $IPconfig.privateipaddress
write-host " "$IPaddress
IF ($IPconfig.PublicIpAddress.ID) {
$IDbits= ($IPconfig.PublicIpAddress.ID).split("/")
$PipName= $IDbits[($IDbits.count-1)]
$PipObject= get-azPublicIpAddress -name $PipName -resourceGroup $rgName
write-host " "RDP address: $PipObject.IpAddress
}
}
}
write-host `nPublic IP addresses on Load Balancer:
(get-AzpublicIpAddress -resourcegroupname $rgName | where { $_.name -notlike "RdpPublicIP*" }).IpAddress
Gambar berikut menunjukkan contoh output yang mencantumkan alamat IPv4 dan IPv6 privat dari dua VM, dan alamat IP IPv4 dan IPv6 frontend dari Load Balancer.
Lihat jaringan virtual tumpukan ganda IPv6 di portal Microsoft Azure
Anda dapat melihat jaringan virtual dual stack IPv6 di portal Microsoft Azure sebagai berikut:
- Di bilah pencarian portal, masukkan dsVnet.
- Jika dsVnet muncul dalam hasil pencarian, pilihlah. Ini akan membuka halaman Ikhtisar jaringan virtual tumpukan ganda dengan nama dsVnet. Jaringan virtual tumpukan ganda menunjukkan dua NIC dengan konfigurasi IPv4 dan IPv6 yang berada di subnet tumpukan ganda bernama dsSubnet.
Membersihkan sumber daya
Jika tidak diperlukan lagi, Anda dapat menggunakan perintah Remove-AzResourceGroup untuk menghapus grup sumber daya, VM, dan semua sumber daya terkait.
Remove-AzResourceGroup -Name dsRG1
Langkah berikutnya
Dalam artikel ini, Anda membuat Load Balancer Standar dengan konfigurasi IP frontend ganda (IPv4 dan IPv6). Anda juga membuat dua komputer virtual yang menyertakan NIC dengan konfigurasi IP ganda (IPV4 + IPv6) yang ditambahkan ke kumpulan backend load balancer. Untuk mempelajari selengkapnya tentang dukungan IPv6 di jaringan virtual Azure, baca Apa itu IPv6 untuk Azure Virtual Network?