Mengonfigurasi grup failover otomatis untuk Azure SQL Managed Instance

BERLAKU UNTUK: Azure SQL Database Azure SQL Managed Instance

Topik ini mengajarkan Anda cara melakukan konfigurasi grup failover otomatis untuk Azure SQL Managed Instance menggunakan portal Azure dan Azure PowerShell. Untuk pengalaman end-to-end, lihat Tutorial grup failover otomatis.

Catatan

Artikel ini mencakup grup failover otomatis untuk Azure SQL Managed Instance. Untuk Azure SQL Database, lihat Konfigurasi grup failover otomatis di SQL Database.

Prasyarat

Pertimbangkan prasyarat berikut:

  • Instans terkelola sekunder harus kosong.
  • Rentang subnet untuk jaringan virtual sekunder tidak boleh tumpang tindih dengan rentang subnet jaringan virtual utama.
  • Kolase dan zona waktu instans terkelola sekunder harus cocok dengan instans terkelola utama.
  • Saat menyambungkan dua gateway, Kunci Bersama harus sama untuk kedua koneksi.
  • Anda perlu mengonfigurasi ExpressRoute atau membuat gateway untuk jaringan virtual setiap SQL Managed Instance, menyambungkan dua gateway, lalu membuat grup kegagalan.
  • Sebarkan kedua instans terkelola ke wilayah yang dipasangkan karena alasan performa. Instans terkelola yang berada di wilayah berpasangan geografis memiliki performa yang jauh lebih baik dibandingkan dengan wilayah yang tidak berpasangan.

Buat gateway jaringan virtual utama

Jika Anda belum mengonfigurasi ExpressRoute, Anda dapat membuat gateway jaringan virtual utama dengan portal Microsoft Azure, atau PowerShell.

Catatan

SKU gateway memengaruhi performa throughput. Artikel ini menyebarkan gateway dengan SKU paling dasar (HwGw1). Sebarkan SKU yang lebih tinggi (misalnya: VpnGw3) untuk mencapai throughput yang lebih tinggi. Untuk semua opsi yang tersedia, lihat SKU Gateway

Membuat gateway jaringan virtual utama menggunakan portal Microsoft Azure.

  1. Di portal Microsoft Azure, buka grup sumber daya Anda dan pilih sumber daya Jaringan virtual untuk instans terkelola utama Anda.

  2. Pilih Subnet di bawah Pengaturan lalu pilih untuk menambahkan Subnet gateway baru. Biarkan nilai tetapi default.

    Add gateway for primary managed instance

  3. Setelah gateway subjaringan dibuat, pilih Buat sumber daya dari panel navigasi kiri lalu ketik Virtual network gateway di kotak pencarian. Pilih sumber daya Gateway jaringan virtual yang diterbitkan oleh Microsoft.

    Create a new virtual network gateway

  4. Isi bidang yang diperlukan untuk mengonfigurasi gateway instans terkelola utama Anda.

    Tabel berikut ini memperlihatkan nilai yang diperlukan untuk gateway untuk instans terkelola utama:

    Bidang Nilai
    Langganan Langganan tempat instans terkelola utama Anda berada.
    Nama Nama untuk gateway jaringan virtual Anda.
    Wilayah Wilayah tempat instans terkelola utama Anda berada.
    Jenis gateway Pilih VPN.
    Jenis VPN Pilih Berbasis rute
    SKU Biarkan default VpnGw1.
    Lokasi Lokasi tempat instans terkelola sekunder dan jaringan virtual sekunder Anda berada.
    Jaringan virtual Pilih jaringan virtual untuk instans terkelola sekunder Anda.
    Alamat IP Publik Pilih Buat baru.
    Nama alamat IP publik Masukkan nama untuk alamat IP Anda.
  5. Biarkan nilai lain sebagai default, lalu pilih Ulas + buat untuk mengulas pengaturan untuk gateway jaringan virtual Anda.

    Primary gateway settings

  6. Pilih Buat untuk membuat gateway jaringan virtual baru Anda.

Membuat gateway jaringan virtual sekunder

Membuat gateway jaringan virtual sekunder menggunakan portal Microsoft Azure atau PowerShell.

Ulangi langkah-langkah di bagian sebelumnya untuk membuat subnet dan gateway jaringan virtual untuk instans terkelola sekunder. Isi bidang yang diperlukan untuk mengonfigurasi gateway instans terkelola sekunder Anda.

Tabel berikut ini memperlihatkan nilai yang diperlukan untuk gateway untuk instans terkelola sekunder:

Bidang Nilai
Langganan Langganan tempat instans terkelola sekunder Anda berada.
Nama Nama untuk gateway jaringan virtual Anda, seperti secondary-mi-gateway.
Wilayah Wilayah tempat instans terkelola sekunder Anda berada.
Jenis gateway Pilih VPN.
Jenis VPN Pilih Berbasis rute
SKU Biarkan default VpnGw1.
Lokasi Lokasi tempat instans terkelola sekunder dan jaringan virtual sekunder Anda berada.
Jaringan virtual Pilih jaringan virtual yang dibuat di bagian 2, seperti vnet-sql-mi-secondary.
Alamat IP Publik Pilih Buat baru.
Nama alamat IP publik Masukkan nama untuk alamat IP Anda, seperti secondary-gateway-IP.

Secondary gateway settings

Sambungkan gateway

Buat koneksi antara dua gateway menggunakan portal Microsoft Azure atau PowerShell.

Dua koneksi perlu dibuat - koneksi dari gateway utama ke gateway sekunder, lalu koneksi dari gateway sekunder ke gateway utama.

Kunci bersama yang digunakan untuk kedua koneksi harus sama untuk setiap koneksi.

Membuat koneksi antara dua gateway menggunakan portal Microsoft Azure.

  1. Pilih Buat sumber daya dari portal Microsoft Azure.

  2. Ketik connection di kotak pencarian lalu tekan enter untuk mencari, yang membawa Anda ke sumber daya Koneksi, yang diterbitkan oleh Microsoft.

  3. Pilih Buat untuk membuat koneksi Anda.

  4. Pada tab Dasar, pilih nilai berikut ini lalu pilih OK.

    1. Pilih VNet-to-VNet untuk Jenis koneksi.
    2. Pilih langganan Anda dari drop-down.
    3. Pilih grup sumber daya untuk instans terkelola Anda di drop-down.
    4. Pilih lokasi instans terkelola utama Anda dari drop-down.
  5. Pada tab Pengaturan, pilih atau masukkan nilai berikut ini lalu pilih OK:

    1. Pilih gateway jaringan utama untuk Gateway jaringan virtual pertama, seperti Primary-Gateway.
    2. Pilih gateway jaringan sekunder untuk Gateway jaringan virtual kedua, seperti Secondary-Gateway.
    3. Pilih kotak centang di samping Buat konektivitas dua arah.
    4. Biarkan nama koneksi utama default, atau ganti namanya menjadi nilai pilihan Anda.
    5. Berikan Kunci bersama (PSK) untuk koneksi, seperti mi1m2psk.

    Create gateway connection

  6. Pada tab Ringkasan, ulas pengaturan untuk koneksi dua arah Anda lalu pilih OK untuk membuat koneksi Anda.

Buat grup kegagalan

Membuat grup kegagalan dan menambahkan kumpulan elastis ke dalamnya menggunakan portal Microsoft Azure atau PowerShell.

Membuat grup kegagalan untuk SQL Managed Instances Anda menggunakan portal Microsoft Azure.

  1. Pilih Azure SQL di menu sebelah kiri portal Microsoft Azure. Jika Azure SQL tidak ada dalam daftar, pilih Semua layanan, lalu ketik Azure SQL di kotak pencarian. (Opsional) Pilih bintang di samping Azure SQL untuk menyukainya dan menambahkannya sebagai item di navigasi sebelah kiri.

  2. Pilih instans terkelola utama yang ingin Anda tambahkan ke grup kegagalan.

  3. Di bawah Pengaturan, navigasikan ke Grup Kegagalan Instans lalu pilih Tambahkan grup untuk membuka halaman Grup Kegagalan Instans.

    Add a failover group

  4. Pada halaman Grup Kegagalan Instans, ketik nama grup kegagalan Anda lalu pilih instans terkelola sekunder dari drop-down. Pilih Buat untuk membuat grup kegagalan Anda.

    Create failover group

  5. Setelah penyebaran grup failover selesai, Anda akan dibawa kembali ke halaman Grup failover.

Menguji kegagalan

Menguji grup kegagalan Anda menggunakan portal Microsoft Azure atau PowerShell.

Menguji grup kegagalan Anda menggunakan portal Microsoft Azure.

  1. Navigasikan ke instans terkelola sekunder Anda di dalam portal Microsoft Azure dan pilih Grup Kegagalan Instans di bawah pengaturan.

  2. Ulas instans terkelola mana yang merupakan utama, dan instans terkelola mana yang merupakan yang sekunder.

  3. Pilih Kegagalan lalu pilih Ya pada peringatan tentang sesi TDS yang terputus.

    Fail over the failover group

  4. Ulas instans terkelola mana yang merupakan utama, dan instans terkelola mana yang merupakan yang sekunder. Jika kegagalan berhasil, kedua instans harus telah beralih peran.

    Managed instances have switched roles after failover

  5. Buka instans terkelola sekunder baru dan pilih Kegagalan sekali lagi untuk menggagalkan kembali instans utama ke peran utama.

