Migrasikan database Db2 dari Amazon ke EC2 Aurora MySQL yang kompatibel dengan menggunakan AWS DMS - AWS Prescriptive Guidance

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

Migrasikan database Db2 dari Amazon ke EC2 Aurora MySQL yang kompatibel dengan menggunakan AWS DMS

Pinesh Singal, Amazon Web Services

Ringkasan

Setelah memigrasikan database IBM Db2 untuk LUW ke Amazon Elastic Compute Cloud ( EC2Amazon), pertimbangkan untuk merancang ulang database dengan pindah ke database cloud-native Amazon Web Services (AWS). Pola ini mencakup migrasi database IBM Db2 untuk LUW yang berjalan pada instans Amazon ke database Amazon Aurora MySQL EC2 Edition yang kompatibel dengan AWS.  

Pola ini menggambarkan strategi migrasi online dengan downtime minimal untuk database sumber Db2 multi-terabyte dengan jumlah transaksi yang tinggi. 

Pola ini menggunakan AWS Schema Conversion Tool (AWS SCT) untuk mengonversi skema database Db2 menjadi skema yang kompatibel dengan Aurora MySQL. Kemudian pola menggunakan AWS Database Migration Service (AWS DMS) untuk memigrasikan data dari database Db2 ke database yang kompatibel dengan Aurora MySQL. Konversi manual akan diperlukan untuk kode yang tidak dikonversi oleh AWS SCT.

Prasyarat dan batasan

Prasyarat

  • Akun AWS aktif dengan virtual private cloud (VPC)

  • AWS SCT

  • AWS DMS

Versi produk

  • AWS SCT versi terbaru

  • Db2 untuk Linux versi 11.1.4.4 dan yang lebih baru

Arsitektur

Tumpukan teknologi sumber

  • DB2/Linux x86-64 bit dipasang pada sebuah instance EC2  

Tumpukan teknologi target

  • Instans database Edisi yang kompatibel dengan Amazon Aurora MySQL

Arsitektur sumber dan target

Diagram berikut menunjukkan arsitektur migrasi data antara sumber Db2 dan target database yang kompatibel dengan Aurora MySQL. Arsitektur pada AWS Cloud mencakup virtual private cloud (VPC) (Virtual Private Cloud), Availability Zone, subnet publik untuk instans Db2 dan instans replikasi AWS DMS, dan subnet pribadi untuk database yang kompatibel dengan Aurora MySQL.

Arsitektur migrasi data antara sumber Db2 dan target database yang kompatibel dengan Aurora MySQL.

Alat

Layanan AWS

  • Amazon Aurora adalah mesin database relasional yang dikelola sepenuhnya yang dibangun untuk cloud dan kompatibel dengan MySQL dan PostgreSQL.

  • AWS Database Migration Service (AWS DMS) membantu Anda memigrasikan penyimpanan data ke AWS Cloud atau antara kombinasi pengaturan cloud dan lokal.

  • Amazon Elastic Compute Cloud (Amazon EC2) menyediakan kapasitas komputasi yang dapat diskalakan di AWS Cloud. Anda dapat meluncurkan server virtual sebanyak yang Anda butuhkan dan dengan cepat meningkatkannya ke atas atau ke bawah.

  • AWS Schema Conversion Tool (AWS SCT) mendukung migrasi database heterogen dengan secara otomatis mengonversi skema basis data sumber dan sebagian besar kode kustom ke format yang kompatibel dengan database target. AWS SCT mendukung sebagai sumber IBM Db2 untuk LUW versi 9.1, 9.5, 9.7, 10.1, 10.5, 11.1, dan 11.5.

Praktik terbaik

Untuk praktik terbaik, lihat Praktik terbaik untuk AWS Database Migration Service.

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Buat database IBM Db2 di Amazon. EC2

Anda dapat membuat database IBM Db2 pada EC2 instans dengan menggunakan Amazon Machine Image (AMI) dari AWS Marketplace atau dengan menginstal perangkat lunak Db2 pada instans. EC2

Luncurkan EC2 instance dengan memilih AMI untuk IBM Db2 (misalnya, IBM Db2 v11.5.7 RHEL 7.9), yang mirip dengan database lokal.

DBA, AWS Umum

Konfigurasikan grup keamanan.

Konfigurasikan aturan masuk grup keamanan VPC untuk SSH (Secure Shell) dan TCP dengan port 22 dan 50000, masing-masing.

AWS Umum

Buat instance database.

Buat instance baru (pengguna) dan database (skema), atau gunakan db2inst1 contoh default dan database sampel.

  1. Connect ke EC2 instance dengan menggunakan terminal untuk terhubung ke database Db2. Atau, Anda dapat menginstal perangkat lunak klien DB apa pun yang akan terhubung ke database Db2.

  2. Untuk mengatur kata sandi pengguna db2inst1, jalankan perintah. sudo passwd db2inst1

  3. Untuk terhubung ke instance db2inst1, jalankan perintah. sudo su - db2inst1

  4. Untuk terhubung ke database Db2, jalankan perintah. db2

  5. Untuk terhubung ke database sampel, gunakan perintahconnect to sample. Atau, sambungkan ke database yang Anda buat.

  6. Setelah Anda terhubung ke instance database, buat objek dan masukkan data ke dalam objek ini dengan menggunakan pernyataan SQL Db2.

