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.
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.
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.
Jika fitur dinonaktifkan, pilih Aktifkan.
Mendaftarkan penyedia sumber
Daftarkan penyedia sumber daya Microsoft.DataMigration sebelum Anda membuat instans pertama Azure Database Migration Service.
Masuk ke portal Azure. Cari dan pilih Langganan.
Pilih langganan tempat Anda ingin membuat instans Azure Database Migration Service, lalu pilih Penyedia sumber daya.
Cari migrasi, lalu pilih Daftar untuk Microsoft.DataMigration.
Membuat instans
Di portal Azure, pilih + Buat sumber daya, cari Azure Database Migration Service, lalu pilih Azure Database Migration Service dari daftar dropdown.
Pada layar Azure Database Migration Service, pilih Buat.
Di layar Buat Migration Service, tentukan nama untuk layanan, langganan, dan grup sumber daya baru atau yang sudah ada.
Pilih lokasi tempat Anda ingin membuat instans Azure Database Migration Service.
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.
Pilih tingkat harga.
Untuk mengetahui informasi selengkapnya tentang tingkat biaya dan harga, lihat halaman harga.
Pilih Buat untuk membuat layanan.
Membuat proyek migrasi
Setelah Anda membuat layanan, temukan dalam portal Microsoft Azure, dan buka. Lalu buat proyek migrasi baru.
Di portal Azure, pilih Semua layanan, cari Azure Database Migration Service, lalu pilih Azure Database Migration Services.
Di layar Azure Database Migration Services, cari nama instans Azure Database Migration Service yang Anda buat, lalu pilih instans tersebut.
Pilih + Proyek Migrasi Baru.
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.
Pilih Buat dan jalankan aktivitas untuk membuat proyek dan menjalankan aktivitas migrasi.
Menentukan detail sumber
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.
Pilih Simpan.
Tentukan detail target
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.
Pilih Simpan.
Memetakan ke database target
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.
Pilih Simpan.
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.
Pilih Simpan.
Pada layar Ringkasan migrasi, dalam kotak teks Nama aktivitas, tentukan nama untuk aktivitas migrasi.
Menjalankan migrasi
Pilih Jalankan migrasi. Jendela aktivitas migrasi akan muncul, dan status aktivitasnya Belum dimulai.
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.
Verifikasi data di Azure Cosmos DB
Setelah migrasi selesai, Anda dapat memeriksa akun Azure Cosmos DB Anda untuk memverifikasi bahwa semua koleksi berhasil dimigrasikan.
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:
Mencoba melakukan perencanaan kapasitas untuk migrasi ke Azure Cosmos DB?
- Jika Anda hanya mengetahui jumlah vCore dan server di kluster database yang ada, baca tentang memperkirakan unit permintaan menggunakan vCore atau vCPU
- Jika Anda mengetahui rasio permintaan umum untuk beban kerja database Anda saat ini, baca memperkirakan unit permintaan menggunakan perencana kapasitas Azure Cosmos DB