Azure Event Hubs - Pemulihan bencana geografis
Artikel ini menjelaskan fitur pemulihan bencana geografis yang mereplikasi metadata dan tersedia secara umum. Ini tidak menjelaskan fitur replikasi geografis pratinjau publik, yang mereplikasi data dan metadata. Untuk informasi selengkapnya, lihat Replikasi geografis.
Model kluster Azure Event Hubs yang aktif dengan dukungan zona ketersediaan memberikan ketahanan terhadap pemadaman perangkat keras dan pusat data. Namun, jika bencana di mana seluruh wilayah dan semua zona tidak tersedia, Anda dapat menggunakan pemulihan bencana geografis untuk memulihkan beban kerja dan konfigurasi aplikasi Anda. Pemulihan Geo-Disaster memastikan bahwa seluruh konfigurasi namespace layanan (Azure Event Hubs, Grup Konsumen, dan pengaturan) terus direplikasi dari namespace utama ke namespace layanan sekunder saat dipasangkan.
Fitur pemulihan bencana Geo Azure Service Bus adalah solusi pemulihan bencana. Konsep dan alur kerja yang dijelaskan dalam artikel ini berlaku untuk skenario bencana, dan bukan untuk pemadaman sementara. Untuk diskusi terperinci tentang pemulihan bencana di Microsoft Azure, lihat artikel ini. Dengan pemulihan Geo-Disaster, Anda dapat memulai perpindahan failover sekali-saja dari primer ke sekunder kapan saja. Pemindahan failover menunjuk nama alias yang dipilih untuk namespace ke namespace sekunder. Setelah pemindahan, pemasangan kemudian dihapus. Failover hampir dijalankan seketika setelah dimulai.
Penting
- Fitur ini memungkinkan kelangsungan operasi seketika dengan konfigurasi yang sama, tetapi tidak mereplikasi data peristiwa. Kecuali bencana menyebabkan hilangnya semua zona, data peristiwa yang dipertahankan di Hub Peristiwa utama setelah failover akan dapat dipulihkan dan peristiwa bersejarah dapat diperoleh dari sana setelah akses dipulihkan. Untuk mereplikasi konten antrean dan langganan topik serta mengoperasikan namespace yang sesuai dalam konfigurasi aktif untuk mengatasi pemadaman dan bencana, jangan hanya mengandalkan set fitur pemulihan bencana Geo ini, tetapi ikuti panduan replikasi.
- Penetapan kontrol akses berbasis peran (RBAC) Microsoft Entra ke entitas di namespace layanan utama tidak direplikasi ke namespace sekunder. Buat tugas peran secara manual di namespace layanan sekunder untuk mengamankan aksesnya.
Fitur pemulihan bencana menerapkan metadata pemulihan bencana, dan mengandalkan namespace pemulihan bencana primer dan sekunder. Fitur pemulihan bencana geografis hanya tersedia untuk tingkat standar, premium, dan khusus. Anda tidak perlu membuat perubahan string koneksi apa pun, karena koneksi dibuat melalui alias.
Alat berikut ini digunakan dalam artikel ini:
- Alias: Nama untuk konfigurasi pemulihan bencana yang Anda siapkan. Alias menyediakan string koneksi Nama Domain yang Sepenuhnya Memenuhi Syarat (FQDN) yang stabil. Aplikasi menggunakan string koneksi alias ini untuk menyambungkan ke namespace.
- Namespace primer/sekunder: Namespace yang sesuai dengan alias. Namespace utama aktif dan menerima pesan (bisa berupa namespace layanan yang sudah ada atau baru). Namespace sekunder pasif dan tidak menerima pesan. Metadata di antara keduanya disinkronkan, sehingga keduanya dapat menerima pesan dengan lancar tanpa kode aplikasi atau perubahan string koneksi. Untuk memastikan bahwa hanya namespace aktif yang menerima pesan, Anda harus menggunakan alias.
- Metadata: Entitas seperti hub peristiwa dan grup konsumen, dan properti layanan mereka yang terkait dengan namespace layanan. Hanya entitas dan pengaturannya yang direplikasi secara otomatis. Pesan dan acara tidak direplikasi.
- Failover: Proses aktivasi namespace sekunder.
Kombinasi ruang nama primer dan sekunder berikut didukung:
Tingkat namespace layanan utama | Tingkat namespace layanan sekunder yang diizinkan |
---|---|
Standard | Standar, Khusus |
Premium | Premium |
Khusus | Khusus |
Penting
Anda tidak dapat memasangkan namespace yang berada di kluster khusus yang sama. Anda tidak dapat memasangkan namespace yang berada di kluster khusus yang sama.
Bagian berikut ini adalah gambaran umum dari proses failover, dan menjelaskan cara menyiapkan failover awal.
Catatan
Fitur Pemulihan bencana geografis tidak mendukung failover otomatis.
Anda terlebih dahulu membuat atau menggunakan namespace primer yang sudah ada, dan namespace sekunder baru, lalu memasangkan keduanya. Pemasangan ini memberi Anda alias yang dapat digunakan untuk tersambung. Karena menggunakan alias, Anda tidak perlu mengubah string koneksi. Hanya namespace baru yang dapat ditambahkan ke pemasangan failover Anda.
Buat namespace primer.
Buat namespace sekunder di wilayah yang berbeda. Langkah ini bersifat opsional. Anda dapat membuat namespace sekunder saat membuat pasangan di langkah berikutnya.
Di portal Azure, navigasikan ke namespace primer Anda.
Pilih Pemulihan Geo di menu sebelah kiri, lalu pilih Mulai pemasangan pada bar alat.
Pada halaman Mulai pemasangan, ikuti langkah-langkah berikut:
- Pilih namespace sekunder yang sudah ada atau buat di wilayah lain. Dalam contoh ini, ruang nama yang ada dipilih.
- Untuk Alias, masukkan alias untuk pemasangan geo-dr.
- Lalu, pilih Buat.
Anda akan melihat halaman Geo-DR Alias. Anda juga dapat membuka halaman Geo-DR Alias dari halaman namespace primer dengan memilih Geo-recovery di menu sebelah kiri.
Pada halaman Alias Geo-DR, pilih Kebijakan akses bersama di menu sebelah kiri untuk mengakses string koneksi primer untuk alias. Use this connection string instead of using the connection string to the primary/secondary namespace directly.
Pada halaman Gambaran Umum ini, Anda bisa melakukan tindakan berikut:
Putuskan pemasangan antara namespace primer dan sekunder. Pilih Putuskan pemasangan pada bar alat.
Lakukan failover secara manual ke namespace sekunder. Pilih Failover pada bar alat.
Peringatan
Failover mengaktifkan namespace sekunder dan menghapus namespace utama dari pemasangan Geo-Disaster Recovery. Buat namespace lain untuk memiliki pasangan pemulihan bancana-geo baru.
Akhirnya, Anda harus menambahkan beberapa pemantauan untuk mendeteksi apakah failover diperlukan. Dalam kebanyakan kasus, layanan ini adalah salah satu bagian dari ekosistem besar dan dengan demikian failover otomatis jarang dimungkinkan, karena seringkali failover harus dilakukan sinkron dengan subsistem atau infrastruktur yang tersisa.
Dalam salah satu contoh skenario ini, pertimbangkan solusi Point of Sale (POS) yang memancarkan pesan atau peristiwa. Hub Kejadian meneruskan peristiwa tersebut ke beberapa solusi pemetaan atau reformatting, yang kemudian meneruskan data yang dipetakan ke sistem lain untuk diproses lebih lanjut. Pada saat itu, semua sistem ini mungkin dihosting di wilayah Azure yang sama. Keputusan kapan dan bagian apa yang gagal tergantung pada aliran data dalam infrastruktur Anda.
Anda dapat mengotomatiskan failover baik dengan sistem pemantauan ataupun dengan solusi pemantauan yang dibuat khusus. Namun, otomatisasi semacam itu membutuhkan perencanaan dan pekerjaan ekstra, yang tidak dicakup dalam artikel ini.
Jika Anda memulai failover, diperlukan dua langkah:
- Jika pemadaman lain terjadi, Anda ingin dapat melakukan failover lagi. Jadi, siapkan namespace pasif lain dan perbarui pemasangan.
- Tarik pesan dari namespace primer sebelumnya setelah tersedia lagi. Setelah itu, gunakan namespace tersebut untuk pesan reguler di luar pengaturan pemulihan geografis Anda, atau hapus ruang nama primer yang lama.
Catatan
Hanya semantik penerusan yang gagal yang didukung. Dalam skenario ini, Anda melakukan failover, lalu memasangkan kembali dengan namespace baru. Fallback tidak didukung; misalnya, dalam kluster SQL.
Bagian ini memperlihatkan cara kegagalan secara manual saat menggunakan portal Azure, CLI, PowerShell, C#, dll.
Di portal Azure, navigasikan ke namespace primer Anda.
Pilih Pemulihan geografis di menu sebelah kiri.
Lakukan failover secara manual ke namespace sekunder. Pilih Failover pada bar alat.
Peringatan
Failover akan mengaktifkan namespace sekunder dan menghapus namespace primer dari pemasangan Geo-Pemulihan Bencana. Buat namespace lain untuk memiliki pasangan pemulihan bancana-geo baru.
Jika Anda membuat kesalahan; misalnya, Anda memasangkan bidang yang salah selama pengaturan awal, Anda dapat memutuskan pemasangan dua namespace kapan saja. Jika Anda ingin menggunakan namespace yang dipasangkan sebagai namespace biasa, hapus alias.
Perhatikan pertimbangan berikut untuk diingat:
Secara desain, pemulihan bencana geografis Azure Event Hubs tidak mereplikasi data, dan oleh karena itu Anda tidak dapat menggunakan kembali nilai offset lama hub peristiwa utama Anda di hub peristiwa sekunder Anda. Sebaiknya mulai ulang penerima peristiwa Anda dengan salah satu metode berikut:
- EventPosition.FromStart() - Jika Anda ingin membaca semua data di hub peristiwa sekunder Anda.
- EventPosition.FromEnd() - Jika Anda ingin membaca semua data baru dari waktu koneksi ke hub peristiwa sekunder Anda.
- EventPosition.FromEnqueuedTime(dateTime) - Jika Anda ingin membaca semua data yang diterima di hub acara sekunder Anda mulai dari tanggal dan waktu tertentu.
Dalam perencanaan failover Anda, Anda juga harus mempertimbangkan faktor waktu. Misalnya, jika Anda kehilangan konektivitas selama lebih dari 15 hingga 20 menit, Anda mungkin memutuskan untuk memulai failover.
Faktanya bahwa tidak ada data yang direplikasi berarti bahwa sesi aktif saat ini tidak direplikasi. Selain itu, deteksi duplikat dan pesan terjadwal mungkin tidak berfungsi. Sesi baru, pesan terjadwal baru, dan duplikat baru akan berfungsi.
Melakukan failover atas infrastruktur terdistribusi yang kompleks harus dilatih setidaknya sekali.
Menyinkronkan entitas dapat memakan waktu, sekitar 50-100 entitas per menit.
Beberapa aspek bidang manajemen untuk namespace layanan sekunder menjadi baca-saja saat pasangan pemulihan geografis aktif.
Bidang data namespace sekunder akan bersifat baca-saja saat pemasangan pemulihan geografis aktif. Bidang data namespace sekunder akan menerima permintaan GET untuk mengaktifkan validasi konektivitas klien dan kontrol akses.
Bagian ini memberikan lebih banyak pertimbangan saat menggunakan pemulihan bencana Geo dengan namespace yang menggunakan titik akhir pribadi. Untuk mempelajari tentang menggunakan titik akhir privat dengan Hub Kejadian secara umum, lihat Mengonfigurasi titik akhir privat.
Jika Anda mencoba melakukan pemasangan antara namespace primer dengan titik akhir pribadi dan namespace sekunder tanpa titik akhir pribadi, pemasangan akan gagal. Pemasangan akan berhasil hanya jika namespace primer dan sekunder memiliki titik akhir pribadi. Sebaiknya Anda menggunakan konfigurasi yang sama pada namespace primer dan sekunder serta pada jaringan virtual tempat titik akhir pribadi dibuat.
Catatan
Ketika Anda mencoba memasangkan namespace primer dengan titik akhir pribadi dan namespace sekunder, proses validasi hanya memeriksa apakah titik akhir pribadi ada pada namespace sekunder. Ini tidak memeriksa apakah titik akhir berfungsi atau akan berfungsi setelah failover. Anda bertanggung jawab untuk memastikan bahwa namespace sekunder dengan titik akhir pribadi akan berfungsi seperti yang diharapkan setelah failover.
Untuk menguji bahwa konfigurasi titik akhir privat sama pada namespace utama dan sekunder, kirim permintaan baca (misalnya: Dapatkan Event Hub)ke ruang nama sekunder dari luar jaringan virtual, dan verifikasi bahwa Anda menerima pesan kesalahan dari layanan.
Jika pemasangan antara namespace primer dan sekunder sudah ada, pembuatan titik akhir pribadi pada namespace primer akan gagal. Untuk mengatasinya, buat titik akhir pribadi pada namespace sekunder terlebih dahulu, lalu buat titik akhir untuk namespace primer.
Catatan
Meskipun kami mengizinkan akses baca-saja ke namespace sekunder, pembaruan untuk konfigurasi titik akhir pribadi diizinkan.
Saat membuat konfigurasi pemulihan bencana untuk aplikasi dan Service Bus, Anda harus membuat titik akhir pribadi untuk namespace Service Bus primer dan sekunder terhadap jaringan virtual yang menghosting instans primer dan sekunder pada aplikasi Anda.
Katakanlah Anda memiliki dua jaringan virtual: VNET-1
, VNET-2
dan namespace primer dan sekunder ini: EventHubs-Namespace1-Primary
, EventHubs-Namespace2-Secondary
. Anda perlu melakukan langkah-langkah berikut:
- Pada
EventHubs-Namespace1-Primary
, buat dua titik akhir privat yang menggunakan subnet dariVNET-1
danVNET-2
- Pada
EventHubs-Namespace2-Secondary
, buat dua titik akhir privat yang menggunakan subnet yang sama dariVNET-1
danVNET-2
Keuntungan dari pendekatan ini adalah failover dapat terjadi pada lapisan aplikasi yang terpisah dari namespace Event Hubs. Pertimbangkan skenario berikut:
Failover khusus aplikasi: Di sini, aplikasi tidak akan ada tetapi VNET-1
akan pindah ke VNET-2
. Karena kedua titik akhir privat dikonfigurasi pada dan VNET-1
VNET-2
untuk namespace primer dan sekunder, aplikasi hanya akan berfungsi.
Faiolver hanya namespace Event Hubs: Di sini lagi, karena kedua titik akhir pribadi dikonfigurasi pada kedua jaringan virtual untuk namespace primer dan sekunder, aplikasi akan tetap berfungsi.
Catatan
Untuk panduan tentang pemulihan bencana geo jaringan virtual, lihat Virtual Network - Kelangsungan Bisnis.
Penetapan kontrol akses berbasis peran (RBAC) Microsoft Entra ke entitas di namespace layanan utama tidak direplikasi ke namespace sekunder. Buat tugas peran secara manual di namespace layanan sekunder untuk mengamankan aksesnya.
Tinjau contoh atau dokumentasi referensi berikut.