Mengonfigurasi load balancer Azure untuk pendengar AG VNN - SQL Server di Azure VM

Berlaku untuk:SQL Server di Azure VM

Tip

Ada banyak metode untuk menyebarkan grup ketersediaan. Sederhanakan penyebaran Anda dan hilangkan kebutuhan akan Azure Load Balancer atau nama jaringan terdistribusi (DNN) untuk grup ketersediaan AlwaysOn Anda dengan membuat komputer virtual (VM) SQL Server Anda di beberapa subnet dalam jaringan virtual Azure yang sama. Jika Anda telah membuat grup ketersediaan dalam satu subnet, Anda dapat memigrasikannya ke lingkungan multi-subnet.

Pada komputer virtual Azure, kluster menggunakan load balancer untuk menyimpan alamat IP yang perlu berada di satu node kluster sekaligus. Dalam solusi ini, load balancer menyimpan alamat IP untuk pendengar nama jaringan virtual (VNN) untuk grup ketersediaan AlwaysOn saat komputer virtual SQL Server berada dalam satu subnet.

Artikel ini mengajarkan Anda untuk mengonfigurasi load balancer dengan menggunakan layanan Azure Load Balancer. Load balancer akan merutekan lalu lintas ke pendengar grup ketersediaan Anda dengan SQL Server di Azure VM untuk ketersediaan tinggi dan pemulihan bencana (HADR).

Untuk opsi konektivitas alternatif bagi pelanggan yang berada di SQL Server 2019 CU8 dan yang lebih baru, pertimbangkan pendengar nama jaringan terdistribusi (DNN). Pendengar DNN menawarkan konfigurasi yang disederhanakan dan peningkatan failover.

Prasyarat

Sebelum Anda menyelesaikan langkah-langkah dalam artikel ini, Anda harus sudah:

Membuat penyeimbang beban

Anda dapat membuat salah satu jenis load balancer ini:

  • Internal: Load balancer internal hanya dapat diakses dari sumber daya privat yang bersifat internal ke jaringan. Saat Anda mengonfigurasi load balancer internal dan aturannya, gunakan alamat IP yang sama dengan pendengar grup ketersediaan untuk alamat IP frontend.

  • Eksternal: Load balancer eksternal dapat merutekan lalu lintas dari publik ke sumber daya internal. Saat mengonfigurasi load balancer eksternal, Anda tidak dapat menggunakan alamat IP yang sama dengan pendengar grup ketersediaan karena alamat IP pendengar tidak dapat menjadi alamat IP publik.

    Untuk menggunakan load balancer eksternal, alokasikan alamat IP secara logis di subnet yang sama dengan grup ketersediaan yang tidak bertentangan dengan alamat IP lainnya. Gunakan alamat ini sebagai alamat IP frontend untuk aturan penyeimbangan beban.

Penting

Pada 30 September 2025, SKU Dasar untuk Azure Load Balancer akan dihentikan. Untuk informasi selengkapnya, lihat pengumuman resmi. Jika saat ini Anda menggunakan Load Balancer Dasar, tingkatkan ke Load Balancer Standar sebelum tanggal penghentian. Untuk panduan, tinjau Mutakhirkan Load Balancer.

Untuk membuat load balancer:

  1. Di portal Azure, buka grup sumber daya yang berisi komputer virtual.

  2. Pilih Tambahkan. Cari Marketplace Azure untuk load balancer. Pilih Load Balancer.

  3. Pilih Buat.

  4. Di Buat load balancer, pada tab Dasar , siapkan load balancer dengan menggunakan nilai berikut:

    • Langganan: Langganan Azure Anda.
    • Grup sumber daya: Grup sumber daya yang berisi komputer virtual Anda.
    • Nama: Nama yang mengidentifikasi load balancer.
    • Wilayah: Lokasi Azure yang berisi komputer virtual Anda.
    • SKU: Standar.
    • Jenis: Baik Publik atau Internal. Load balancer internal dapat diakses dari dalam jaringan virtual. Sebagian besar aplikasi Azure dapat menggunakan load balancer internal. Jika aplikasi Anda memerlukan akses ke SQL Server langsung melalui internet, gunakan load balancer publik.
    • Tingkat: Regional.

    Screenshot of the Azure portal that shows the page for basic information about a load balancer.

  5. Pilih Berikutnya: Konfigurasi IP frontend.

  6. Pilih Tambahkan konfigurasi IP frontend.

    Screenshot of the Azure portal that shows the button for adding a frontend IP configuration.

  7. Siapkan alamat IP frontend dengan menggunakan nilai berikut:

    • Nama: Nama yang mengidentifikasi konfigurasi IP frontend.
    • Jaringan virtual: Jaringan yang sama dengan komputer virtual.
    • Subnet: Subnet yang sama dengan komputer virtual.
    • Penugasan: Statis.
    • Alamat IP: Alamat IP yang Anda tetapkan ke sumber daya jaringan terkluster.
    • Zona ketersediaan: Zona ketersediaan opsional untuk menyebarkan alamat IP Anda.

    Screenshot of the Azure portal that shows the page for configuring a frontend IP address.

  8. Pilih Tambahkan untuk membuat alamat IP frontend.

  9. Pilih Tinjau + Buat untuk membuat load balancer.

