Bagikan melalui


Menyebarkan aplikasi tumpukan ganda IPv6 menggunakan Load Balancer Internal Standar di Azure menggunakan PowerShell

Artikel ini menunjukkan kepada Anda cara menyebarkan aplikasi tumpukan ganda (IPv4 + IPv6) di Azure yang mencakup jaringan virtual tumpukan ganda dan subnet, Load Balancer Internal Standar dengan konfigurasi frontend ganda (IPv4 + IPv6), VM dengan NIC yang memiliki konfigurasi IP ganda, grup keamanan jaringan, dan IP publik.

Prosedur untuk membuat Load Balancer Internal berkemampuan IPv6 hampir identik dengan proses untuk membuat Load Balancer IPv6 yang menghadap internet dijelaskan di sini. Satu-satunya perbedaan untuk membuat load balancer internal adalah dalam konfigurasi frontend seperti yang diilustrasikan dalam contoh PowerShell di bawah ini:

 $frontendIPv6 = New-AzLoadBalancerFrontendIpConfig `
 -Name "dsLbFrontEnd_v6" `
 -PrivateIpAddress "fd00:db8:deca:deed::100" `
 -PrivateIpAddressVersion "IPv6" `
 -Subnet $DsSubnet

Perubahan yang membuat konfigurasi frontend load balancer internal di atas adalah:

  • PrivateIpAddressVersion ditentukan sebagai “IPv6”
  • -PublicIpAddressArgumen telah dihilangkan atau diganti dengan -PrivateIpAddress. Perhatikan bahwa alamat pribadi harus berada di rentang ruang IP Subnet tempat load balancer internal akan disebarkan. Jika -PrivateIpAddress statis dihilangkan, alamat IPv6 bebas berikutnya akan dipilih dari subnet tempat load balancer internal disebarkan.
  • Subnet tumpukan ganda di mana load balancer internal akan digunakan ditentukan dengan argumen -Subnet atau -SubnetId.

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. Screenshot that shows an example of Try It for Azure Cloud Shell.
Buka https://shell.azure.com, atau pilih tombol Luncurkan Cloud Shell untuk membuka Cloud Shell di browser Anda. Button to launch Azure Cloud Shell.
Pilih tombol Cloud Shell pada bilah menu di kanan atas di portal Microsoft Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Untuk menggunakan Azure Cloud Shell:

  1. Mulai Cloud Shell.

  2. Pilih tombol Salin pada blok kode (atau blok perintah) untuk menyalin kode atau perintah.

  3. 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.

  4. 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 perlu 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 dsStd_ILB_RG di lokasi us timur:

$rg = New-AzResourceGroup `
  -ResourceGroupName "dsStd_ILB_RG"  `
  -Location "east us"

Membuat alamat IP publik IPv4 dan IPv6

Untuk mengakses mesin virtual Anda dari Internet, Anda memerlukan alamat IP publik IPv4 dan IPv6 untuk VM. Buat alamat IP publik dengan New-AzPublicIpAddress. Contoh berikut membuat alamat IP publik IPv4 dan IPv6 bernama RdpPublicIP_1 dan RdpPublicIP_2 dalam grup sumber daya dsStd_ILB_RG:

$RdpPublicIP_1 = New-AzPublicIpAddress `
  -Name "RdpPublicIP_1" `
  -ResourceGroupName $rg.ResourceGroupName `
  -Location $rg.Location  `
  -AllocationMethod Static `
  -IpAddressVersion IPv4  `
  -sku Standard
  
$RdpPublicIP_2 = New-AzPublicIpAddress `
  -Name "RdpPublicIP_2" `
  -ResourceGroupName $rg.ResourceGroupName `
  -Location $rg.Location  `
  -AllocationMethod Static `
  -IpAddressVersion IPv6  `
  -sku Standard

Buat jaringan virtual dan subnet

Buat jaringan virtual menggunakan New-AzVirtualNetwork dengan tumpukan ganda konfigurasi subnet menggunakan New-AzVirtualNetworkSubnetConfig. Contoh berikut membuat jaringan virtual dengan nama dsVnet dengan dsSubnet.

# Create dual stack subnet config
$DsSubnet = 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 $DsSubnet