DBA

Konfirmasikan bahwa instans Db2 DB tersedia.

Untuk mengonfirmasi bahwa instance database Db2 aktif dan berjalan, gunakan perintah. Db2pd -

DBA
TugasDeskripsiKeterampilan yang dibutuhkan

Buat database yang kompatibel dengan Aurora MySQL.

Buat Amazon Aurora dengan Database kompatibilitas MySQL dari layanan AWS RDS

  • Buat database di Amazon Aurora dengan kompatibilitas MySQL dan versi pilihan Anda, misalnya Aurora (MySQL) —5.6.10a

  • Instal aplikasi MySQL Workbench atau perangkat lunak klien DB pilihan Anda yang memungkinkan Anda terhubung ke database MySQL

DBA, AWS Umum

Konfigurasikan grup keamanan.

Konfigurasikan aturan masuk grup keamanan VPC untuk koneksi SSH dan TCP.

AWS Umum

Konfirmasikan bahwa database Aurora tersedia.

Untuk memastikan bahwa database yang kompatibel dengan Aurora MySQL aktif dan berjalan, lakukan hal berikut:

  1. Connect ke EC2 instance melalui SSH.

  2. Konfigurasikan dan sambungkan ke instance yang kompatibel dengan Aurora MySQL dari MySQL Workbench. Gunakan endpoint sebagai nama host, seperti yang ditunjukkan pada contoh berikut.

     mysql-cluster-instance-1.cokmvis0v46q.us-east-1.rds.amazonaws.com
  3. Buat dan sambungkan ke skema baru (misalnya,mysql-sample-db2).

  4. Jalankan pernyataan MySQL untuk memeriksa skema dan objek dalam database.

DBA
TugasDeskripsiKeterampilan yang dibutuhkan

Instal AWS SCT.

Unduh dan instal versi terbaru AWS SCT (versi terbaru saat ini 1.0.628).

AWS Umum

Konfigurasikan AWS SCT.

  1. Unduh driver Java Database Connectivity (JDBC) untuk IBM Db2 (versi 4.22.X) dan MySQL (8.x).

  2. Untuk mengonfigurasi driver di AWS SCT, pilih Pengaturan, Pengaturan global, Driver.

AWS Umum

Buat proyek AWS SCT.

Buat proyek AWS SCT dan laporkan yang menggunakan Db2 untuk LUW sebagai mesin DB sumber dan Aurora MySQL yang kompatibel dengan mesin DB target.

Untuk mengidentifikasi hak istimewa yang diperlukan untuk terhubung ke database Db2 untuk LUW, lihat Menggunakan Db2 LUW sebagai sumber AWS SCT.

AWS Umum

Validasi objek.

Pilih skema Muat, validasi objek. Perbarui objek yang salah pada database target:

  1. Sambungkan ke server Amazon Aurora MySQL yang kompatibel dengan menyediakan detail koneksi, dan pilih Uji koneksi.

    Koneksi sumber dan target harus berhasil sebelum AWS SCT dapat memulai laporan migrasi.

  2. Setelah laporan selesai, masukkan skema yang akan dikonversi, dan pilih Selesai.

    AWS SCT mencantumkan objek sumber dan target apa pun yang dikonversi dan memiliki kesalahan.

  3. Tinjau kesalahan, dan bersihkan secara manual.

  4. Setelah semua kesalahan dihapus, buka menu konteks (klik kanan) untuk skema, dan pilih Muat skema.

  5. Pilih Terapkan ke database.

  6. Di MySQL Workbench, sambungkan ke database yang kompatibel dengan Aurora MySQL, dan periksa skema dan objek.

DBA, AWS Umum
TugasDeskripsiKeterampilan yang dibutuhkan

Buat contoh replikasi.

Masuk ke AWS Management Console, navigasikan ke layanan AWS DMS, dan buat instance replikasi dengan pengaturan yang valid untuk grup keamanan VPC yang Anda konfigurasikan untuk basis data sumber dan target.

AWS Umum

Buat titik akhir.