Mengonfigurasi kumpulan backend

  1. Kembali ke grup sumber daya Azure yang berisi komputer virtual dan temukan load balancer baru. Anda mungkin perlu me-refresh tampilan pada grup sumber daya. Pilih load balancer.

  2. Pilih Kumpulan backend, lalu pilih +Tambahkan.

  3. Untuk Nama, berikan nama untuk kumpulan backend.

  4. Untuk Konfigurasi Kumpulan Backend, pilih NIC.

  5. Pilih Tambahkan untuk mengaitkan kumpulan backend dengan set ketersediaan yang berisi VM.

  6. Di bawah Komputer virtual, pilih komputer virtual yang akan berpartisipasi sebagai node kluster. Pastikan untuk menyertakan semua mesin virtual yang akan menjadi host grup ketersediaan.

    Tambahkan hanya alamat IP utama dari setiap VM. Jangan tambahkan alamat IP sekunder apa pun.

  7. Pilih Tambahkan untuk menambahkan komputer virtual ke kumpulan backend.

  8. Pilih Simpan untuk membuat kumpulan backend.

Mengonfigurasi pemeriksaan kesehatan

  1. Pada panel untuk load balancer, pilih Pemeriksaan kesehatan.

  2. Pada panel Tambahkan pemeriksaan kesehatan, atur parameter berikut:

    • Nama: Nama untuk pemeriksaan kesehatan.
    • Protokol: TCP.
    • Port: Port yang Anda buat di firewall untuk pemeriksaan kesehatan. Dalam artikel ini, contoh menggunakan port TCP 59999.
    • Interval: 5 Detik.
  3. Pilih Tambahkan.

Set aturan penyeimbang muatan

  1. Pada panel untuk load balancer, pilih Aturan penyeimbangan beban.

  2. Pilih Tambahkan.

  3. Atur parameter ini:

    • Nama: Nama untuk aturan penyeimbangan beban.
    • Alamat IP frontend: Alamat IP yang Anda tetapkan saat mengonfigurasi frontend.
    • Kumpulan backend: Kumpulan backend yang berisi komputer virtual yang ditargetkan untuk load balancer.
    • Port HA: Memungkinkan penyeimbangan beban pada semua port untuk protokol TCP dan UDP.
    • Protokol: TCP.
    • Port: Port SQL Server TCP. Defaultnya adalah 1433.
    • Port backend: Port yang sama dengan nilai Port ketika Anda mengaktifkan Floating IP (pengembalian server langsung).
    • Pemeriksaan kesehatan: Pemeriksaan kesehatan yang telah Anda konfigurasikan sebelumnya.
    • Persistensi sesi: Tidak ada.
    • Batas waktu menganggur (menit): 4.
    • Floating IP (pengembalian server langsung): Aktif.
  4. Pilih Simpan.

Mengonfigurasi pemeriksaan kluster

Atur parameter port pemeriksaan kluster di PowerShell.

Perbarui variabel dalam skrip berikut dengan nilai dari lingkungan Anda. Lepaskan kurung sudut (< dan >) dari skrip.

$ClusterNetworkName = "<Cluster Network Name>"
$IPResourceName = "<AG Listener IP Address Resource Name>" 
$ILBIP = "<n.n.n.n>" 
[int]$ProbePort = <nnnnn>

Import-Module FailoverClusters

Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ILBIP";"ProbePort"=$ProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}

Tabel berikut ini menjelaskan nilai yang perlu Anda perbarui:

