Memigrasikan namespace standar Azure Service Bus yang ada ke tingkatan premium

Sebelumnya, Azure Service Bus hanya menawarkan namespace pada tingkatan standar. Namespace adalah penyiapan multipenyewa yang dioptimalkan untuk throughput rendah dan lingkungan pengembang. Tingkatan premium menawarkan sumber daya khusus per namespace untuk latensi yang dapat diprediksi dan throughput yang meningkat dengan harga tetap. Tingkatan premium dioptimalkan untuk lingkungan throughput dan produksi tinggi yang memerlukan fitur perusahaan tambahan.

Artikel ini menjelaskan cara memigrasikan namespace tingkat standar yang ada ke tingkat premium.

Peringatan

Migrasi ditujukan agar namespace standar Service Bus ditingkatkan ke tingkat premium. Alat migrasi tidak mendukung penurunan.

Beberapa poin yang perlu diperhatikan:

  • Migrasi ini dimaksudkan untuk terjadi di tempat, yang berarti bahwa aplikasi pengirim dan penerima yang ada tidak memerlukan perubahan apa pun pada kode atau konfigurasi. String koneksi yang ada akan secara otomatis menunjuk ke namespace premium baru.
  • Jika Anda menggunakan nama premium yang ada, namespace premium seharusnya tidak memiliki entitas di dalamnya agar migrasi berhasil, dan seharusnya tidak mengaktifkan partisi.
  • Semua entitas dalam namespace standar disalin ke namespace premium selama proses migrasi.
  • Migrasi mendukung 1.000 entitas per unit pesan pada tingkatan premium. Untuk mengidentifikasi berapa banyak unit olahpesan yang Anda butuhkan, mulailah dengan jumlah entitas yang Anda miliki di namespace standar Anda saat ini.
  • Anda tidak dapat langsung bermigrasi dari tingkatan dasar ke tingkatan premium, tetapi Anda dapat melakukannya secara tidak langsung dengan bermigrasi dari dasar ke standar terlebih dahulu dan kemudian dari standar ke premium pada langkah berikutnya.
  • Pengaturan kontrol akses berbasis peran (RBAC) tidak dimigrasikan, jadi Anda harus menambahkannya secara manual setelah migrasi.

Langkah migrasi

Beberapa kondisi dikaitkan dengan proses migrasi. Biasakan diri Anda dengan langkah-langkah berikut untuk mengurangi kemungkinan kesalahan. Langkah-langkah ini menguraikan proses migrasi, dan detail langkah demi langkah dicantumkan di bagian yang mengikuti.

  1. Buat namespace premium baru. Anda menyelesaikan tiga langkah berikutnya menggunakan instruksi CLI atau portal Azure berikut dalam artikel ini.
  2. Pasangkan namespace standar dan premium satu sama lain.
  3. Sinkronkan (copy-over) entitas dari namespace standar ke premium.
  4. Terapkan migrasi.
  5. Kosongkan entitas di namespace standar menggunakan nama pascamigrasi namespace.
  6. Hapus namespace standar.

Penting

Setelah migrasi diterapkan, akses namespace standar lama dan kosongkan antrean dan langganan. Setelah pesan dikosongkan, pesan dapat dikirim ke namespace premium baru untuk diproses oleh aplikasi penerima. Setelah antrean dan langganan dikosongkan, kami sarankan Anda menghapus namespace standar lama.

Migrasi menggunakan Azure CLI atau PowerShell

Untuk memigrasikan namespace standar Service Bus Anda ke premium menggunakan alat Azure CLI atau PowerShell, ikuti langkah-langkah ini.

  1. Buat namespace premium Service Bus baru. Anda bisa mereferensikan templat Azure Resource Manager atau menggunakan portal Microsoft Azure. Pastikan untuk memilih premium untuk parameter serviceBusSku.

  2. Atur variabel lingkungan berikut untuk menyederhanakan perintah migrasi. Anda bisa mendapatkan ID Azure Resource Manager untuk namespace premium Anda dengan menavigasi ke namespace di portal Azure dan menyalin bagian URL yang terlihat seperti sampel berikut: /subscriptions/00000000-0000-0000-0000-00000000000000/resourceGroups/contosoresourcegroup/providers/Microsoft.ServiceBus/namespaces/contosopremiumnamespace.

    resourceGroup = <resource group for the standard namespace>
    standardNamespace = <standard namespace to migrate>
    premiumNamespaceArmId = <Azure Resource Manager ID of the premium namespace to migrate to>
    postMigrationDnsName = <post migration DNS name entry to access the standard namespace>
    

    Penting

    Alias/nama pascamigrasi (post_migration_dns_name) akan digunakan untuk mengakses namespace standar lama pascamigrasi. Gunakan ini untuk mengosongkan antrean dan langganan, lalu hapus namespace.

  3. Pasangkan namespace standar dan premium dan mulai lakukan sinkronisasi menggunakan perintah berikut:

    az servicebus migration start --resource-group $resourceGroup --name $standardNamespace --target-namespace $premiumNamespaceArmId --post-migration-name $postMigrationDnsName
    
  4. Periksa status migrasi menggunakan perintah berikut:

    az servicebus migration show --resource-group $resourceGroup --name $standardNamespace
    

    Migrasi dianggap selesai saat Anda melihat nilai berikut:

    • MigrationState = "Active"
    • pendingReplicationsOperationsCount = 0
    • provisioningState = "Succeeded"

    Perintah ini juga menampilkan konfigurasi migrasi. Periksa untuk memastikan nilainya sudah diatur dengan benar. Periksa juga namespace premium di portal untuk memastikan semua antrean dan topik telah dibuat, dan cocok dengan apa yang ada di namespace standar.

  5. Terapkan migrasi dengan menjalankan perintah lengkap berikut:

    az servicebus migration complete --resource-group $resourceGroup --name $standardNamespace
    

