Bagikan melalui


Memigrasikan MongoDB ke Azure DocumentDB secara online menggunakan ekstensi migrasi Azure DocumentDB (pratinjau publik)

Dalam tutorial ini, Anda menggunakan Ekstensi Migrasi Azure DocumentDB di Visual Studio Code untuk membuat dan mengelola pekerjaan migrasi dari instans mongoDB lokal atau cloud ke Azure DocumentDB. Ekstensi ini menyediakan antarmuka yang ramah pengembang untuk melakukan migrasi tanpa gangguan layanan. Ekstensi ini menghilangkan kebutuhan akan infrastruktur tambahan dan menawarkan konektivitas yang aman, penggunaan tanpa biaya, dan kontrol terperinci atas database dan koleksi mana yang akan dimigrasikan.

Fokus artikel ini adalah menggunakan alur kerja terintegrasi ekstensi untuk menyederhanakan langkah-langkah migrasi langsung dalam Visual Studio Code. Pendekatan ini sangat ideal untuk skenario di mana Anda menginginkan pengalaman terkelola yang efisien dengan kompleksitas minimal dan keandalan maksimum.

Prasyarat

  • Langganan Azure

    • Jika Anda tidak memiliki langganan Azure, buat akun gratis
  • Kluster Azure DocumentDB yang sudah ada

Sebelum memulai migrasi, siapkan akun Azure DocumentDB dan instans MongoDB yang sudah ada untuk migrasi.

Instans MongoDB (sumber)

  • Selesaikan penilaian pramigrasi untuk menentukan apakah ada ketidaksesuaian dan peringatan antara instans sumber dan akun target Anda.
  • Tambahkan pengguna dengan izin readAnyDatabase dan clusterMonitor, kecuali jika sudah ada. Anda menggunakan kredensial ini saat membuat tugas migrasi di ekstensi.

Azure DocumentDB (target)

  • Kumpulkan kredensial dari akun Azure DocumentDB.
  • Pastikan pengguna memiliki createCollectionizin , dropCollection, createIndex, insertdan listCollections .

Penting

Autentikasi ID Microsoft Entra saat ini tidak didukung dalam pekerjaan migrasi. Silakan gunakan autentikasi DocumentDB asli.

Lakukan migrasi

Sambungkan ke sumber

  1. Buka ekstensi DocumentDB untuk Visual Studio Code .
  2. Tambahkan server MongoDB yang ingin Anda migrasikan ke daftar Koneksi DB Dokumen .
  3. Pilih Tambahkan Koneksi Baru.
  4. Pada bilah navigasi, pilih String Koneksi.
  5. Tempelkan string koneksi Anda: mongodb://<YOUR_USERNAME>:<YOUR_PASSWORD>@localhost:10260/?tls=true&tlsAllowInvalidCertificates=true&authMechanism=SCRAM-SHA-256
  6. Dari Koneksi DocumentDB, pilih koneksi dan perluas untuk menyambungkan.

Mengaktifkan Ekstensi Migrasi

Anda dapat memanggil Ekstensi Migrasi dari Koneksi DocumentDB.

  1. Klik kanan pada koneksi yang diperluas (tersambung).

  2. Pilih Migrasi Data dari menu konteks.

    Cuplikan layar menu konteks di Visual Studio Code.

  3. Pilih Migrasi ke Azure DocumentDB dari palet perintah.

    Cuplikan layar palet perintah di Visual Studio Code.

  4. Wizard migrasi memandu Anda melalui proses.

Membuat pekerjaan migrasi

Pekerjaan migrasi digunakan untuk memigrasikan sekelompok koleksi dari sumber ke Azure DocumentDB tujuan. Wizard untuk membuat pekerjaan migrasi memiliki enam langkah.

Langkah 1: Membuat pekerjaan

Dalam langkah ini, Anda memberikan detail dasar untuk pekerjaan tersebut.

  • Nama Pekerjaan: Berikan nama yang mudah digunakan untuk mengidentifikasi pekerjaan migrasi.

  • Mode Migrasi: Pilih mode migrasi yang paling sesuai untuk kasus penggunaan Anda.

    • Migrasi online menyalin data koleksi, memastikan bahwa pembaruan juga direplikasi selama proses berlangsung. Metode ini menguntungkan dengan waktu henti minimal, memungkinkan operasi berkelanjutan untuk kelangsungan bisnis. Gunakan opsi ini saat operasi yang sedang berlangsung sangat penting, dan mengurangi waktu henti adalah prioritas.
    • Migrasi offline menangkap rekam jepret database di awal, menawarkan pendekatan yang lebih sederhana dan dapat diprediksi. Ini berfungsi dengan baik saat menggunakan salinan statis database dapat diterima, dan pembaruan real time tidak penting.

    Penting

    Untuk memastikan keberhasilan migrasi online dari MongoDB, ChangeStream harus diaktifkan di server MongoDB sumber. Tanpa ChangeStream, modifikasi apa pun yang dilakukan pada data setelah migrasi awal tidak diambil. Oleh karena itu, gunakan mode migrasi online hanya jika ChangeStream diaktifkan di server MongoDB sumber Anda.

  • Konektivitas: Bergantung pada mandat keamanan dan penyiapan jaringan organisasi Anda, pilih dari Publik dan Privat.

    • Gunakan Publik saat server sumber dan target dapat diakses melalui internet melalui IP publik. Ini memungkinkan dukungan untuk layanan yang memerlukan aksesibilitas eksternal.
    • Gunakan Privat saat server sumber atau target dapat diakses secara eksklusif melalui IP privat dalam jaringan virtual. Ini meningkatkan keamanan dengan menghilangkan paparan internet publik.

Untuk melanjutkan, klik Berikutnya.

Tangkapan layar langkah membuat pekerjaan di wizard.

Langkah 2: Pilih target

Dalam langkah ini, Anda memilih akun Azure DocumentDB yang sudah ada dan menyediakan string koneksinya.

  1. Pilih langganan, grup sumber daya, dan akun Azure DocumentDB dari menu dropdown.

  2. Berikan string koneksi ke akun Azure DocumentDB.

  3. Pastikan IP yang tercantum di layar diizinkan di firewall Azure DocumentDB.

  4. Untuk melanjutkan, klik Berikutnya.

Cuplikan layar langkah pilih target dalam wizard.

Langkah 3: Pilih Database Migration Service (DMS)

Azure Database Migration Service adalah layanan yang memigrasikan data ke dan dari platform data Azure dengan menggunakan infrastruktur cloud untuk transfer data, alih-alih mengandalkan sumber daya lokal. Pilih instans Azure Database Migration Service yang sudah ada dari menu dropdown atau pilih Buat DMS untuk membuat layanan migrasi baru.

Penting

Pastikan penyedia sumber daya Microsoft.DataMigration terdaftar di langganan Anda. Anda hanya perlu melakukannya sekali per langganan.

Untuk melanjutkan, klik Berikutnya.

Cuplikan layar panduan pilih Database Migration Service.

Langkah 4: Mengonfigurasi konektivitas

Layar ini tergantung pada mode konektivitas yang Anda pilih di Langkah 1.

Konektivitas publik

Dalam konektivitas publik, pekerjaan migrasi terhubung ke sumber dan target Anda menggunakan internet publik. Untuk mengaktifkan komunikasi, Anda diharuskan memperbarui firewall sumber dan target. Untuk mengaktifkan komunikasi dari server DMS, tambahkan alamat IP yang tercantum di layar ke firewall sumber dan target. Untuk informasi selengkapnya, lihat mengonfigurasi firewall kluster Azure DocumentDB .

Cuplikan layar langkah konfigurasi konektivitas publik dalam wizard.

Konektivitas pribadi

Dalam konektivitas privat, tugas migrasi dijalankan dalam jaringannya yang bersifat virtual. Untuk berkomunikasi dengan jaringan virtual Anda dengan aman, kami menggunakan peering jaringan virtual.

  1. Pilih langganan, grup sumber daya, dan jaringan virtual dari menu dropdown.

  2. Jalankan skrip PowerShell yang disediakan di layar untuk mengaktifkan integrasi jaringan virtual.

  3. Untuk melanjutkan, klik Berikutnya.

Cuplikan layar langkah konfigurasi konektivitas privat dalam wizard.

Langkah 5: Pilih koleksi

Dalam langkah ini, Anda memilih koleksi yang akan disertakan dalam pekerjaan migrasi. Pilih dari daftar koleksi dengan menggunakan opsi pencarian yang disediakan. Koleksi yang sudah ada di target secara otomatis ditandai Ya di kolom Ada di Target .

Petunjuk / Saran

Pastikan untuk memilih semua koleksi yang ingin Anda sertakan karena daftar koleksi tidak dapat ditambahkan setelah pekerjaan migrasi dibuat.

Untuk melanjutkan, klik Berikutnya.

Tangkapan layar langkah memilih koleksi di dalam wizard.

Langkah 6: Konfirmasi dan mulai

Tinjau detail pekerjaan migrasi sebelum memilih Mulai Migrasi. Jika detail perlu diperbarui, gunakan tombol Edit Detail .

Setelah pekerjaan migrasi berhasil dibuat, Anda secara otomatis diarahkan ke halaman Tampilkan Pekerjaan yang Ada

Petunjuk / Saran

Tugas migrasi data dijalankan di Azure Database Migration Service. Oleh karena itu, Anda tidak diharuskan untuk terhubung ke lingkungan sumber dan target selama migrasi data. Status diperbarui pada dasbor pada interval yang sering.

Memantau pekerjaan migrasi yang ada

Gunakan tab Tampilkan Pekerjaan yang Ada untuk memantau status migrasi pekerjaan yang diinisialisasi. Daftar pekerjaan dicantumkan berdasarkan pada DMS yang dipilih. Gunakan tombol Ubah DMS untuk mengubah pilihan Anda.

Status secara otomatis diperbarui pada interval yang sering. Pekerjaan offline secara otomatis selesai setelah rekam jepret koleksi yang dipilih disalin ke target. Namun, migrasi online perlu dialihkan secara manual.

Cuplikan layar tampilan pekerjaan yang ada.

Untuk melihat status per koleksi, pilih sebuah baris dari tabel.

Cuplikan layar memperlihatkan status per koleksi untuk migrasi offline.

Memantau migrasi online

Migrasi online, tidak seperti migrasi offline, tidak selesai secara otomatis. Sebaliknya, mereka berjalan terus menerus sampai diselesaikan secara manual dengan memilih Cutover.

Untuk menyelesaikan migrasi online, ikuti langkah-langkah ini dalam urutan tertentu:

  1. Tombol Cutover diaktifkan setelah pemuatan data awal selesai untuk semua koleksi. Pada tahap ini, pekerjaan berada dalam fase replikasi, terus menyalin pembaruan dari instans sumber ke instans target untuk membuatnya tetap up-to-tanggal dengan perubahan terbaru.

  2. Saat siap untuk melakukan cutover migrasi, hentikan semua transaksi masuk ke koleksi sumber yang sedang dimigrasikan.

  3. Celah Replikasi menunjukkan kesenjangan waktu antara pembaruan terakhir dan waktu saat ini.

  4. Pantau perubahan replikasi di tabel dan tunggu hingga metrik Perubahan Replikasi Dimainkan stabil. Metrik Perubahan Replikasi yang Dijalankan yang stabil menunjukkan bahwa semua pembaruan dari sumber berhasil disalin ke target.

  5. Pilih Cutover saat celah replikasi minimal untuk semua koleksi dan metrik Perubahan Replikasi yang Diproses stabil.

  6. Validasi secara manual bahwa jumlah baris sama antara kumpulan sumber dan target.

Nota

Melakukan operasi cutover tanpa memvalidasi bahwa sumber dan target disinkronkan dapat mengakibatkan kehilangan data.

Cuplikan layar memperlihatkan status per kumpulan untuk migrasi online

Mendaftarkan penyedia sumber daya Microsoft.DataMigration di langganan Anda

Untuk memastikan bahwa penyedia sumber daya Microsoft.DataMigration terdaftar di langganan Anda, Anda dapat mengikuti langkah-langkah berikut:

portal Azure

  1. Buka portal Azure dan navigasikan ke langganan Anda.

  2. Di menu sebelah kiri, pilih Penyedia sumber daya di bawah Pengaturan.

  3. Cari Microsoft.DataMigration di kotak pencarian di bagian atas.

  4. Jika tidak terdaftar, pilih dan pilih tombol Daftar .

Azure CLI (antarmuka baris perintah Azure)

  1. Buka Azure Cloud Shell atau terminal lokal Anda.

  2. Gunakan perintah berikut untuk mendaftarkan penyedia sumber:

    az provider register --namespace Microsoft.DataMigration
    

PowerShell

  1. Buka Azure Cloud Shell atau PowerShell lokal Anda.

  2. Gunakan perintah berikut untuk mendaftarkan penyedia sumber:

    Register-AzResourceProvider -ProviderNamespace "Microsoft.DataMigration"
    

FAQ

Mengapa tampilan hilang di langkah layar koleksi pilihan saat Azure DocumentDB mendukung tampilan?

Azure DocumentDB mendukung pembuatan tampilan baru. Namun, ekstensi migrasi tidak memberikan dukungan untuk memigrasikan tampilan yang ada.

Setelah migrasi selesai, Anda selalu dapat membuat ulang tampilan.

Koleksi dan database mana yang dilewati saat bermigrasi dari MongoDB ke Azure DocumentDB?

Database dan koleksi berikut dianggap internal untuk MongoDB:

Kategori Description
Database admin, lokal, konfigurasi sistem
Koleksi Koleksi apa pun dengan awalan system.

Apakah pekerjaan migrasi berjalan secara lokal di komputer saya?

Database dan koleksi dicantumkan langsung di UI wizard menggunakan perintah yang dijalankan dari klien VS Code lokal. Fungsionalitas ini memerlukan konektivitas jaringan antara komputer yang menjalankan Visual Studio Code dan lingkungan sumber dan target.

Tugas migrasi data dijalankan oleh Azure Database Migration Service (DMS). DMS adalah layanan yang dihosting Azure yang mengatur dan mengelola aktivitas pergerakan data. Setelah tugas migrasi dibuat, Anda tidak perlu lagi mempertahankan konektivitas ke lingkungan sumber dan target.

Bisakah saya mengganti nama database dan koleksi selama migrasi?

Ekstensi tidak mendukung penggantian nama database dan koleksi selama migrasi.

Bagaimana cara mengonfigurasi firewall server sumber saya untuk menghindari masalah konektivitas?

Konfigurasi jaringan yang diperlukan tergantung pada mode konektivitas yang dipilih:

  • Mode publik: Anda harus memperbolehkan alamat IP yang ditampilkan dalam wizard pada firewall sumber dan target untuk mengaktifkan komunikasi.
  • Mode privat: Anda harus mengaktifkan integrasi jaringan virtual sehingga server DMS dapat berkomunikasi dengan aman dengan titik akhir sumber dan target dalam jaringan virtual.

Lihat juga konektivitas Visual Studio Code

Berapa banyak database dan koleksi yang dapat saya migrasikan dalam satu migrasi?

Anda dapat menyertakan hingga 25 koleksi dalam satu migrasi. Namun, Anda dapat membuat dan menjalankan beberapa pekerjaan migrasi untuk memigrasikan koleksi lain.

Berapa banyak pekerjaan migrasi yang dapat saya jalankan secara bersamaan?

Anda dapat menjalankan beberapa pekerjaan migrasi saat menggunakan akses publik. Namun, saat menggunakan akses privat, satu jaringan virtual hanya dapat mendukung satu pekerjaan aktif pada satu waktu. Untuk menjalankan beberapa pekerjaan dengan akses privat, Anda perlu menggunakan jaringan virtual yang berbeda untuk setiap pekerjaan.

Jenis log apa yang dihasilkan ekstensi?

Ekstensi mencatat kesalahan, peringatan, dan log diagnostik lainnya di direktori log default:

  • Windows - C:\Users\<username>\.dmamongo\logs\
  • Linux - ~/.dmamongo/logs
  • macOS - /Users/<username>/.dmamongo/logs

Langkah selanjutnya