#Refresh the fully populated subnet for use in load balancer frontend configuration
$DsSubnet = get-AzVirtualNetworkSubnetconfig -name dsSubnet -VirtualNetwork $vnet

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" `
  -PrivateIpAddress "10.0.0.100"  `
  -PrivateIpAddressVersion "IPv4"   `
  -Subnet $DsSubnet

$frontendIPv6 = New-AzLoadBalancerFrontendIpConfig `
  -Name "dsLbFrontEnd_v6" `
  -PrivateIpAddress "fd00:db8:deca:deed::100"  `
  -PrivateIpAddressVersion "IPv6"   `
  -Subnet $DsSubnet

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 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

$lbrule_v6 = New-AzLoadBalancerRuleConfig `
  -Name "dsLBrule_v6" `
  -FrontendIpConfiguration $frontendIPv6 `
  -BackendAddressPool $backendPoolv6 `
  -Protocol Tcp `
  -FrontendPort 80 `
  -BackendPort 80

Membuat load balancer

Buat Load Balancer Standar dengan New-AzLoadBalancer. Contoh berikut membuat Load Balancer Dasar publik dengan nama myInternalLoadBalancer 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  "MyInternalLoadBalancer"  `
  -Sku "Standard"  `
  -FrontendIpConfiguration  $frontendIPv4,$frontendIPv6  `
  -BackendAddressPool  $backendPoolv4,$backendPoolv6  `
  -LoadBalancingRule  $lbrule_v4,$lbrule_v6

Membuat sumber daya jaringan

Sebelum menyebarkan beberapa VM dan dapat menguji balancer, Anda harus membuat sumber daya jaringan pendukung - set ketersediaan, kelompok keamanan jaringan, dan NIC virtual.

Membuat set ketersediaan

Guna meningkatkan ketersediaan aplikasi, tempatkan VM Anda dalam set ketersediaan.

Buat set ketersediaan dengan New-AzAvailabilitySet. Contoh berikut membuat set ketersediaan dengan nama dsAVset:

$avset = New-AzAvailabilitySet `
  -ResourceGroupName $rg.ResourceGroupName `
  -Location $rg.Location  `
  -Name "dsAVset" `
  -PlatformFaultDomainCount 2 `
  -PlatformUpdateDomainCount 2 `
  -Sku aligned

Membuat kelompok keamanan jaringan

Buat kelompok keamanan jaringan untuk aturan yang akan mengatur komunikasi masuk dan keluar dalam 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 80 `
  -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 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).


# Create the IPv4 configuration for NIC 1
$Ip4Config=New-AzNetworkInterfaceIpConfig `
  -Name dsIp4Config `
  -Subnet $vnet.subnets[0] `
  -PrivateIpAddressVersion IPv4 `
  -LoadBalancerBackendAddressPool $backendPoolv4 `
  -PublicIpAddress  $RdpPublicIP_1

# Create the IPv6 configuration
$Ip6Config=New-AzNetworkInterfaceIpConfig `
  -Name dsIp6Config `
  -Subnet $vnet.subnets[0] `
  -PrivateIpAddressVersion IPv6 `
  -LoadBalancerBackendAddressPool $backendPoolv6

# Create NIC 1
$NIC_1 = New-AzNetworkInterface `
  -Name "dsNIC1" `
  -ResourceGroupName $rg.ResourceGroupName `
  -Location $rg.Location  `
  -NetworkSecurityGroupId $nsg.Id `
  -IpConfiguration $Ip4Config,$Ip6Config

# Create the IPv4 configuration for NIC 2
$Ip4Config=New-AzNetworkInterfaceIpConfig `
  -Name dsIp4Config `
  -Subnet $vnet.subnets[0] `
  -PrivateIpAddressVersion IPv4 `
  -LoadBalancerBackendAddressPool $backendPoolv4 `
  -PublicIpAddress  $RdpPublicIP_2

# Create NIC 2 reusing the IPv6 configuration from NIC 1
$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 VM's"

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

Lihat jaringan virtual tumpukan ganda IPv6 di portal Microsoft Azure

Anda dapat melihat jaringan virtual dual stack IPv6 di portal Microsoft Azure sebagai berikut:

  1. Di bilah pencarian portal, masukkan dsVnet.
  2. 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.

IPv6 Dual Stack Virtual Network with Standard Internal Load Balancer

Catatan

IPv6 untuk jaringan virtual Azure tersedia di portal Azure dalam mode baca-saja untuk rilis pratinjau ini.

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 dsStd_ILB_RG

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?