Bagikan melalui


Pemulihan Bencana Geografis Azure Bus Layanan

Fitur Bus Layanan Geo-Disaster Recovery adalah salah satu opsi untuk mengisolasi aplikasi azure Bus Layanan terhadap pemadaman dan bencana, dan terutama bertujuan untuk membantu menjaga integritas konfigurasi aplikasi komposit.

Catatan

Fitur ini tersedia untuk tingkat Premium Azure Bus Layanan.

Fitur Pemulihan Bencana Geografis memastikan bahwa seluruh konfigurasi namespace layanan (entitas, konfigurasi, properti) terus direplikasi dari namespace layanan utama ke namespace sekunder yang dipasangkannya, dan memungkinkan Anda untuk memulai perpindahan failover sekali-saja dari primer ke sekunder kapan saja. Pemindahan failover menunjuk kembali nama alias yang dipilih untuk namespace ke namespace sekunder lalu memutuskan pemasangan. Failover hampir dijalankan seketika setelah dimulai.

Poin penting untuk dipertimbangkan

  • Fitur ini memungkinkan kelangsungan operasi instan dengan konfigurasi yang sama, tetapi tidak mereplikasi pesan yang dipertahankan dalam antrean atau langganan topik atau antrean yang tidak terpakai. Untuk mempertahankan semantik antrean, replikasi seperti itu tidak hanya memerlukan replikasi data pesan, tetapi dari setiap perubahan status di broker, yang ditawarkan dalam fitur Geo-Replikasi (Pratinjau Umum).
  • Penetapan kontrol akses berbasis peran (RBAC) Microsoft Entra ke entitas Bus Layanan di namespace utama tidak direplikasi ke namespace sekunder. Buat tugas peran secara manual di namespace layanan sekunder untuk mengamankan aksesnya.
  • Konfigurasi berikut tidak direplikasi.
    • Konfigurasi jaringan virtual
    • Koneksi titik akhir privat
    • Akses semua jaringan diaktifkan
    • Akses layanan tepercaya diaktifkan
    • Akses jaringan publik
    • Tindakan jaringan default
    • Identitas serta pengaturan enkripsi (enkripsi kunci yang dikelola pelanggan atau bawa enkripsi kunci Anda sendiri (BYOK))
    • Aktifkan skala otomatis
    • Nonaktifkan autentikasi lokal
    • Langganan Azure Event Grid
  • Memasangkan namespace yang dipartisi dengan namespace layanan yang tidak dipartisi tidak didukung.
  • Jika AutoDeleteOnIdle diaktifkan untuk entitas, entitas mungkin tidak ada di namespace sekunder saat failover terjadi. Ketika sekunder menjadi utama, status akses terakhir, yang bukan bagian dari metadata, tidak akan tersedia untuk primer dan entitas baru dapat dihapus sebagai bagian dari pembersihan AutoDeleteOnIdle .

Tip

Untuk mereplikasi konten antrean dan langganan topik dan mengoperasikan namespace yang sesuai dalam konfigurasi aktif/aktif untuk mengatasi pemadaman dan bencana, jangan bersandar pada kumpulan fitur Pemulihan Bencana Geografis ini, tetapi gunakan fitur Geo-Replikasi atau ikuti panduan replikasi.

Konsep dan istilah dasar

Fitur Pemulihan Bencana Geografis mengimplementasikan pemulihan bencana metadata, dan bergantung pada namespace layanan pemulihan bencana primer dan sekunder. Fitur Pemulihan Bencana Geografis hanya tersedia untuk tingkat Premium. 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. Penggunaan alias memastikan bahwa string koneksi tidak berubah saat failover dipicu.

  • Namespace primer/sekunder: Namespace yang sesuai dengan alias. Namespace utama "aktif" dan menerima pesan (dapat berupa namespace layanan yang sudah ada atau baru). Namespace sekunder berstatus "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 antrean, topik, dan langganan; dan sifat layanannya yang terkait dengan namespace. Hanya entitas dan pengaturannya yang direplikasi secara otomatis. Pesan tidak direplikasi.

  • Failover: Proses aktivasi namespace sekunder.

Siapkan

Bagian berikut ini adalah gambaran umum untuk menyiapkan pemasangan antar-namespace.

