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

Dalam tutorial ini, Anda menggunakan Azure DocumentDB Migration Extension di Visual Studio Code untuk membuat dan mengelola pekerjaan migrasi dari instans lokal atau cloud MongoDB 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.

Prerequisites

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

Izin minimal yang diperlukan

Gunakan peran minimum berikut untuk membuat dan menjalankan pekerjaan migrasi.

Peran minimum Scope Berlaku untuk mode konektivitas Kegunaan
Reader Subscription Publik dan privat Mencantumkan langganan dan grup sumber daya. Diperlukan untuk setiap pekerjaan migrasi.
Kontributor Azure Database Migration Service grup Sumber Daya Publik dan privat Buat Azure Database Migration Service (DMS). Anda tidak perlu membuat DMS baru untuk setiap migrasi. Satu DMS per wilayah sudah cukup.
Contributor Subscription Publik dan privat Daftarkan DMS dalam langganan. Ini adalah aktivitas satu kali dan dapat didelegasikan ke pengguna lain.
Administrator Akses Pengguna Jaringan virtual Hanya privat Tetapkan peran Kontributor Jaringan ke prinsipal objek DMS. Ini adalah aktivitas satu kali per jaringan virtual dan dapat didelegasikan ke pengguna lain.
Contributor Azure DocumentDB Publik dan privat Memicu pekerjaan migrasi.

Untuk detail pendaftaran penyedia, lihat Register Microsoft.DataMigration resource provider di langganan Anda.

Important

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

Lakukan migrasi

Untuk panduan perencanaan tentang ukuran, kecepatan, dan proses cutover dalam migrasi, lihat Praktik terbaik 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. Dari palet perintah, pilih Migrasi ke Azure DocumentDB. Screenshot dari palet perintah yang menampilkan daftar alat migrasi di Visual Studio Code.

  4. Lalu pilih Migrasikan ke Azure DocumentDB. Screenshot palet perintah memperlihatkan opsi migrasi di Visual Studio Code.

  5. Wizard migrasi memandu Anda melalui proses.

Membuat pekerjaan migrasi

Pekerjaan migrasi digunakan untuk memigrasikan sekelompok koleksi dari sumber ke tujuan Azure DocumentDB. 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.

    Important

    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.

Important

Pastikan penyedia sumber daya Microsoft.DataMigration terdaftar dalam 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 tentang model jaringan, lihat Konektivitas publik. Untuk panduan konfigurasi firewall, lihat konfigurasi Azure kluster DocumentDB firewall.

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. Untuk informasi selengkapnya tentang model jaringan, lihat Konektivitas privat.

  1. Perangkat ini memungkinkan hubungan langsung dengan dua jaringan virtual, satu untuk sumber dan yang lainnya untuk target. Bergantung pada konfigurasi jaringan Anda, pilih langganan, grup sumber daya, dan jaringan virtual dari menu dropdown.

  2. Di bagian Konfigurasi DMS , pilih rentang CIDR yang tidak bertentangan dengan jaringan virtual Anda.

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

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

Tip

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

Tip

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

Skenario migrasi

Ekstensi Migrasi Azure DocumentDB mendukung beberapa lingkungan sumber, termasuk instans MongoDB yang berjalan di Azure, pusat data lokal, dan penyedia cloud lainnya. Ekstensi ini menyediakan opsi konektivitas yang fleksibel untuk mengakomodasi konfigurasi jaringan dan persyaratan keamanan yang berbeda.

Lingkungan sumber yang didukung

Tabel berikut ini meringkas sumber migrasi yang didukung:

Lingkungan sumber Description
Di dalam Azure Instans MongoDB yang berjalan di Azure Virtual Machines atau layanan lain yang dihosting Azure
On-premises Server MongoDB yang berjalan di pusat data lokal atau infrastruktur privat Anda
Penyedia cloud lainnya Instans MongoDB yang dihosting di platform cloud lainnya

Konektivitas publik

Dalam mode konektivitas publik, Azure Database Migration Service (DMS) terhubung ke server sumber dan target Anda melalui internet publik. DMS menyediakan alamat IP statis yang Anda tambahkan ke daftar izin firewall di server sumber dan target. DMS menggunakan jaringan virtual publik bersama untuk semua migrasi dalam wilayah tertentu. Meskipun jaringan virtual ini dibagikan di seluruh pelanggan, setiap pekerjaan migrasi berjalan pada simpul pekerja pribadi yang terisolasi untuk memastikan isolasi tingkat pekerjaan.

Gunakan konektivitas publik saat:

  • Server sumber dan target Anda dapat diakses melalui alamat IP publik.
  • Kebijakan keamanan organisasi Anda mengizinkan koneksi melalui internet publik.
  • Anda memerlukan pengaturan yang lebih sederhana tanpa konfigurasi jaringan virtual.

Diagram yang memperlihatkan arsitektur jaringan untuk konektivitas publik.

Untuk mengaktifkan konektivitas publik:

  1. Di wizard migrasi, pilih Publik sebagai mode konektivitas.

  2. Perhatikan alamat IP statis yang ditampilkan dalam wizard.

  3. Tambahkan alamat IP ini ke daftar izin firewall di server MongoDB sumber Anda.

  4. Tambahkan alamat IP ini ke firewall Azure DocumentDB.

Konektivitas pribadi

Dalam mode konektivitas privat, DMS menyediakan jaringan virtual privat khusus untuk setiap pekerjaan migrasi dan menghubungkannya dengan jaringan virtual sumber dan target Anda. Ini berarti setiap pekerjaan mendapatkan simpul pekerja yang terisolasi dan jaringan yang terisolasi, memastikan bahwa tidak ada lalu lintas yang melintasi antara pekerjaan dan tidak ada jalur jaringan bersama antara pelanggan.

Ekstensi ini mendukung hingga dua jaringan virtual:

  • Jaringan virtual sumber: Jaringan virtual tempat server MongoDB sumber Anda dapat diakses.
  • jaringan virtual Target: Jaringan virtual tempat kluster DocumentDB Azure Anda dapat diakses.

Gunakan konektivitas privat saat:

  • Server sumber atau target Anda tidak dapat diakses melalui internet publik.
  • Organisasi Anda mengharuskan semua lalu lintas mengalir melalui jaringan privat.
  • Anda perlu menghindari paparan internet publik.

Dari penyedia cloud atau lokal lainnya

Gunakan alat VPN pilihan Anda untuk menyiapkan konektivitas jaringan antara Azure dan lingkungan sumber Anda di cloud atau lokal lain.

Diagram yang memperlihatkan arsitektur jaringan untuk konektivitas privat dari penyedia cloud atau lokal lain.

Dari titik akhir privat di Azure

Siapkan titik akhir privat untuk jaringan virtual sumber dan target.

Diagram yang memperlihatkan arsitektur jaringan untuk konektivitas privat dalam Azure

Untuk mengaktifkan konektivitas privat:

  1. Di wizard migrasi, pilih Privat sebagai mode konektivitas.

  2. Pilih langganan, grup sumber daya, dan jaringan virtual untuk lingkungan sumber Anda.

  3. Pilih langganan, grup sumber daya, dan jaringan virtual untuk lingkungan target Anda.

  4. Di bagian Konfigurasi DMS , pilih rentang CIDR yang tidak bertentangan dengan jaringan virtual Anda yang ada.

  5. Jalankan skrip PowerShell yang disediakan dalam wizard untuk mengaktifkan integrasi dan peering jaringan virtual.

Important

Saat menggunakan akses privat, satu jaringan virtual hanya dapat mendukung satu pekerjaan migrasi aktif pada satu waktu. Untuk menjalankan beberapa pekerjaan bersamaan, gunakan jaringan virtual yang berbeda untuk setiap pekerjaan.

Daftarkan 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

  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?

Wizard migrasi di Visual Studio Code memerlukan konektivitas jaringan dari komputer lokal Anda ke lingkungan sumber dan target. Konektivitas ini digunakan untuk menghitung database dan koleksi dan untuk mengirimkan pekerjaan migrasi. Setelah pekerjaan dikirimkan, Anda dapat menutup Visual Studio Code atau memutuskan sambungan dari lingkungan sumber dan target.

Migrasi data dijalankan sepenuhnya oleh Azure Database Migration Service (DMS), layanan yang dihosting Azure yang mengelola semua pergerakan data. DMS tidak mengandalkan komputer lokal atau Visual Studio Code Anda untuk eksekusi pekerjaan, sehingga konektivitas lokal tidak diperlukan setelah pengiriman pekerjaan.

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 jumlah koleksi yang tidak terbatas dalam satu migrasi.

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 berikutnya