Buat titik akhir sumber untuk database Db2, dan buat titik akhir target untuk database yang kompatibel dengan Aurora MySQL:

  1. Buat endpoint untuk IBM Db2 sebagai sumber dengan memilih Select RDS DB instance dan kemudian memilih instance Db2 yang Anda buat. Detail konfigurasi titik akhir akan diisi secara otomatis.

  2. Dalam pengaturan khusus titik akhir, tambahkan atribut koneksi tambahan berikut.

    CurrentLSN=<scan>; MaxKBytesPerRead=64; SetDataCaptureChanges=true

    Jika Anda tidak menyebutkan atribut ini, koneksi pengujian titik akhir sumber tidak akan berhasil. Untuk informasi selengkapnya, lihat Menggunakan IBM Db2 LUW sebagai sumber AWS DMS.

  3. Buat titik akhir untuk Aurora MySQL yang kompatibel dengan target dengan memilih instans Select RDS DB dan kemudian memilih instance Aurora MySQL yang kompatibel dengan yang Anda buat. Detail konfigurasi titik akhir akan diisi secara otomatis. Untuk informasi selengkapnya, lihat Menggunakan database yang kompatibel dengan MySQL sebagai target AWS Database Migration Service.

  4. Uji sumber dan titik akhir target. Konfirmasikan bahwa keduanya berhasil dan tersedia

  5. Jika pengujian gagal, pastikan aturan masuk grup keamanan valid.

AWS Umum

Buat tugas migrasi.

Buat tugas migrasi tunggal atau beberapa tugas migrasi untuk beban penuh dan validasi CDC atau Data:

  1. Untuk membuat tugas migrasi database, pilih contoh replikasi, titik akhir basis data sumber, titik akhir basis data target. Tentukan jenis migrasi sebagai Migrasikan data yang ada (beban penuh), Replikasi perubahan data saja (CDC), atau Migrasi data yang ada dan replikasi perubahan yang sedang berlangsung (beban penuh dan CDC).

  2. Di bawah Pemetaan tabel, Anda dapat mengonfigurasi aturan pemilihan dan aturan transformasi dalam format GUI atau JSON.

  3. Di bawah Aturan pemilihan, pilih skema, masukkan nama tabel, dan pilih Tindakan (Sertakan/Kecualikan) yang akan dikonfigurasi (misalnya, Skema: SAMPEL; Nama tabel:%, Tindakan: Sertakan).

  4. Di bawah Aturan transformasi, pilih target (Skema, Tabel, atau Kolom). Pilih nama skema, dan pilih tindakan (kasus, awalan, akhiran); misalnya, Target: Skema;mysql-sample-db; Tindakan: Buat huruf kecil.

  5. Aktifkan pemantauan Amazon CloudWatch Logs.

AWS Umum

Rencanakan proses produksi.

Konfirmasikan waktu henti dengan pemangku kepentingan seperti pemilik aplikasi untuk menjalankan AWS DMS dalam sistem produksi.

Pimpin migrasi

Jalankan tugas migrasi.

  1. Mulai tugas AWS DMS yang memiliki status Siap.

  2. Pantau log tugas migrasi di Amazon CloudWatch Logs untuk mengetahui kesalahan apa pun.

AWS Umum

Validasi data.

Tinjau hasil tugas migrasi dan data di sumber Db2 dan target database MySQL:

  1. Jika statusnya Memuat replikasi berkelanjutan lengkap, beban penuh dengan migrasi data CDC selesai, dan validasi sedang berlangsung.

  2. Connect ke database yang kompatibel dengan Aurora MySQL, dan periksa datanya.

  3. Periksa perubahan yang sedang berlangsung dengan memasukkan atau memperbarui data dalam database Db2.

DBA

Hentikan tugas migrasi.

Setelah validasi data berhasil diselesaikan, hentikan tugas migrasi validasi.

AWS Umum

Pemecahan Masalah

IsuSolusi

Sumber AWS SCT dan koneksi pengujian target gagal.

Konfigurasikan versi driver JDBC dan aturan masuk grup keamanan VPC untuk menerima lalu lintas masuk.

Uji titik akhir sumber Db2 gagal.

Konfigurasikan pengaturan koneksi tambahanCurrentLSN=<scan>;.

AWSDMS Tugas gagal terhubung ke sumber Db2, dan kesalahan berikut dikembalikan.

database is recoverable if either or both of the database configuration parameters LOGARCHMETH1 and LOGARCHMETH2 are set to ON

Untuk menghindari kesalahan, jalankan perintah berikut:

  1. $ db2 update db cfg for sample using LOGARCHMETH1 DISK:/home/db2inst1/logs

  2. $ db2stop

  3. $ db2start

  4. $ db2 connect to sample

    SQL1116N A connection to or activation of database "SAMPLE" cannot be made because of BACKUP PENDING.  SQLSTATE=57019
  5. $ db2 backup database sample to ../logs

    SQL2036N The path for the file or device "../logs" is not valid
  6. $ cd

  7. $ pwd

     /home/db2inst1
  8. $ mkdir /tmp/backup

  9. $ db2 backup database sample to /tmp/backup

    Backup successful. The timestamp for this backup image is : 20190530084921
  10. $ db2 connect to sample

    Database Connection Information Database server = DB2/LINUX 9.7.1 SQL authorization ID = DB2INST1 Local database alias = SAMPLE

Sumber daya terkait

Amazon EC2

Basis Data

AWS SCT

AWS DMS