Lokasikan titik akhir pendengar

Setelah grup kegagalan Anda dikonfigurasi, perbarui string koneksi untuk aplikasi Anda ke titik akhir pendengar. Ini akan membuat aplikasi Anda tetap tersambung ke pendengar grup kegagalan, bukan database utama, kumpulan elastis, atau database instans. Dengan demikian, Anda tidak perlu memperbarui string koneksi secara manual setiap kali entitas database Anda gagal, dan lalu lintas dirutekan ke entitas mana pun yang saat ini menjadi utama.

Titik akhir pendengar dalam bentuk fog-name.database.windows.net, dan terlihat di portal Microsoft Azure, saat melihat grup kegagalan:

Failover group connection string

Membuat grup di antara instans pada langganan yang berbeda

Anda dapat membuat grup failover antara SQL Managed Instance dalam dua langganan berbeda, selama langganan dikaitkan dengan Penyewa Azure Active Directory yang sama. Saat menggunakan PowerShell API, Anda dapat melakukannya dengan menentukan parameter PartnerSubscriptionId untuk SQL Managed Instance sekunder. Saat menggunakan REST API, setiap ID instans yang disertakan dalam parameter properties.managedInstancePairs dapat memiliki ID langganan sendiri.

Penting

Portal Azure tidak mendukung pembuatan grup failover di berbagai langganan. Selain itu, untuk grup failover yang sudah ada di berbagai langganan dan/atau grup sumber daya, failover tidak dapat dimulai secara manual melalui portal dari SQL Managed Instance utama. Sebagai gantinya, mulai dari instans geo-sekunder.

Mengubah wilayah sekunder

Mari kita asumsikan bahwa instans A adalah instans utama, instans B adalah instans sekunder yang ada, dan instans C adalah instans sekunder baru di wilayah ketiga. Untuk melakukan transisi, ikuti langkah-langkah berikut:

  1. Buat instans C dengan ukuran yang sama dengan A dan di zona DNS yang sama.
  2. Hapus grup failover antara instans A dan B. Pada titik ini, upaya masuk akan gagal karena alias SQL untuk pendengar grup failover telah dihapus dan gateway tidak akan mengenali nama grup failover. Database sekunder akan terputus dari database primer dan akan menjadi database baca-tulis.
  3. Buat grup failover dengan nama yang sama antara instans A dan C. Ikuti instruksi dalam tutorial grup failover dengan SQL Managed Instance. Ini adalah operasi ukuran data dan akan selesai ketika semua database dari instans A disemai dan disinkronkan.
  4. Hapus instans B jika tidak diperlukan untuk menghindari biaya yang tidak perlu.

Catatan

Setelah langkah 2 dan sampai langkah 3 selesai, database di instans A akan tetap tidak terlindungi dari kegagalan fatal instans A.

Mengubah wilayah utama

Mari kita asumsikan bahwa instans A adalah instans utama, instans B adalah instans sekunder yang sudah ada, dan instans C adalah instans sekunder baru di wilayah ketiga. Untuk melakukan transisi, ikuti langkah-langkah berikut:

  1. Buat instans C dengan ukuran yang sama dengan B dan di zona DNS yang sama.
  2. Hubungkan ke instans B dan failover secara manual untuk mengalihkan instans utama ke B. Instans A akan menjadi instans sekunder baru secara otomatis.
  3. Hapus grup failover antara instans A dengan B. Pada titik ini upaya login menggunakan titik akhir grup failover akan gagal. Database sekunder akan terputus dari database primer dan akan menjadi database baca-tulis.
  4. Buat grup failover dengan nama yang sama antara instans A dan C. Ikuti instruksi dalam tutorial grup failover dengan instans terkelola. Ini adalah operasi ukuran data dan akan selesai ketika semua database dari instans A disemai dan disinkronkan. Pada titik ini upaya login akan berhenti gagal.
  5. Hapus instans A jika tidak diperlukan untuk menghindari biaya yang tidak perlu.

Perhatian

Setelah langkah 3 dan sampai langkah 4 selesai, database instans A akan tetap tidak terlindungi dari kegagalan fatal instans A.

Penting

Saat grup failover dihapus, catatan DNS untuk titik akhir pendengar juga dihapus. Pada saat itu, ada kemungkinan non-nol orang lain membuat grup failover dengan nama yang sama. Karena nama grup failover harus unik secara global, ini akan mencegah Anda menggunakan nama yang sama lagi. Untuk meminimalkan risiko, jangan gunakan nama grup failover yang umum.