Variabel Nilai
ClusterNetworkName Nama kluster failover Windows Server untuk jaringan. Pada Jaringan Manajer>Kluster Failover, klik kanan jaringan dan pilih Properti. Nilai yang benar ada di bawah Nama pada tab Umum.
IPResourceName Nama sumber daya untuk alamat IP pendengar AG. Di Manajer Kluster Failover>Peran, di bawah peran grup ketersediaan, di bawah Nama Server, klik kanan sumber daya alamat IP dan pilih Properti. Nilai yang benar ada di bawah Nama pada tab Umum.
ILBIP Alamat IP load balancer internal. Alamat ini dikonfigurasi dalam portal Azure sebagai alamat frontend dari load balancer internal. Gunakan alamat IP yang sama dengan pendengar grup ketersediaan. Anda dapat menemukannya di Manajer Kluster Failover, pada halaman properti yang sama tempat Anda menemukan nilai untuk IPResourceName.
ProbePort Port probe yang Anda konfigurasikan di probe kesehatan load balancer. Port TCP apa pun yang tidak digunakan bersifat valid.
SubnetMask Subnet mask untuk parameter kluster. Ini harus berupa alamat siaran TCP/IP: 255.255.255.255.

Perubahan yang Anda buat tidak berlaku sampai sumber daya alamat IP diambil offline dan dibawa online lagi. Lakukan failover grup ketersediaan agar perubahan ini berlaku. Setelah Anda menetapkan pemeriksaan kluster, Anda dapat melihat semua parameter kluster di PowerShell. Jalankan skrip ini:

Get-ClusterResource $IPResourceName | Get-ClusterParameter

Mengubah string koneksi

Untuk klien yang mendukungnya, tambahkan MultiSubnetFailover=True ke string koneksi. MultiSubnetFailover Meskipun opsi koneksi tidak diperlukan, opsi ini memberikan manfaat dari failover subnet yang lebih cepat. Ini karena driver klien mencoba membuka soket TCP untuk setiap alamat IP secara paralel. Driver klien menunggu alamat IP pertama untuk merespons dengan sukses. Setelah respons berhasil, driver klien menggunakan alamat IP tersebut untuk koneksi.

Jika klien Anda tidak mendukung MultiSubnetFailover parameter , Anda dapat mengubah RegisterAllProvidersIP pengaturan dan HostRecordTTL untuk mencegah penundaan konektivitas setelah failover.

Gunakan PowerShell untuk mengubah RegisterAllProvidersIp pengaturan dan HostRecordTTL :

Get-ClusterResource yourListenerName | Set-ClusterParameter RegisterAllProvidersIP 0  
Get-ClusterResource yourListenerName|Set-ClusterParameter HostRecordTTL 300 

Untuk mempelajari selengkapnya, lihat dokumentasi tentang batas waktu koneksi pendengar di SQL Server.

Tip

  • Atur MultiSubnetFailover parameter ke true dalam string koneksi, bahkan untuk solusi HADR yang mencakup satu subnet. Pengaturan ini mendukung rentang subnet di masa mendatang tanpa perlu memperbarui string koneksi.
  • Secara default, klien meng-cache kluster rekaman DNS selama 20 menit. Dengan mengurangi HostRecordTTL, Anda mengurangi waktu hidup (TTL) untuk rekaman yang di-cache. Klien warisan kemudian dapat terhubung kembali dengan lebih cepat. Dengan demikian, mengurangi HostRecordTTL pengaturan dapat meningkatkan lalu lintas ke server DNS.

Menguji failover

Uji failover sumber daya berkluster untuk memvalidasi fungsionalitas kluster:

  1. Buka SQL Server Management Studio dan sambungkan ke pendengar grup ketersediaan Anda.
  2. Di Object Explorer, perluas Grup Ketersediaan AlwaysOn.
  3. Klik kanan grup ketersediaan dan pilih Kegagalan.
  4. Ikuti perintah wizard untuk melakukan kegagalan grup ketersediaan ke replika sekunder.

Kegagalan berhasil ketika replika beralih peran dan keduanya disinkronkan.

Uji konektivitas

Untuk menguji konektivitas, masuk ke komputer virtual lain dalam jaringan virtual yang sama. Buka SQL Server Management Studio dan sambungkan ke pendengar grup ketersediaan.

Catatan

Jika perlu, Anda dapat mengunduh SQL Server Management Studio.

Langkah berikutnya

Setelah VNN dibuat, pertimbangkan untuk mengoptimalkan pengaturan kluster untuk komputer virtual SQL Server.

Untuk mempelajari selengkapnya, lihat: