Tutorial: Memigrasikan MongoDB ke Azure Cosmos DB untuk MongoDB RU offline menggunakan Azure Database Migration Service

BERLAKU UNTUK: MongoDB

Penting

Bacalah seluruh panduan ini sebelum melakukan langkah-langkah migrasi Anda. Azure Database Migration Service saat ini tidak mendukung migrasi ke akun Azure Cosmos DB for MongoDB vCore. Gunakan ekstensi Azure Cosmos DB for MongoDB di Azure Data Studio untuk memigrasikan beban kerja MongoDB Anda secara offline ke Azure Cosmos DB untuk MongoDB vCore.

Panduan migrasi MongoDB ini merupakan bagian dari rangkaian migrasi MongoDB. Langkah-langkah migrasi MongoDB yang kritis adalah pramigrasi, migrasi, dan pascamigrasi, seperti yang ditunjukkan di bawah ini.

Diagram of migration steps.

Gambaran umum migrasi data offline dari MongoDB ke Azure Cosmos DB menggunakan DMS

Gunakan Azure Database Migration Service untuk melakukan migrasi database offline satu kali dari instans lokal atau cloud MongoDB ke Azure Cosmos DB untuk MongoDB.

Dalam tutorial ini, Anda akan mempelajari cara:

  • Buat instans Azure Database Migration Service.
  • Membuat proyek migrasi dengan menggunakan Azure Database Migration Service.
  • Menjalankan migrasi.
  • Memantau migrasinya.

Dalam tutorial ini, Anda memigrasikan himpunan data di MongoDB yang dihosting di komputer virtual Azure. Dengan menggunakan Azure Database Migration Service, Anda memigrasikan himpunan data ke Azure Cosmos DB untuk MongoDB. Jika Anda belum menyiapkan sumber MongoDB, lihat artikel Memasang dan mengonfigurasi MongoDB pada VM Windows di Azure.

Prasyarat

Untuk menyelesaikan tutorial ini, Anda perlu:

  • Selesaikan langkah-langkah pra-migrasi seperti memperkirakan hasil dan memilih kunci partisi.

  • Buat akun untuk Azure Cosmos DB untuk MongoDB.

    Catatan

    DMS saat ini tidak didukung jika Anda bermigrasi ke akun Azure Cosmos DB for MongoDB yang disediakan dengan mode tanpa server.

  • Buat Microsoft Azure Virtual Network untuk Azure Database Migration Service dengan menggunakan Azure Resource Manager. Model penyebaran ini menyediakan konektivitas situs ke situs ke server sumber lokal Anda dengan menggunakan Azure ExpressRoute atau VPN. Untuk informasi selengkapnya tentang cara membuat jaringan virtual, lihat Dokumentasi Microsoft Azure Virtual Network, dan terutama artikel mulai cepat yang disertai detail langkah demi langkah.

    Catatan

    Selama penyiapan jaringan virtual, jika Anda menggunakan ExpressRoute dengan peering jaringan ke Microsoft, tambahkan titik akhir layanan berikut ke subnet tempat layanan akan diprovisikan:

    • Titik akhir database target (misalnya, titik akhir SQL atau titik akhir Azure Cosmos DB)
    • Titik akhir penyimpanan
    • Titik akhir bus layanan

    Konfigurasi ini diperlukan karena Azure Database Migration Service tidak memiliki konektivitas internet.

  • Pastikan aturan kelompok keamanan jaringan (NSG) Anda untuk jaringan virtual Anda tidak memblokir port komunikasi berikut: 53, 443, 445, 9354, dan 10000-20000. Untuk informasi selengkapnya, lihat Memfilter lalu lintas jaringan dengan kelompok keamanan jaringan.

  • Buka firewall Windows untuk mengizinkan Azure Database Migration Service untuk mengakses server MongoDB sumber, yang secara default adalah TCP port 27017.

  • Saat menggunakan appliance firewall di depan database sumber, Anda mungkin perlu menambahkan aturan firewall untuk mengizinkan Azure Database Migration Service mengakses database sumber untuk migrasi.

Konfigurasi fitur Percobaan Kembali Sisi Server

Anda dapat memperoleh keuntungan dari kemampuan tata kelola sumber daya jika Anda bermigrasi dari MongoDB ke Azure Cosmos DB. Dengan kemampuan ini, Anda dapat menggunakan sepenuhnya throughput unit permintaan (RU) yang diprovisi. Azure Cosmos DB dapat membatasi permintaan Database Migration Service tertentu selama migrasi, jika permintaan tersebut melebihi RU yang disediakan kontainer. Maka, permintaan itu perlu dicoba kembali.

Database Migration Service mampu melakukan percobaan ulang. Penting untuk dipahami bahwa waktu pulang-pergi yang terlibat dalam lompatan jaringan antara Database Migration Service dan Azure Cosmos DB memengaruhi waktu respons keseluruhan permintaan tersebut. Meningkatkan waktu respons untuk permintaan yang dibatasi dapat mempersingkat total waktu yang diperlukan untuk migrasi.

Fitur Percobaan Kembali Sisi Server Azure Cosmos DB memungkinkan layanan untuk mencegat kode kesalahan pembatasan dan mencoba lagi dengan waktu pulang-pergi yang jauh lebih rendah, sehingga secara dramatis meningkatkan waktu respons permintaan.

Untuk menggunakan Percobaan Kembali Sisi Server, di portal Microsoft Azure Cosmos DB, pilih Fitur>Percobaan Kembali Sisi Server.

Screenshot that shows where to find the Server Side Retry feature.

Jika fitur dinonaktifkan, pilih Aktifkan.

Screenshot that shows how to enable Server Side Retry.

Mendaftarkan penyedia sumber

Daftarkan penyedia sumber daya Microsoft.DataMigration sebelum Anda membuat instans pertama Azure Database Migration Service.

  1. Masuk ke portal Azure. Cari dan pilih Langganan.

    Show portal subscriptions

  2. Pilih langganan tempat Anda ingin membuat instans Azure Database Migration Service, lalu pilih Penyedia sumber daya.

    Show resource providers

  3. Cari migrasi, lalu pilih Daftar untuk Microsoft.DataMigration.

    Register resource provider

Membuat instans

  1. Di portal Azure, pilih + Buat sumber daya, cari Azure Database Migration Service, lalu pilih Azure Database Migration Service dari daftar drop-down.

    Screenshot that shows Azure Marketplace.

  2. Pada layar Azure Database Migration Service, pilih Buat.

    Screenshot that shows how to create an instance of Azure Database Migration Service.

  3. Di layar Buat Migration Service, tentukan nama untuk layanan, langganan, dan grup sumber daya baru atau yang sudah ada.

  4. Pilih lokasi tempat Anda ingin membuat instans Azure Database Migration Service.

  5. Pilih jaringan virtual yang ada atau buat jaringan baru.

    Jaringan virtual menyediakan Azure Database Migration Service dengan akses ke instans MongoDB sumber dan akun Azure Cosmos DB target.

    Untuk informasi selengkapnya tentang cara membuat jaringan virtual di portal Microsoft Azure, lihat artikel Membuat jaringan virtual menggunakan portal Microsoft Azure.

  6. Pilih tingkat harga.

    Untuk mengetahui informasi selengkapnya tentang tingkat biaya dan harga, lihat halaman harga.

    Screenshot that shows configuration settings for the instance of Azure Database Migration Service.

  7. Pilih Buat untuk membuat layanan.

Membuat proyek migrasi

Setelah Anda membuat layanan, temukan dalam portal Microsoft Azure, dan buka. Lalu buat proyek migrasi baru.

  1. Di portal Azure, pilih Semua layanan, cari Azure Database Migration Service, lalu pilih Azure Database Migration Services.

    Screenshot that shows how to locate all instances of Azure Database Migration Service.

  2. Di layar Azure Database Migration Services, cari nama instans Azure Database Migration Service yang Anda buat, lalu pilih instans tersebut.

  3. Pilih + Proyek Migrasi Baru.

  4. Pada Proyek migrasi baru, tentukan nama untuk proyek, dan dalam kotak teks Jenis server sumber, pilih MongoDB. Dalam kotak teks Jenis server target, pilih Azure Cosmos DB untuk NoSQL, lalu untuk Pilih jenis aktivitas, pilih Migrasi data offline.

    Screenshot that shows project options.

  5. Pilih Buat dan jalankan aktivitas untuk membuat proyek dan menjalankan aktivitas migrasi.

Menentukan detail sumber

  1. Di layar Detail sumber, tentukan detail koneksi untuk server MongoDB sumber.

    Penting

    Azure Database Migration Service tidak mendukung Azure Cosmos DB sebagai sumber.

    Ada tiga mode untuk menyambung ke sumber:

    • Mode standar, yang menerima nama domain yang sepenuhnya memenuhi syarat atau alamat IP, nomor port, dan kredensial koneksi.

    • Mode string koneksi, yang menerima string koneksi MongoDB seperti yang dijelaskan dalam Format URI String Koneksi.

    • Data dari penyimpanan Azure, yang menerima URL SAS kontainer blob. Pilih Blob berisi BSON crash dump jika kontainer blob memiliki BSON crash dump yang diproduksi oleh alat bsondump MongoDB. Jangan pilih opsi ini jika kontainer berisi file JSON.

      Jika Anda memilih opsi ini, pastikan bahwa string koneksi akun penyimpanan muncul dalam format berikut:

      https://blobnameurl/container?SASKEY
      

      Anda dapat menemukan string koneksi SAS kontainer blob ini di penjelajah Azure Storage. Membuat SAS untuk kontainer yang bersangkutan memberi Anda URL dalam format yang diminta.

      Selain itu, berdasarkan jenis informasi crash dump di Azure Storage, ingatlah detail berikut ini:

      • Untuk crash dump BSON, data dalam kontainer blob harus dalam format bsondump. Tempatkan file data ke dalam folder yang dinamai sesuai dengan database yang memuat dalam format collection.bson. Beri nama file metadata apa pun dengan menggunakan format collection.metadata.json.

      • Untuk dump JSON, file dalam kontainer blob harus ditempatkan ke dalam folder yang dinamai sesuai dengan database yang berisi. Dalam setiap folder database, file data harus ditempatkan dalam subfolder yang disebut data dan dinamai menggunakan format collection.json. Tempatkan file metadata dalam subfolder yang disebut metadata, dan dinamai menggunakan format yang sama, collection.json. File metadata harus dalam format yang sama seperti yang diproduksi oleh alat bsondump MongoDB.

    Penting

    Kami tidak menyarankan Anda menggunakan sertifikat yang ditandatangani sendiri di server MongoDB. Jika Anda harus menggunakannya, sambungkan ke server dengan menggunakan mode string koneksi, dan pastikan bahwa string koneksi Anda memiliki tanda kutip ("").

    &sslVerifyCertificate=false
    

    Anda dapat menggunakan alamat IP untuk situasi saat resolusi nama DNS tidak dimungkinkan.

    Screenshot that shows specifying source details.

  2. Pilih Simpan.

Tentukan detail target

  1. Pada layar Detail target migrasi, tentukan detail koneksi untuk akun Azure Cosmos DB target. Akun ini adalah akun Azure Cosmos DB for MongoDB yang telah disediakan sebelumnya tempat Anda memigrasikan data MongoDB.

    Screenshot that shows specifying target details.

  2. Pilih Simpan.

Memetakan ke database target

  1. Di layar Petakan ke database target, petakan database sumber dan target untuk migrasi.

    Jika database target berisi nama database yang sama dengan database sumber, Azure Database Migration Service memilih database target secara default.

    Jika string Buat muncul di samping nama database, ini menunjukkan bahwa Azure Database Migration Service tidak menemukan database target, dan layanan akan membuat database untuk Anda.

    Pada titik ini dalam migrasi, Anda dapat memprovisikan throughput. Di Azure Cosmos DB, Anda dapat memprovisikan throughput baik di tingkat database atau secara terpisah untuk setiap koleksi. Throughput diukur dalam unit permintaan. Pelajari selengkapnya tentang Harga Azure Cosmos DB.

    Screenshot that shows mapping to target databases.

  2. Pilih Simpan.

  3. Di layar Pengaturan koleksi, perluas daftar koleksi, lalu tinjau daftar koleksi yang akan dimigrasikan.

    Azure Database Migration Service secara otomatis memilih semua koleksi yang ada di instans MongoDB sumber yang tidak ada di akun Azure Cosmos DB target. Jika Anda ingin memigrasi ulang koleksi yang sudah menyertakan data, Anda harus secara eksplisit memilih koleksi di panel ini.

    Anda dapat menentukan jumlah RU yang Anda inginkan untuk digunakan koleksi. Azure Database Migration Service menyarankan default cerdas berdasarkan ukuran koleksi.

    Catatan

    Lakukan migrasi database dan koleksi secara paralel. Jika perlu, Anda dapat menggunakan beberapa instans Azure Database Migration Service untuk mempercepat proses.

    Anda juga dapat menentukan kunci pecahan untuk memanfaatkan pemartisian di Azure Cosmos DB untuk skalabilitas optimal. Pastikan untuk meninjau praktik terbaik untuk memilih kunci pecahan/partisi.

    Screenshot that shows selecting collections tables.

  4. Pilih Simpan.

  5. Pada layar Ringkasan migrasi, dalam kotak teks Nama aktivitas, tentukan nama untuk aktivitas migrasi.

    Screenshot that shows the nigration summary.

Menjalankan migrasi

Pilih Jalankan migrasi. Jendela aktivitas migrasi akan muncul, dan status aktivitasnya Belum dimulai.

Screenshot that shows the activity status.

Memantau migrasi

Pada layar aktivitas migrasi, pilih Segarkan untuk memperbarui tampilan hingga status migrasi ditampilkan Selesai.

Catatan

Anda dapat memilih aktivitas untuk mendapatkan detail metrik migrasi tingkat database dan koleksi.

Screnshot that shows the activity status completed.

Verifikasi data di Azure Cosmos DB

Setelah migrasi selesai, Anda dapat memeriksa akun Azure Cosmos DB Anda untuk memverifikasi bahwa semua koleksi berhasil dimigrasikan.

Screenshot that shows where to check your Azure Cosmos DB account to verify that all the collections were migrated successfully.

Pengoptimalan pasca migrasi

Setelah Anda memigrasikan data yang disimpan di database MongoDB ke Azure Cosmos DB for MongoDB, Anda dapat terhubung ke Azure Cosmos DB dan mengelola data. Anda juga dapat melakukan langkah-langkah pengoptimalan pasca-migrasi lainnya. Ini mungkin termasuk mengoptimalkan kebijakan pengindeksan, memperbarui tingkat konsistensi default, atau mengonfigurasi distribusi global untuk akun Azure Cosmos DB Anda. Untuk informasi lebih lanjut, lihat Pengoptimalan pasca-migrasi.

Sumber Daya Tambahan:

Langkah berikutnya

Tinjau panduan migrasi untuk skenario tambahan di Panduan Migrasi Azure Database.