Memutakhirkan cluster Amazon DocumentDB Anda menggunakan AWS Database Migration Service - Amazon DocumentDB

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memutakhirkan cluster Amazon DocumentDB Anda menggunakan AWS Database Migration Service

penting

Amazon DocumentDB tidak mengikuti siklus hidup dukungan yang sama seperti MongoDB dan jadwal MongoDB tidak berlaku untuk Amazon DocumentDB. end-of-life Tidak ada rencana saat ini end-of-life untuk Amazon DocumentDB 3.6, dan driver, aplikasi, dan alat MongoDB 3.6 Anda yang ada, akan terus bekerja dengan Amazon DocumentDB.

Anda dapat memutakhirkan cluster Amazon DocumentDB Anda ke versi yang lebih tinggi dengan penggunaan downtime minimal. AWS DMS AWS DMS adalah layanan yang dikelola sepenuhnya yang memudahkan untuk bermigrasi dari versi Amazon DocumentDB yang lebih lama, database relasional, dan basis data non-relasional ke cluster Amazon DocumentDB target Anda.

Langkah 1: Aktifkan aliran perubahan

Untuk melakukan migrasi downtime minimal, AWS DMS memerlukan akses ke aliran perubahan kluster. Streaming perubahan Amazon DocumentDB menyediakan urutan waktu kejadian pembaruan yang terjadi dalam koleksi dan basis data klaster Anda. Membaca dari aliran perubahan memungkinkan AWS DMS untuk melakukan pengambilan data perubahan (CDC) dan menerapkan pembaruan tambahan ke cluster Amazon DocumentDB target.

Untuk mengaktifkan streaming perubahan bagi semua koleksi pada basis data tertentu, lakukan autentikasi ke klaster Amazon DocumentDB Anda dengan menggunakan mongo shell dan jalankan perintah berikut:

db.adminCommand({modifyChangeStreams: 1, database: "db_name", collection: "", enable: true});

Langkah 2: Ubah durasi retensi aliran perubahan

Selanjutnya, ubah periode retensi streaming perubahan berdasarkan berapa lama Anda ingin mempertahankan peristiwa perubahan di streaming perubahan. Misalnya, jika Anda mengharapkan migrasi AWS DMS klaster Amazon DocumentDB memakan waktu 12 jam, Anda harus menyetel retensi aliran perubahan ke nilai yang lebih besar dari 12 jam. Periode retensi default untuk klaster Amazon DocumentDB Anda adalah tiga jam. Anda dapat mengubah durasi retensi log aliran perubahan untuk klaster Amazon DocumentDB Anda menjadi antara satu jam dan tujuh hari menggunakan AWS Management Console atau. AWS CLI Untuk detail selengkapnya, lihat Memodifikasi Durasi Retensi Log Streaming Perubahan.

Langkah 3: Migrasikan indeks Anda

Buat indeks yang sama pada cluster Amazon DocumentDB target yang Anda miliki di cluster Amazon DocumentDB sumber Anda. Meskipun AWS DMS menangani migrasi data, itu tidak memigrasikan indeks. Untuk memigrasikan indeks, gunakan Alat Indeks Amazon DocumentDB untuk mengekspor indeks dari cluster Amazon DocumentDB sumber. Anda bisa mendapatkan alat ini dengan membuat tiruan dari repo alat Amazon GitHub DocumentDB dan mengikuti instruksi di. README.md Anda dapat menjalankan alat dari EC2 instans Amazon atau AWS Cloud9 lingkungan yang berjalan di VPC Amazon yang sama dengan cluster Amazon DocumentDB Anda.

Dalam contoh berikut, ganti masing-masing user input placeholder dengan informasi Anda sendiri.

Kode berikut membuang indeks dari cluster Amazon DocumentDB sumber Anda:

python migrationtools/documentdb_index_tool.py --dump-indexes --uri mongodb://sample-user:user-password@sample-source-cluster.node.us-east 1.docdb.amazonaws.com:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false' --dir ~/index.js/ 2020-02-11 21:51:23,245: Successfully authenticated to database: admin2020-02-11 21:46:50,432: Successfully connected to instance docdb-40-xx.cluster-xxxxxxxx.us-east-1.docdb.amazonaws.com:27017 2020-02-11 21:46:50,432: Retrieving indexes from server...2020-02-11 21:46:50,440: Completed writing index metadata to local folder: /home/ec2-user/index.js/

Setelah indeks Anda berhasil diekspor, pulihkan indeks tersebut di cluster Amazon DocumentDB target Anda. Untuk memulihkan indeks yang Anda ekspor di langkah sebelumnya, gunakan Alat Indeks Amazon DocumentDB. Perintah berikut mengembalikan indeks di cluster Amazon DocumentDB target Anda dari direktori yang ditentukan.

python migrationtools/documentdb_index_tool.py --restore-indexes --uri mongodb://sample-user:user-password@sample-destination-cluster.node.us-east 1.docdb.amazonaws.com:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false' --dir ~/index.js/ 2020-02-11 21:51:23,245: Successfully authenticated to database: admin2020-02-11 21:51:23,245: Successfully connected to instance docdb-50-xx.cluster-xxxxxxxx.us-east-1.docdb.amazonaws.com:27017 2020-02-11 21:51:23,264: testdb.coll: added index: _id

Untuk mengonfirmasi bahwa Anda memulihkan indeks dengan benar, sambungkan ke cluster Amazon DocumentDB target Anda dengan shell mongo dan daftarkan indeks untuk koleksi tertentu. Jalankan kode berikut:

mongo --ssl --host docdb-xx-xx.cluster-xxxxxxxx.us-east-1.docdb.amazonaws.com:27017 --sslCAFile rds-ca-2019-root.pem --username documentdb --password documentdb db.coll.getIndexes()

Langkah 4: Buat contoh AWS DMS replikasi

Instans AWS DMS replikasi menghubungkan dan membaca data dari kluster Amazon DocumentDB sumber Anda dan menuliskannya sebagai klaster Amazon DocumentDB target Anda. Instance AWS DMS replikasi dapat melakukan operasi beban massal dan CDC. Sebagian besar pemrosesan ini terjadi di memori. Namun, operasi besar mungkin memerlukan buffering pada disk. Transaksi cache dan file log juga ditulis pada disk. Setelah data dimigrasikan, instans replikasi juga mengalirkan peristiwa perubahan apa pun untuk memastikan sinkronisasi antara sumber dan target.

Untuk membuat contoh AWS DMS replikasi:

  1. Buka AWS DMS konsol.

  2. Di panel navigasi, pilih Instans replikasi.

  3. Pilih Membuat instans replikasi dan masukkan informasi berikut:

    • Untuk Nama, masukkan nama pilihan Anda. Misalnya, docdb36todocdb40.

    • Untuk Deskripsi, masukkan deskripsi pilihan Anda. Untuk item daftar, instans replikasi Amazon DocumentDB 3.6 ke Amazon DocumentDB 4.0.

    • Untuk Kelas instans, pilih ukuran berdasarkan kebutuhan Anda.

    • Untuk Versi mesin, pilih 3.4.1.

    • Untuk Amazon VPC, pilih Amazon VPC yang menampung sumber Anda dan menargetkan cluster Amazon DocumentDB.

    • Untuk Penyimpanan yang dialokasikan (GiB), gunakan default 50 GiB. Jika Anda memiliki beban kerja throughput tulis yang tinggi, tingkatkan nilai ini agar sesuai dengan beban kerja Anda.

    • Untuk Multi-AZ, pilih Ya jika Anda membutuhkan ketersediaan tinggi dan dukungan failover.

    • Untuk Dapat diakses publik, aktifkan opsi ini.

    Gambar: Dialog konfigurasi contoh replikasi yang menunjukkan 10 bidang dan tombol yang dapat dikonfigurasi.
  4. Pilih Buat instans replikasi.

