Bagikan melalui


Load balancing pada beberapa konfigurasi IP menggunakan PowerShell

Artikel ini menjelaskan cara menggunakan Azure Load Balancer dengan beberapa alamat IP pada antarmuka jaringan sekunder (NIC). Untuk skenario ini, kami memiliki dua VM yang menjalankan Windows, masing-masing dengan NIC primer dan sekunder. Masing-masing NIC sekunder memiliki dua konfigurasi IP. Setiap VM meng-host kedua situs web contoso.com dan fabrikam.com. Setiap situs web terikat ke salah satu konfigurasi IP pada NIC sekunder. Kami menggunakan Azure Load Balancer untuk mengekspos dua alamat IP frontend, satu untuk setiap situs web, untuk mendistribusikan lalu lintas ke konfigurasi IP masing-masing untuk situs web. Skenario ini menggunakan nomor port yang sama di kedua frontend, dan kedua alamat IP kumpulan backend.

Langkah-langkah untuk melakukan load balance pada beberapa konfigurasi IP

Catatan

Sebaiknya Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Untuk memulai, lihat Menginstal Azure PowerShell. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.

Ikuti langkah-langkah di bawah ini untuk mencapai skenario yang diuraikan dalam artikel ini:

  1. Pasang Azure PowerShell. Lihat Cara memasang dan konfigurasikan Azure PowerShell untuk informasi tentang memasang versi terbaru Azure PowerShell, memilih langganan Anda, dan masuk ke akun Anda.

  2. Buat grup sumber daya menggunakan pengaturan berikut:

    $location = "westcentralus".
    $myResourceGroup = "contosofabrikam"
    

    Untuk informasi selengkapnya, lihat Langkah 2 Buat Grup Sumber Daya.

  3. Buat Set Ketersediaan untu mengisi VM Anda. Untuk skenario ini, gunakan perintah berikut:

    New-AzAvailabilitySet -ResourceGroupName "contosofabrikam" -Name "myAvailset" -Location "West Central US"
    
  4. Ikuti petunjuk langkah 3 sampai 5 di Membuat artikel Windows VM untuk menyiapkan pembuatan VM dengan satu NIC. Jalankan langkah 6.1, dan gunakan langkah berikut, bukan langkah 6.2:

    $availset = Get-AzAvailabilitySet -ResourceGroupName "contosofabrikam" -Name "myAvailset"
    New-AzVMConfig -VMName "VM1" -VMSize "Standard_DS1_v2" -AvailabilitySetId $availset.Id
    

    Kemudian selesaikan Buat Windows VM langkah 6.3 hingga 6.8.

  5. Tambahkan konfigurasi IP kedua ke masing-masing VM. Ikuti petunjuk di Menetapkan beberapa alamat IP ke artikel komputer virtual. Gunakan pengaturan konfigurasi berikut:

    $NicName = "VM1-NIC2"
    $RgName = "contosofabrikam"
    $NicLocation = "West Central US"
    $IPConfigName4 = "VM1-ipconfig2"
    $Subnet1 = Get-AzVirtualNetworkSubnetConfig -Name "mySubnet" -VirtualNetwork $myVnet
    

    Anda tidak perlu mengaitkan konfigurasi IP sekunder dengan IP publik dalam tutorial ini. Edit perintah untuk menghapus bagian asosiasi IP publik.

  6. Selesaikan langkah 4 sampai 6 artikel ini lagi untuk VM2. Pastikan untuk mengganti nama VM ke VM2 saat melakukan ini. Anda tidak perlu membuat jaringan virtual untuk VM kedua. Anda dapat membuat subnet baru berdasarkan kasus penggunaan Anda.

  7. Buat dua alamat IP publik dan simpan dalam variabel yang sesuai seperti yang ditunjukkan:

    $publicIP1 = New-AzPublicIpAddress -Name PublicIp1 -ResourceGroupName contosofabrikam -Location 'West Central US' -AllocationMethod Dynamic -DomainNameLabel contoso
    $publicIP2 = New-AzPublicIpAddress -Name PublicIp2 -ResourceGroupName contosofabrikam -Location 'West Central US' -AllocationMethod Dynamic -DomainNameLabel fabrikam
    
    $publicIP1 = Get-AzPublicIpAddress -Name PublicIp1 -ResourceGroupName contosofabrikam
    $publicIP2 = Get-AzPublicIpAddress -Name PublicIp2 -ResourceGroupName contosofabrikam
    
  8. Buat dua konfigurasi IP frontend:

    $frontendIP1 = New-AzLoadBalancerFrontendIpConfig -Name contosofe -PublicIpAddress $publicIP1
    $frontendIP2 = New-AzLoadBalancerFrontendIpConfig -Name fabrikamfe -PublicIpAddress $publicIP2
    
  9. Buat kumpulan alamat backend Anda, pemeriksaan, dan aturan load balancing Anda:

    $beaddresspool1 = New-AzLoadBalancerBackendAddressPoolConfig -Name contosopool
    $beaddresspool2 = New-AzLoadBalancerBackendAddressPoolConfig -Name fabrikampool
    
    $healthProbe = New-AzLoadBalancerProbeConfig -Name HTTP -RequestPath 'index.html' -Protocol http -Port 80 -IntervalInSeconds 15 -ProbeCount 2
    
    $lbrule1 = New-AzLoadBalancerRuleConfig -Name HTTPc -FrontendIpConfiguration $frontendIP1 -BackendAddressPool $beaddresspool1 -Probe $healthprobe -Protocol Tcp -FrontendPort 80 -BackendPort 80
    $lbrule2 = New-AzLoadBalancerRuleConfig -Name HTTPf -FrontendIpConfiguration $frontendIP2 -BackendAddressPool $beaddresspool2 -Probe $healthprobe -Protocol Tcp -FrontendPort 80 -BackendPort 80
    
  10. Setelah sumber daya ini dibuat, buat load balancer Anda:

    $mylb = New-AzLoadBalancer -ResourceGroupName contosofabrikam -Name mylb -Location 'West Central US' -FrontendIpConfiguration $frontendIP1 -LoadBalancingRule $lbrule -BackendAddressPool $beAddressPool -Probe $healthProbe
    
  11. Tambahkan kumpulan alamat backend kedua dan konfigurasi IP frontend ke load balancer yang baru dibuat:

    $mylb = Get-AzLoadBalancer -Name "mylb" -ResourceGroupName $myResourceGroup | Add-AzLoadBalancerBackendAddressPoolConfig -Name fabrikampool | Set-AzLoadBalancer
    
    $mylb | Add-AzLoadBalancerFrontendIpConfig -Name fabrikamfe -PublicIpAddress $publicIP2 | Set-AzLoadBalancer
    
    Add-AzLoadBalancerRuleConfig -Name HTTP -LoadBalancer $mylb -FrontendIpConfiguration $frontendIP2 -BackendAddressPool $beaddresspool2 -Probe $healthProbe -Protocol Tcp -FrontendPort 80 -BackendPort 80 | Set-AzLoadBalancer
    
  12. Perintah di bawah ini mendapatkan NIC dan kemudian menambahkan kedua konfigurasi IP dari setiap NIC sekunder ke kumpulan alamat backend dari load balancer:

    $nic1 = Get-AzNetworkInterface -Name "VM1-NIC2" -ResourceGroupName "MyResourcegroup";
    $nic2 = Get-AzNetworkInterface -Name "VM2-NIC2" -ResourceGroupName "MyResourcegroup";
    
    $nic1.IpConfigurations[0].LoadBalancerBackendAddressPools.Add($mylb.BackendAddressPools[0]);
    $nic1.IpConfigurations[1].LoadBalancerBackendAddressPools.Add($mylb.BackendAddressPools[1]);
    $nic2.IpConfigurations[0].LoadBalancerBackendAddressPools.Add($mylb.BackendAddressPools[0]);
    $nic2.IpConfigurations[1].LoadBalancerBackendAddressPools.Add($mylb.BackendAddressPools[1]);
    
    $mylb = $mylb | Set-AzLoadBalancer
    
    $nic1 | Set-AzNetworkInterface
    $nic2 | Set-AzNetworkInterface
    
  13. Terakhir, Anda harus mengonfigurasikan data sumber daya DNS untuk mengarahkan ke alamat IP frontend masing-masing dari Load Balancer. Anda dapat meng-host domain Anda di Azure DNS. Untuk informasi selengkapnya tentang menggunakan Azure DNS dengan Load Balancer, lihat Menggunakan Azure DNS dengan layanan Azure lainnya.

Langkah berikutnya