Cuplikan layar tentang menyiapkan pemasangan dengan Pemulihan Bencana Geografis.

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.

  1. Buat namespace layanan tingkat premium utama.

  2. Buat namespace tingkat premium sekunder di wilayah yang berbeda. Langkah ini bersifat opsional. Anda dapat membuat namespace sekunder saat membuat pasangan di langkah berikutnya.

  3. Di portal Azure, navigasikan ke namespace primer Anda.

  4. Pilih Geo-Recovery di menu sebelah kiri, dan pilih Mulai pemasangan pada toolbar.

    Cuplikan layar memperlihatkan halaman Geo-Recovery dengan tautan Mulai pemasangan dipilih.

  5. Pada halaman Mulai pemasangan, ikuti langkah-langkah berikut:

    1. Pilih namespace sekunder yang sudah ada atau buat di wilayah lain. Dalam contoh ini, namespace yang sudah ada digunakan sebagai namespace sekunder.

    2. Untuk Alias, masukkan alias untuk pasangan Pemulihan Bencana Geografis.

    3. Lalu, pilih Buat.

      Cuplikan layar memperlihatkan halaman Mulai Pemasangan di portal Azure.

  6. Anda akan melihat halaman Service Bus Geo-DR Alias seperti yang ditunjukkan pada gambar berikut. Anda juga dapat menavigasi ke halaman Geo-DR Alias dari halaman namespace utama dengan memilih Geo-Recovery di menu sebelah kiri.

    Cuplikan layar memperlihatkan halaman Bus Layanan Geo-DR Alias dengan namespace primer dan sekunder.

  7. 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. Awalnya, alias mengarah ke namespace primer.

  8. Beralih ke halaman Gambaran Umum. Anda dapat melakukan tindakan berikut:

    1. Putuskan pemasangan antara namespace primer dan sekunder. Pilih Putuskan pemasangan pada bar alat.
    2. Lakukan failover secara manual ke namespace sekunder.
      1. Pilih Failover pada bar alat.

      2. Konfirmasikan bahwa Anda ingin melakukan failover ke namespace sekunder dengan mengetik di alias Anda.

      3. Aktifkan opsi Failover Aman untuk melakukan failover dengan aman ke namespace sekunder.

        Catatan

        • Failover yang aman memastikan bahwa replikasi Pemulihan Bencana Geografis yang tertunda selesai sebelum beralih ke sekunder. Atau, failover paksa atau manual tidak menunggu replikasi yang tertunda selesai sebelum beralih ke sekunder.
        • Saat ini, failover aman gagal jika namespace primer dan sekunder tidak berada dalam langganan Azure yang sama.
      4. Kemudian, pilih Failover.

        Cuplikan layar memperlihatkan halaman Failover.

        Penting

        Failover mengaktifkan namespace sekunder dan menghapus namespace utama dari pasangan Pemulihan Bencana Geografis. Buat namespace lain untuk memiliki pasangan Pemulihan Bencana Geografis baru.

  9. Akhirnya, Anda harus menambahkan beberapa pemantauan untuk mendeteksi apakah failover diperlukan. Dalam kebanyakan kasus, layanan ini adalah salah satu bagian dari ekosistem besar, sehingga failover otomatis jarang dimungkinkan, karena seringkali failover harus dilakukan selaras dengan sisa subsistem atau infrastruktur.

Service Bus standar ke premium

Jika Anda telah memigrasikan namespace Azure Bus Layanan Standard ke Azure Bus Layanan Premium, maka Anda harus menggunakan alias yang sudah ada sebelumnya (yaitu, namespace Bus Layanan Standard Anda string koneksi) untuk membuat konfigurasi pemulihan bencana melalui PS/CLI atau REST API.

Pasalnya, selama migrasi, namespace string koneksi/DNS standar Azure Bus Layanan Anda sendiri menjadi alias untuk namespace layanan premium Azure Bus Layanan Anda.

Aplikasi klien Anda harus menggunakan alias ini (yaitu, namespace layanan standar Azure Bus Layanan string koneksi) untuk terhubung ke namespace premium tempat pasangan pemulihan bencana telah disiapkan.

Jika Anda menggunakan portal Azure untuk menyiapkan konfigurasi pemulihan bencana, portal akan mengabstraksi peringatan ini dari Anda.

Alur failover

Failover dipicu secara manual oleh pelanggan (baik secara eksplisit melalui perintah, atau melalui logika bisnis milik klien yang memicu perintah) dan tidak pernah dipicu oleh Azure. Ini memberi pelanggan kepemilikan penuh dan visibilitas terkait resolusi pemadaman pada kekuatan Azure.

Gambar memperlihatkan alur failover dari namespace primer ke sekunder.

Setelah failover dipicu -

  1. String koneksi alias diperbarui untuk mengarah ke namespace Premium Sekunder.

  2. Klien (pengirim dan penerima) secara otomatis terhubung ke namespace sekunder.

  3. Pasangan yang ada antara namespace premium Primer dan Sekunder akan dibatalkan.

Setelah failover dimulai -

  1. Jika pemadaman lain terjadi, Anda ingin dapat melakukan failover lagi. Jadi, siapkan namespace sekunder lain dan perbarui pemasangan.

  2. Tarik pesan dari namespace primer sebelumnya setelah tersedia lagi. Setelah itu, gunakan namespace layanan tersebut untuk olahpesan reguler di luar penyiapan Pemulihan Bencana Geografis Anda, atau hapus namespace utama lama.

Catatan

Hanya semantik penerusan yang gagal yang didukung. Dalam skenario ini, Anda melakukan failover, lalu memasangkan kembali dengan namespace baru. Failback tidak didukung; misalnya, seperti di kluster SQL.

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.