Langkah 5: Buat titik akhir AWS DMS sumber

Titik akhir sumber digunakan untuk cluster Amazon DocumentDB sumber.

Untuk membuat titik akhir sumber

  1. Buka AWS DMS konsol.

  2. Di panel navigasi, pilih Titik akhir.

  3. Pilih Create endpoint, dan masukkan informasi berikut:

    • Untuk Jenis titik akhir, pilih Sumber.

    • >Untuk Pengenal Titik Akhir, masukkan nama yang mudah diingat, misalnya docdb-source.

    • Untuk Mesin sumber, pilih docdb.

    • Untuk nama Server, masukkan nama DNS dari cluster Amazon DocumentDB sumber Anda.

    • Untuk Port, masukkan nomor port cluster Amazon DocumentDB sumber Anda.

    • Untuk Mode SSL, pilih verify-full.

    • Untuk Sertifikat CA, pilih Menambahkan sertifikat CA baru. Unduh sertifikat CA baru untuk membuat paket koneksi TLS. Untuk Pengenal sertifikat, masukkan rds-combined-ca-bundle . Untuk Impor file sertifikat, pilih Pilih file dan navigasikan ke .pem yang Anda unduh sebelumnya. Pilih dan buka file. Pilih Impor sertifikat, lalu pilih rds-combined-ca-bundle dari menu pilihan menurun Pilih sertifikat

    • Untuk nama Pengguna, masukkan nama pengguna utama cluster Amazon DocumentDB sumber Anda.

    • Untuk Kata Sandi, masukkan kata sandi utama cluster Amazon DocumentDB sumber Anda.

    • Untuk Nama basis data, masukkan nama basis data yang Anda cari untuk melakukan peningkatan.

    Gambar: Dialog konfigurasi titik akhir untuk AWS DMS sumber yang menampilkan sembilan bidang yang dapat dikonfigurasi dan menu drop-down.
  4. Uji koneksi Anda untuk memverifikasi keberhasilan pengaturannya.

    Gambar: Uji dialog koneksi titik akhir untuk AWS DMS sumber yang menunjukkan dua menu drop-down, tombol uji, dan daftar tes yang dijalankan.
  5. Pilih Buat Titik Akhir.

catatan

AWS DMS hanya dapat memigrasikan satu database pada satu waktu.

Langkah 6: Buat titik akhir AWS DMS target

Titik akhir target adalah untuk cluster Amazon DocumentDB target Anda.

Untuk membuat titik akhir target:

  1. Buka konsol AWS DMS.

  2. Di panel navigasi, pilih Titik akhir.

  3. Pilih Buat titik akhir dan masukkan informasi berikut:

    • Untuk Jenis titik akhir, pilih Target.

    • Untuk Pengenal Titik Akhir, masukkan nama yang mudah diingat, misalnya docdb-target.

    • Untuk Mesin sumber, pilih docdb.

    • Untuk nama Server, masukkan nama DNS kluster Amazon DocumentDB target Anda.

    • Untuk Port, masukkan nomor port cluster Amazon DocumentDB target Anda.

    • Untuk Mode SSL, pilih verify-full.

    • Untuk sertifikat CA, pilih sertifikat yang ada rds-combined-ca-bundle dari pilihan menurun Pilih sertifikat.

    • Untuk nama Pengguna, masukkan nama pengguna utama klaster Amazon DocumentDB target Anda.

    • Untuk Kata Sandi, masukkan kata sandi utama klaster Amazon DocumentDB target Anda.

    • Untuk nama Basis data, masukkan nama basis data yang sama dengan yang Anda gunakan untuk mengatur titik akhir sumber Anda.

    Gambar: Dialog konfigurasi titik akhir untuk AWS DMS target yang menampilkan sembilan bidang yang dapat dikonfigurasi dan menu drop-down.
  4. Uji koneksi Anda untuk memverifikasi keberhasilan pengaturannya.

    Gambar: Uji dialog koneksi titik akhir untuk AWS DMS target yang menampilkan dua menu drop-down, tombol uji, dan daftar tes yang dijalankan.
  5. Pilih Buat Titik Akhir.