Melakukan migrasi menggunakan portal Microsoft Azure

Migrasi menggunakan portal Microsoft Azure memiliki alur logika yang sama melakukan migrasi menggunakan perintah. Ikuti langkah-langkah ini untuk melakukan migrasi menggunakan portal Microsoft Azure.

  1. Pada menu Navigasi di panel kiri, pilih Migrasi ke premium. Pilih tombol Mulai untuk melanjutkan ke halaman berikutnya. Image showing the Migrate to premium page.

  2. Anda melihat halaman Siapkan Namespace berikut ini.

    Image showing the Setup Namespaces page.

  3. Pada halaman Setup Namespace, ikuti salah satu langkah berikut:

    1. Jika Anda memilih Buat namespace premium baru:
      1. Pada halaman Buat namespace, masukkan nama untuk namespace, dan pilih Tinjau + buat.

      2. Pada halaman Tinjau + buat, pilih Buat.

        Image showing the Create Namespace page.

    2. Jika Anda memilih Pilih namespace premium kosong yang sudah ada:
      1. Pilih langganan dan grup sumber daya Azure yang memiliki namespace.

      2. Kemudian, pilih namespace premium.

      3. Lalu klik Pilih.

        Image showing the selection of an existing premium namespace.

  4. Masukkan nama Pascamigrasi, lalu pilih Berikutnya. Anda akan menggunakan nama ini untuk mengakses namespace standar setelah migrasi selesai.

    Image showing the post-migration name for the standard namespace.

  5. Pilih Mulai Sinkronkan untuk menyinkronkan entitas antara namespace standar dan premium.

    Image showing the start sync button.

  6. Pilih Ya dalam kotak dialog untuk mengonfirmasi dan memulai sinkronisasi. Tunggu sampai sinkronisasi selesai. Kemudian, pilih Berikutnya.

    Penting

    Jika Anda perlu membatalkan migrasi karena alasan apa pun, harap tinjau alur batalkan di bagian FAQ dokumen ini.

  7. Pilih Selesaikan Migrasi pada halaman Switch.

    Image showing the **Switch** page of the migration wizard.

  8. Pilih Ya untuk mengonfirmasi pengalihan namespace standar Anda ke premium. Setelah pengalihan selesai, nama DNS namespace standar Anda akan mengarah ke namespace premium Anda. Tindakan ini tidak dapat dibatalkan. Anda melihat halaman Berhasil ketika migrasi selesai.

    Image showing the Success page.

Peringatan

Beberapa fitur yang disediakan oleh tingkat Azure Bus Layanan Standard tidak didukung oleh tingkat Azure Bus Layanan Premium. Ini adalah desain karena tingkatan premium menawarkan sumber daya khusus untuk throughput dan latensi yang dapat diprediksi.

Berikut adalah daftar fitur yang tidak didukung oleh Premium dan mitigasinya -

Entitas ekspres

Entitas ekspres yang tidak menerapkan data pesan apa pun ke penyimpanan tidak didukung di tingkat Premium . Sumber daya khusus memberikan peningkatan throughput yang signifikan sekaligus memastikan bahwa data tetap ada, seperti yang diharapkan dari sistem pesan perusahaan apa pun.

Selama migrasi, salah satu entitas ekspres Anda di namespace Standar Anda akan dibuat di namespace Premium sebagai entitas non-ekspres.

Jika Anda menggunakan templat Azure Resource Manager, pastikan Anda menghapus bendera 'enableExpress' dari konfigurasi penyebaran sehingga alur kerja otomatis Anda dijalankan tanpa kesalahan.

Pengaturan RBAC

Pengaturan kontrol akses berbasis peran (RBAC) pada namespace layanan tidak dimigrasikan ke namespace premium. Anda harus menambahkannya secara manual setelah migrasi.

Tanya Jawab Umum

Apa yang terjadi ketika migrasi diterapkan?

Setelah migrasi diterapkan, string koneksi yang menunjuk ke namespace standar akan menunjuk ke namespace premium.

Aplikasi pengirim dan penerima akan terputus dari namespace standar dan terhubung kembali ke namespace premium secara otomatis.

Jika Anda menggunakan ID Azure Resource Manager untuk konfigurasi, bukan string koneksi (misalnya sebagai tujuan untuk Langganan Event Grid), Maka Anda perlu memperbarui ID Azure Resource Manager menjadi namespace premium.

Apa yang harus saya lakukan setelah migrasi standar ke premium selesai?

Migrasi standar ke premium memastikan bahwa metadata entitas, seperti topik, langganan, dan filter, disalin dari namespace standar ke namespace premium. Data pesan yang diterapkan pada namespace standar tidak disalin dari namespace standar ke namespace premium.

Namespace standar mungkin memiliki beberapa pesan yang dikirim dan diterapkan saat migrasi sedang berlangsung. Kuras pesan ini secara manual dari namespace standar dan kirimkan secara manual ke namespace premium. Untuk menguras pesan secara manual, gunakan aplikasi konsol atau skrip yang menguras entitas namespace standar dengan menggunakan nama DNS pascamigrasi yang Anda tentukan dalam perintah migrasi. Kirim pesan ini ke namespace premium sehingga dapat diproses oleh penerima.

Setelah pesan dikosongkan, hapus namespace standar.

Penting

Setelah pesan dari namespace standar dikosongkan, hapus namespace standarnya. Ini penting karena string koneksi yang awalnya merujuk ke namespace standar sekarang mengacu pada namespace premium. Anda tidak akan memerlukan namespace standar lagi. Menghapus namespace standar yang Anda migrasikan membantu mengurangi kebingungan nanti.

Berapa lama perkiraan waktu hentinya?

Proses migrasi dimaksudkan untuk mengurangi perkiraan waktu henti untuk aplikasi. Waktu henti dikurangi menggunakan string koneksi yang digunakan pengirim dan aplikasi penerima untuk menunjuk ke namespace premium baru.

Waktu henti yang dialami oleh aplikasi terbatas pada waktu yang diperlukan untuk memperbarui entri DNS ke titik ke namespace premium. Waktu hentinya sekitar 5 menit.

Apakah saya harus membuat perubahan konfigurasi saat melakukan migrasi?

Tidak, tidak ada perubahan kode atau konfigurasi yang diperlukan untuk melakukan migrasi. String koneksi yang digunakan oleh aplikasi pengirim dan penerima untuk mengakses Namespace standar secara otomatis dipetakan untuk bertindak sebagai alias untuk namespace premium.

Bagaimana cara membatalkan migrasi?

Migrasi dapat dibatalkan baik menggunakan perintah Abort atau menggunakan portal Microsoft Azure.

Azure CLI

az servicebus migration abort --resource-group $resourceGroup --name $standardNamespace

Portal Azure

Pilih Batalkan pada halaman Sinkronkan entitas.

Image showing the Abort page.

Setelah selesai, Anda melihat halaman berikut:

Image showing the Abort complete page.

Apa yang terjadi ketika saya membatalkan migrasi?

Ketika proses migrasi dibatalkan, berarti membatalkan proses menyalin entitas (topik, langganan, dan filter) dari standar ke namespace premium dan menghentikan pemasangan.

String koneksi tidak diperbarui untuk menunjuk ke namespace premium. Aplikasi Anda yang sudah ada akan tetap berfungsi seperti yang terjadi sebelum Anda memulai migrasi.

Namun, itu tidak menghapus entitas pada namespace premium atau menghapus namespace premium. Hapus entitas secara manual jika Anda memutuskan untuk tidak bergerak maju dengan migrasi.

Penting

Jika Anda memutuskan untuk membatalkan migrasi, hapus Namespace premium yang telah Anda urutkan untuk migrasi sehingga Anda tidak dikenakan biaya untuk sumber daya tersebut.

Saya tidak ingin mengosongkan pesan. Apa yang harus saya lakukan?

Mungkin ada pesan yang dikirim oleh aplikasi pengirim dan berkomitmen untuk penyimpanan pada Namespace standar saat migrasi berlangsung dan tepat sebelum migrasi diterapkan.

Selama migrasi, data/payload pesan aktual tidak disalin dari standar ke namespace premium. Pesan harus dikosongkan secara manual dan kemudian dikirim ke namespace premium.

Namun, jika Anda dapat bermigrasi selama masa pemeliharaan/perawatan yang direncanakan, dan Anda tidak ingin mengosongkan dan mengirim pesan secara manual, ikuti langkah-langkah berikut:

  1. Hentikan aplikasi pengirim. Aplikasi penerima akan memproses pesan yang saat ini berada di namespace standar dan akan mengosongkan antrean.

  2. Setelah antrean dan langganan di namespace standar kosong, ikuti prosedur yang dijelaskan sebelumnya untuk menjalankan migrasi dari standar ke namespace premium.

  3. Setelah migrasi selesai, Anda dapat memulai ulang aplikasi pengirim.

  4. Pengirim dan penerima sekarang akan secara otomatis terhubung dengan namespace premium.

    Catatan

    Anda tidak perlu menghentikan aplikasi penerima untuk migrasi.

    Setelah migrasi selesai, aplikasi penerima akan terputus dari namespace standar dan secara otomatis terhubung ke namespace premium.

Langkah berikutnya