Mengaktifkan replikasi geografis antar jaringan virtual MI

Saat Anda menyiapkan grup failover antara SQL Managed Instance di dua wilayah berbeda, setiap instans diisolasi menggunakan jaringan virtual independen. Untuk mengizinkan lalu lintas replikasi antara VNet ini, pastikan prasyarat ini terpenuhi:

  • Dua instans SQL Managed Instance harus berada di wilayah Azure yang berbeda.

  • Dua instans SQL Managed Instance harus berupa tingkat layanan yang sama, dan memiliki ukuran penyimpanan yang sama.

  • Instans sekunder SQL Managed Instance Anda harus kosong (tanpa database pengguna).

  • Jaringan virtual yang digunakan oleh instans SQL Managed Instance perlu terhubung melalui VPN Gateway atau Rute Ekspres. Ketika dua jaringan virtual terhubung melalui jaringan lokal, pastikan tidak ada port pemblokiran aturan firewall 5022, dan 11000-11999. Global VNet Peering didukung dengan batasan yang dijelaskan dalam catatan di bawah ini.

    Penting

    Pada tanggal 22-9-2020, kami mengumumkan peering jaringan virtual global untuk klaster virtual yang baru dibuat. Hal ini berarti bahwa peering jaringan virtual global didukung untuk instans terkelola SQL yang dibuat dalam subnet kosong setelah tanggal pengumuman, serta untuk semua instans terkelola berikutnya yang dibuat di subnet tersebut. Untuk semua instans terkelola SQL lainnya, dukungan peering terbatas pada jaringan di wilayah yang sama karena batasan peering jaringan virtual global. Lihat juga bagian yang relevan dari artikel pertanyaan umum tentang Azure Virtual Networks untuk detail selengkapnya. Agar dapat menggunakan peering jaringan virtual global untuk instans terkelola SQL dari kluster virtual yang dibuat sebelum tanggal pengumuman, pertimbangkan untuk mengonfigurasi jendela pemeliharaan pada instans karena hal tersebut akan memindahkan instans ke kluster virtual baru yang mendukung peering jaringan virtual global.

  • Dua VNet SQL Managed Instance tidak dapat memiliki alamat IP yang tumpang tindih.

  • Anda harus menyiapkan Grup Keamanan Jaringan (Network Security Groups/NSG) sedemikian rupa sehingga port 5022 dan rentang 11000~12000 terbuka masuk dan keluar untuk sambungan dari subnet instans terkelola lainnya. Hal ini memungkinkan lalu lintas replikasi antar-instans.

    Penting

    Aturan keamanan NSG yang salah dikonfigurasi menyebabkan operasi salinan database macet.

  • SQL Managed Instance sekunder dikonfigurasi dengan ID zona DNS yang sama sebagai yang utama. Zona DNS adalah milik SQL Managed Instance dan klaster virtual yang mendasarinya, dan ID-nya disertakan dalam alamat nama host. ID zona dihasilkan sebagai string acak ketika SQL Managed Instance pertama dibuat di setiap VNet dan ID yang sama ditetapkan ke semua instans lain dalam subnet yang sama. Setelah ditetapkan, zona DNS tidak dapat dimodifikasi. SQL Managed Instance yang disertakan dalam grup failover yang sama harus berbagi zona DNS. Anda dapat menyelesaikan ini dengan meneruskan ID zona instans utama sebagai nilai parameter DnsZonePartner saat membuat instans sekunder.

    Catatan

    Untuk tutorial terperinci tentang cara mengonfigurasi grup failover dengan SQL Managed Instance, lihat menambahkan SQL Managed Instance ke grup failover.

Izin

Izin untuk grup failover dikelola melalui kontrol akses berbasis peran Azure (Azure RBAC).

Akses tulis RBAC Azure sangat diperlukan untuk membuat dan mengelola grup failover. Kontributor SQL Managed Instance memiliki semua izin yang diperlukan untuk mengelola grup failover.

Tabel berikut mencantumkan cakupan izin khusus untuk Azure SQL Managed Instance:

Aksi Izin Cakupan
Membuat grup kegagalan Akses tulis RBAC Azure Instans terkelola primer
Instans terkelola sekunder
Perbarui grup failover Akses tulis RBAC Azure Grup Failover
Semua database dalam instans terkelola
Melakukan failover pada grup failover Akses tulis RBAC Azure Grup Failover pada instans terkelola utama baru

Langkah berikutnya

Untuk langkah-langkah mendetail mengonfigurasi grup kegagalan, lihat tutorial berikut:

Untuk gambaran umum fitur, lihat grup auto-failover.