Gambar memperlihatkan bagaimana Anda dapat mengotomatiskan failover.

Manajemen

Jika Anda membuat kesalahan, misalnya, Anda memasangkan wilayah yang salah selama penyiapan awal, Anda dapat memutuskan pemasangan dua namespace layanan kapan saja. Jika Anda ingin menggunakan namespace yang dipasangkan sebagai namespace biasa, hapus alias.

Menggunakan namespace yang sudah ada sebagai alias

Jika menghadapi skenario ketika Anda tidak dapat mengubah koneksi produsen dan konsumen, Anda dapat menggunakan kembali nama namespace Anda sebagai nama alias. Lihat sampel kode di GitHub di sini.

Sampel

Sampel di GitHub menunjukkan cara menyiapkan dan memulai failover. Sampel ini menunjukkan konsep berikut:

  • Sampel dan pengaturan .NET yang diperlukan di MICROSOFT Entra ID untuk menggunakan Azure Resource Manager dengan Bus Layanan, untuk menyiapkan, dan mengaktifkan Pemulihan Bencana Geografis.
  • Langkah-langkah yang diperlukan untuk mengeksekusi kode sampel.
  • Cara menggunakan namespace yang ada sebagai alias.
  • Langkah-langkah untuk mengaktifkan Pemulihan Bencana Geografis melalui PowerShell atau CLI.
  • Kirim dan terima dari namespace primer atau sekunder saat ini menggunakan alias.

Pertimbangan

Perhatikan pertimbangan berikut untuk diingat dengan rilis ini:

  • 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 berfungsi.
  • Melakukan failover atas infrastruktur terdistribusi yang kompleks harus dilatih setidaknya sekali.
  • Menyinkronkan entitas dapat memakan waktu, sekitar 50-100 entitas per menit. Langganan dan aturan juga dihitung sebagai entitas.

Titik Akhir Privat

Bagian ini memberikan pertimbangan lebih lanjut saat menggunakan Pemulihan Bencana Geografis dengan namespace yang menggunakan titik akhir privat. Untuk mempelajari tentang cara menggunakan titik akhir pribadi dengan Service Bus secara umum, lihat Mengintegrasikan Azure Service Bus dengan Azure Private Link.

Pasangan baru

Jika Anda mencoba membuat pasangan antara namespace utama dengan titik akhir privat dan namespace sekunder tanpa titik akhir privat, pemasangan gagal. Pemasangan hanya berhasil jika namespace primer dan sekunder memiliki titik akhir privat. 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 berfungsi setelah failover. Anda bertanggung jawab untuk memastikan bahwa namespace sekunder dengan titik akhir privat berfungsi seperti yang diharapkan setelah failover.

Untuk menguji bahwa konfigurasi titik akhir pribadi sama, kirim permintaan Dapatkan antrean ke namespace sekunder dari luar jaringan virtual, dan pastikan Anda menerima pesan kesalahan dari layanan.

Pasangan yang sudah ada

Jika pemasangan antara namespace primer dan sekunder sudah ada, pembuatan titik akhir privat pada namespace utama 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: ServiceBus-Namespace1-Primary, ServiceBus-Namespace2-Secondary. Anda perlu melakukan langkah-langkah berikut:

  • Pada ServiceBus-Namespace1-Primary, buat dua titik akhir privat yang menggunakan subnet dari VNET-1 dan VNET-2
  • Pada ServiceBus-Namespace2-Secondary, buat dua titik akhir privat yang menggunakan subnet yang sama dari VNET-1 dan VNET-2

Titik akhir privat dan jaringan virtual

Keuntungan dari pendekatan ini adalah failover dapat terjadi pada lapisan aplikasi yang terpisah dari namespace Service Bus. Pertimbangkan skenario berikut:

Failover khusus aplikasi: Di sini, aplikasi tidak ada di VNET-1 tetapi pindah ke VNET-2. Karena kedua titik akhir privat dikonfigurasi pada VNET-1 dan VNET-2 untuk namespace primer dan sekunder, aplikasi hanya berfungsi.

Bus Layanan failover khusus namespace: Di sini lagi, karena kedua titik akhir privat dikonfigurasi pada jaringan virtual untuk namespace layanan primer dan sekunder, aplikasi hanya berfungsi.

Catatan

Untuk panduan tentang Pemulihan Bencana Geografis jaringan virtual, lihat Virtual Network - Kelangsungan Bisnis.

Kontrol Akses Berbasis Peran

Penetapan kontrol akses berbasis peran (RBAC) Microsoft Entra ke entitas Bus Layanan di namespace utama tidak direplikasi ke namespace sekunder. Buat tugas peran secara manual di namespace layanan sekunder untuk mengamankan aksesnya.

Langkah berikutnya

Untuk mempelajari selengkapnya tentang olahpesan Service Bus, lihat topik berikut ini: