Tutorial: Memigrasikan MongoDB ke Azure Cosmos DB untuk MongoDB RU online menggunakan Azure Database Migration Service
BERLAKU UNTUK: MongoDB
Penting
Migrasi ke Azure Cosmos DB untuk MongoDB vCore dapat dilakukan menggunakan ekstensi migrasi MongoDB untuk Azure Data Studio. Ekstensi ini memanfaatkan Azure Database Migration Service di latar belakang. Perhatikan bahwa migrasi ke Azure Cosmos DB untuk MongoDB vCore tidak dapat dilakukan menggunakan Database Migration Service pada portal Azure.
Panduan migrasi MongoDB ini merupakan bagian dari rangkaian migrasi MongoDB. Langkah-langkah migrasi MongoDB penting adalah pra-migrasi, migrasi, dan pascamigrasi.
Gambaran umum migrasi data online dari MongoDB ke Azure Cosmos DB menggunakan DMS
Anda dapat menggunakan Azure Database Migration Service untuk melakukan migrasi database online (waktu henti minimal) dari instans lokal atau cloud MongoDB ke Azure Cosmos DB for MongoDB.
Tutorial ini menunjukkan langkah-langkah yang terkait dengan penggunaan Azure Database Migration Service untuk memigrasikan data MongoDB ke Azure Cosmos DB:
- Buat instans Azure Database Migration Service.
- Buat proyek migrasi.
- Tentukan sumbernya.
- Tentukan targetnya.
- Petakan ke database target.
- Menjalankan migrasi.
- Memantau migrasinya.
- Verifikasi data di Azure Cosmos DB.
- Selesaikan migrasi saat Anda siap.
Dalam tutorial ini, Anda memigrasikan himpunan data di MongoDB yang dihosting di komputer virtual Azure ke Azure Cosmos DB for MongoDB dengan waktu henti minimal melalui Azure Database Migration Service. Jika Anda belum menyiapkan sumber MongoDB, lihat artikel Memasang dan mengonfigurasi MongoDB pada VM Windows di Azure.
Menggunakan Azure Database Migration Service untuk melakukan migrasi online mengharuskan pembuatan instans berdasarkan tingkat harga Premium.
Penting
Untuk pengalaman migrasi yang optimal, Microsoft menyarankan pembuatan instans Azure Database Migration Service di wilayah Azure yang sama dengan database target. Pemindahan data antarwilayah atau geografi dapat memperlambat proses migrasi.
Tip
Di Azure Database Migration Service, Anda dapat memigrasikan database Anda secara offline atau saat database online. Dalam migrasi offline, waktu henti aplikasi dimulai saat migrasi dimulai. Untuk membatasi waktu henti pada waktu yang diperlukan anda untuk memotong ke lingkungan baru setelah migrasi, gunakan migrasi online . Kami menyarankan agar Anda menguji migrasi offline untuk menentukan apakah waktu henti dapat diterima. Jika waktu henti yang diharapkan tidak dapat diterima, lakukan migrasi online.
Artikel ini menjelaskan migrasi online dari MongoDB ke Azure Cosmos DB untuk MongoDB. Untuk migrasi offline, lihat Tutorial: Memigrasikan MongoDB ke Azure Cosmos DB untuk MongoDB RU offline menggunakan Azure Database Migration Service.
Prasyarat
Untuk menyelesaikan tutorial ini, Anda perlu:
Selesaikan langkah-langkah pra-migrasi seperti memperkirakan hasil, memilih kunci partisi, dan kebijakan pengindeksan.
Buat akun Azure Cosmos DB for MongoDB dan pastikan Cegah kesalahan pembatasan tarif untuk operasi Azure Cosmos DB for MongoDB diaktifkan.
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 for Azure Database Migration Service dengan menggunakan model penyebaran Azure Resource Manager, yang menyediakan konektivitas antar-situs ke server sumber lokal Anda dengan menggunakan ExpressRoute atau VPN.
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, titik akhir Cosmos DB, serta sebagainya)
- Titik akhir penyimpanan
- Titik akhir bus layanan
Konfigurasi ini diperlukan karena Azure Database Migration Service tidak memiliki konektivitas internet.
Pastikan aturan Network Security Group (NSG) jaringan virtual Anda tidak memblokir port komunikasi berikut: 53, 443, 445, 9354, dan 10000-20000. Untuk mengetahui detail selengkapnya tentang pemfilteran lalu lintas NSG jaringan virtual, lihat artikel Memfilter lalu lintas jaringan dengan kelompok keamanan jaringan.
Buka Windows Firewall Anda untuk mengizinkan Azure Database Migration Service mengakses server MongoDB sumber, yang secara default adalah port TCP 27017.
Saat menggunakan appliance firewall di depan database sumber, Anda mungkin perlu menambahkan aturan firewall untuk memungkinkan Azure Database Migration Service mengakses database sumber untuk migrasi.
Mengonfigurasi Percobaan Ulang Sisi Server Azure Cosmos DB untuk migrasi yang efisien
Pelanggan yang bermigrasi dari MongoDB ke Azure Cosmos DB mendapatkan keuntungan dari kemampuan tata kelola sumber daya, yang menjamin kemampuan untuk sepenuhnya memanfaatkan RU/s throughput yang Anda sediakan. Azure Cosmos DB mungkin membatasi permintaan Layanan Migrasi Data tertentu selama migrasi jika permintaan tersebut melebihi RU/dtk yang disediakan kontainer; maka permintaan tersebut perlu dicoba kembali. Data Migration Service mampu melakukan percobaan ulang, tetapi waktu pulang-pergi yang terlibat dalam lompatan jaringan antara Data Migration Service dan Azure Cosmos DB berdampak pada waktu respons keseluruhan dari 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 kembali dengan waktu pulang-pergi yang lebih rendah, secara dramatis meningkatkan waktu respons permintaan.
Anda dapat menemukan kemampuan Server Side Retry di bilah Fitur portal Azure Cosmos DB
Dan jika Dinonaktifkan, kami sarankan Anda mengaktifkannya seperti yang ditunjukkan di bawah ini
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.
Pada layar Buat Layanan Migrasi, tentukan nama 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 virtual baru.
Jaringan virtual menyediakan Azure Database Migration Service dengan akses ke instans MongoDB sumber dan akun Azure Cosmos DB target.
Untuk mengetahui informasi selengkapnya tentang cara membuat jaringan virtual di portal Microsoft Azure, lihat artikel Membuat jaringan virtual menggunakan portal Microsoft Azure.
Pilih SKU dari tingkat harga Premium.
Catatan
Migrasi online hanya didukung saat menggunakan tingkat Premium. Untuk mengetahui informasi selengkapnya tentang tingkat biaya dan harga, lihat halaman harga.
Pilih Buat untuk membuat layanan.
Membuat proyek migrasi
Setelah layanan dibuat, temukan layanan di portal Azure, 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.
Sebagai alternatif, Anda dapat menemukan instans layanan Azure Database Migration dari panel pencarian di portal Microsoft Azure.
Pilih + Proyek Migrasi Baru.
Pada layar Proyek migrasi baru, tentukan nama untuk proyek, dalam kotak teks Jenis server sumber, pilih MongoDB, dalam kotak teks Jenis server target, pilih Azure Cosmos DB untuk MongoDB, lalu untuk Pilih jenis aktivitas, pilih Migrasi data online [pratinjau].
Pilih Simpan, lalu pilihBuat 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 artikel Format URI String Koneksi.
Data dari penyimpanan Azure, yang menerima URL SAS kontainer blob. Pilih Blob berisi dump BSON jika kontainer blob memiliki dump BSON yang diproduksi oleh alat bsondump MongoDB, dan batal pilih jika kontainer berisi file JSON.
Jika Anda memilih opsi ini, pastikan bahwa string koneksi akun penyimpanan muncul dalam format:
https://blobnameurl/container?SASKEY
Selain itu, berdasarkan jenis informasi dump di Azure Storage, ingatlah detail berikut ini.
Untuk dump BSON, data dalam kontainer blob harus dalam format bsondump, sehingga file data ditempatkan ke dalam folder yang dinamai sesuai dengan database yang berisi dalam format collection.bson. File metadata (jika ada) harus diberi nama 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. File metadata (jika ada) harus ditempatkan 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
Tidak disarankan untuk menggunakan sertifikat yang ditandatangani sendiri di server MongoDB. Namun, jika digunakan, silakan sambungkan ke server menggunakan mode string koneksi dan pastikan bahwa string koneksi Anda memiliki ""
&sslVerifyCertificate=false
Anda dapat menggunakan Alamat IP untuk situasi di mana resolusi nama DNS tidak dimungkinkan.
Pilih Simpan.
Alamat server Sumber harus menjadi alamat utama jika sumbernya adalah set replika, dan router jika sumbernya adalah kluster MongoDB yang dipecah. Untuk kluster MongoDB yang dipecah, Azure Database Migration Service harus dapat terhubung ke shard individual dalam kluster, yang mungkin memerlukan pembukaan firewall pada lebih banyak komputer.
Tentukan detail target
Pada layar Detail target migrasi, tentukan detail koneksi untuk akun Azure Cosmos DB target, yang merupakan Azure Cosmos DB yang telah disediakan sebelumnya untuk akun MongoDB tempat Anda memigrasikan data MongoDB Anda.
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, itu menunjukkan bahwa Azure Database Migration Service tidak menemukan database target, dan layanan akan membuat database untuk Anda.
Pada titik ini dalam migrasi, jika Anda ingin berbagi throughput pada database, tentukan RU throughput. Di Azure Cosmos DB, Anda dapat menyediakan throughput baik di tingkat database atau satu per satu untuk setiap koleksi. Throughput diukur dalam Unit Permintaan di Azure Cosmos DB (RU). 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 layar ini.
Anda dapat menentukan jumlah RU yang Anda inginkan untuk digunakan koleksi. Dalam kebanyakan kasus, nilai antara 500 (minimal 1.000 untuk koleksi yang dipecah) dan 4.000 sudah cukup. Azure Database Migration Service menyarankan default cerdas berdasarkan ukuran koleksi.
Lakukan migrasi dan pengumpulan database secara paralel menggunakan beberapa contoh Azure Database Migration Service, jika perlu, 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. Jika Anda tidak memiliki kunci partisi, Anda selalu dapat menggunakan _id sebagai kunci shard untuk throughput yang lebih baik.
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 Statusaktivitasnya akan ditampilkan.
Memantau migrasi
Di layar aktivitas migrasi, pilih Refresh untuk memperbarui tampilan hingga Status migrasi ditampilkan sebagai Memutar Ulang.
Catatan
Anda dapat memilih Aktivitas untuk mendapatkan detail metrik migrasi tingkat database dan pengumpulan.
Verifikasi data di Azure Cosmos DB
Buat perubahan di database MongoDB sumber.
Sambungkan ke Azure Cosmos DB untuk memverifikasi apakah data direplikasi dari server MongoDB sumber.
Menyelesaikan migrasi
Setelah semua dokumen dari sumber tersedia di target Azure Cosmos DB, pilih Selesai dari menu konteks aktivitas migrasi untuk menyelesaikan migrasi.
Tindakan ini akan selesai memutar ulang semua perubahan yang tertunda dan menyelesaikan migrasi.
Pengoptimalan pasca migrasi
Setelah Memigrasikan data yang disimpan dalam database MongoDB ke Azure Cosmos DB for MongoDB, Anda dapat menyambungkan ke Azure Cosmos DB dan mengelola data. Anda juga dapat melakukan langkah-langkah pengoptimalan pasca-migrasi seperti mengoptimalkan kebijakan pengindeksan, memperbarui tingkat konsistensi default, atau mengkonfigurasi distribusi global untuk akun Azure Cosmos DB Anda. Untuk informasi lebih lanjut, lihat artikel 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