Langkah 7: Buat dan jalankan tugas migrasi

AWS DMS Tugas mengikat instance replikasi dengan instance sumber dan target Anda. Saat membuat tugas migrasi, Anda menentukan titik akhir sumber, titik akhir target, contoh replikasi, dan setelan migrasi yang diinginkan. AWS DMS Tugas dapat dibuat dengan tiga jenis migrasi yang berbeda - memigrasikan data yang ada, memigrasikan data yang ada, dan mereplikasi perubahan yang sedang berlangsung atau hanya mereplikasi perubahan data. Karena tujuan dari panduan ini adalah untuk memutakhirkan cluster Amazon DocumentDB dengan waktu henti minimal, langkah-langkahnya menggunakan opsi untuk memigrasikan data yang ada dan mereplikasi perubahan yang sedang berlangsung. Dengan opsi ini, AWS DMS menangkap perubahan saat memigrasi data yang ada. AWS DMS terus menangkap dan menerapkan perubahan bahkan setelah data massal dimuat. Terakhir, basis data sumber dan target akan disinkronkan, sehingga migrasi waktu henti yang minimal bisa didapatkan.

Berikut adalah langkah-langkah untuk membuat tugas migrasi untuk migrasi downtime minimal:

  1. Buka AWS DMS konsol.

  2. Di panel navigasi, pilih Tugas migrasi database.

  3. Pilih Buat tugas migrasi database dan masukkan informasi berikut di bagian Konfigurasi tugas:

    Gambar: Dialog konfigurasi tugas untuk tugas migrasi.
  4. Masukkan informasi berikut di bagian Pengaturan tugas:

    • Untuk bagian mode persiapan tabel Target, pilih Jangan lakukan apa-apa. Ini akan memastikan bahwa indeks yang dibuat pada langkah 3 tidak akan dijatuhkan.

    • Untuk sub-bagian Log tugas, pilih Aktifkan CloudWatch log.

    • Untuk konfigurasi memulai tugas migrasi, pilih Otomatis saat pembuatan. Pilihan ini akan memulai tugas migrasi secara otomatis setelah Anda membuatnya.

    • Pilih Buat tugas migrasi database.

AWS DMS sekarang mulai memigrasikan data dari cluster Amazon DocumentDB sumber Anda ke cluster Amazon DocumentDB target Anda. Status tugas harus berubah dari Mulai Menjalankan. Anda dapat memantau kemajuan dengan memilih Tugas di AWS DMS konsol. Setelah beberapa menit/jam (bergantung pada ukuran migrasi Anda), statusnya akan berubah dari menjadi Pemuatan selesai, replikasi sedang berlangsung. Ini berarti bahwa AWS DMS telah menyelesaikan migrasi muatan penuh dari cluster Amazon DocumentDB sumber Anda ke cluster Amazon DocumentDB target dan sekarang mereplikasi peristiwa perubahan.

Gambar: Dialog ringkasan migrasi.

Akhirnya sumber dan target Anda akan sinkron. Anda dapat memverifikasi apakah semuanya telah sinkron dengan menjalankan operasi count() pada koleksi Anda guna memverifikasi bahwa semua peristiwa perubahan telah dimigrasikan.

Langkah 8: Mengubah endpoint aplikasi ke cluster Amazon DocumentDB target

Setelah pemuatan penuh selesai dan proses CDC mereplikasi terus menerus, Anda siap untuk mengubah titik akhir koneksi database aplikasi Anda dari cluster Amazon DocumentDB sumber Anda ke cluster Amazon DocumentDB target Anda.