Mengonfigurasi load balancer Azure untuk FCI 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 nama jaringan virtual (VNN) yang digunakan sumber daya berkluster di Azure.

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

Untuk opsi konektivitas alternatif untuk SQL Server 2019 CU2 dan yang lebih baru, pertimbangkan nama jaringan terdistribusi (DNN) sebagai gantinya. 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 FCI sebagai alamat IP front-end.

  • 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 publik seperti alamat IP FCI.

    Untuk menggunakan load balancer eksternal, alokasikan alamat IP secara logis di subnet yang sama dengan FCI yang tidak bertentangan dengan alamat IP lainnya. Gunakan alamat ini sebagai alamat IP front-end untuk aturan penyeimbangan beban.

Untuk membuat load balancer:

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

  2. Pilih Tambahkan. Cari Azure Marketplace 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 front-end IP configuration.

  7. Siapkan alamat IP front-end dengan menggunakan nilai berikut:

    • Nama: Nama yang mengidentifikasi konfigurasi IP front-end.
    • 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 front-end IP address.

  8. Pilih Tambahkan untuk membuat alamat IP front-end.

  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 komputer virtual yang akan menghosting FCI.

    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 saat menyiapkan VM. 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 = "<SQL Server FCI 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 Value
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 SQL Server FCI. Di Peran Manajer>Kluster Failover, di bawah peran FCI SQL Server, 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 di portal Microsoft Azure sebagai alamat frontend penyeimbang muatan internal. Ini juga merupakan alamat IP dari SQL Server FCI. Anda dapat menemukannya di Manajer Kluster Failover, pada halaman properti yang sama tempat Anda menemukan nilai untuk IPResourceName.
ProbePort Port pemeriksaan yang Anda konfigurasikan di pemeriksaan 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.

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 yourFCIname | Set-ClusterParameter RegisterAllProvidersIP 0  
Get-ClusterResource yourFCIname | 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.

Pengujian failover

Uji failover sumber daya berkluster untuk memvalidasi fungsionalitas kluster:

  1. Sambungkan ke salah satu node kluster SQL Server dengan menggunakan Protokol Desktop Jarak Jauh (RDP).
  2. Buka Pengelola Kluster Failover. Pilih Peran. Perhatikan simpul mana yang memiliki peran SQL Server FCI.
  3. Klik kanan peran SQL Server FCI.
  4. Pilih Pindahkan, lalu pilih Kemungkinan Simpul Terbaik.

Pengelola Kluster Failover menunjukkan peran, dan sumber dayanya menjadi offline. Sumber daya kemudian berpindah dan kembali menjadi daring di simpul lain.

Uji konektivitas

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

Catatan

Jika perlu, Anda dapat mengunduh SQL Server Management Studio.

Langkah berikutnya

Untuk mempelajari selengkapnya, lihat: