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.
Di portal Microsoft Azure, buka grup sumber daya Anda dan pilih sumber daya Jaringan virtual untuk instans terkelola utama Anda.
Pilih Subnet di bawah Pengaturan lalu pilih untuk menambahkan Subnet gateway baru. Biarkan nilai tetapi default.

Setelah gateway subjaringan dibuat, pilih Buat sumber daya dari panel navigasi kiri lalu ketik
Virtual network gatewaydi kotak pencarian. Pilih sumber daya Gateway jaringan virtual yang diterbitkan oleh Microsoft.
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. Biarkan nilai lain sebagai default, lalu pilih Ulas + buat untuk mengulas pengaturan untuk gateway jaringan virtual Anda.

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

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.
Pilih Buat sumber daya dari portal Microsoft Azure.
Ketik
connectiondi kotak pencarian lalu tekan enter untuk mencari, yang membawa Anda ke sumber daya Koneksi, yang diterbitkan oleh Microsoft.Pilih Buat untuk membuat koneksi Anda.
Pada tab Dasar, pilih nilai berikut ini lalu pilih OK.
- Pilih
VNet-to-VNetuntuk Jenis koneksi. - Pilih langganan Anda dari drop-down.
- Pilih grup sumber daya untuk instans terkelola Anda di drop-down.
- Pilih lokasi instans terkelola utama Anda dari drop-down.
- Pilih
Pada tab Pengaturan, pilih atau masukkan nilai berikut ini lalu pilih OK:
- Pilih gateway jaringan utama untuk Gateway jaringan virtual pertama, seperti
Primary-Gateway. - Pilih gateway jaringan sekunder untuk Gateway jaringan virtual kedua, seperti
Secondary-Gateway. - Pilih kotak centang di samping Buat konektivitas dua arah.
- Biarkan nama koneksi utama default, atau ganti namanya menjadi nilai pilihan Anda.
- Berikan Kunci bersama (PSK) untuk koneksi, seperti
mi1m2psk.

- Pilih gateway jaringan utama untuk Gateway jaringan virtual pertama, seperti
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.
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.
Pilih instans terkelola utama yang ingin Anda tambahkan ke grup kegagalan.
Di bawah Pengaturan, navigasikan ke Grup Kegagalan Instans lalu pilih Tambahkan grup untuk membuka halaman Grup Kegagalan Instans.

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.

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.
Navigasikan ke instans terkelola sekunder Anda di dalam portal Microsoft Azure dan pilih Grup Kegagalan Instans di bawah pengaturan.
Ulas instans terkelola mana yang merupakan utama, dan instans terkelola mana yang merupakan yang sekunder.
Pilih Kegagalan lalu pilih Ya pada peringatan tentang sesi TDS yang terputus.

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

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:

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:
- Buat instans C dengan ukuran yang sama dengan A dan di zona DNS yang sama.
- 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.
- 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.
- 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:
- Buat instans C dengan ukuran yang sama dengan B dan di zona DNS yang sama.
- Hubungkan ke instans B dan failover secara manual untuk mengalihkan instans utama ke B. Instans A akan menjadi instans sekunder baru secara otomatis.
- 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.
- 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.
- 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:
- Tambahkan database tunggal ke grup kegagalan
- Tambahkan kumpulan elastis ke grup kegagalan
- Tambahkan instans terkelola ke grup kegagalan
Untuk gambaran umum fitur, lihat grup auto-failover.