Database MySQL dan database PostgreSQL keduanya adalah sistem manajemen database relasional open source (RDBMS) yang masing-masing menempati peringkat 2 dan 4, menurut DBEngines.com. Keduanya diimplementasikan dalam C (C++ juga digunakan untuk database MySQL) dan keduanya menyediakan fitur serupa, seperti dukungan XML, indeks sekunder, konkurensi, daya tahan, dan fungsi yang ditentukan pengguna. Database PostgreSQL memberikan beberapa keunggulan, beberapa di antaranya adalah sebagai berikut:
- Mendukung tipe data tingkat lanjut seperti array multidimensi dan tipe yang ditentukan pengguna
- Common Table Expressions (CTEs) dan fungsi Window telah tersedia sejak PostgreSQL 8.4, sementara hanya ditambahkan ke MySQL pada versi 8.0
- Mendukung gabungan luar penuh
- Mendukung VALUES daftar untuk menghasilkan 'tabel konstan' yang dapat digunakan dalam kueri
- Mendukung kumpulan fungsi pengembalian generate_series
- Mendukung kueri paralel dengan menggunakan beberapa CPU untuk menjawab kueri lebih cepat sejak versi 9.6
- Mendukung Tampilan yang Terwujud
Jika bermigrasi dari MySQL ke AWS database PostgreSQL, DMS (Database Migration Service) menyediakan layanan terkelola yang andal dengan waktu henti nol untuk replikasi data berkelanjutan. Dalam empat tutorial, kita akan membahas migrasi instans database MySQL ke database PostgreSQL, keduanya berjalan di AWS Relational Database Service (RDS). Tutorial ini memiliki bagian berikut:
- Mengatur Lingkungan
- Membuat Pengguna IAM untuk DMS
Mengatur Lingkungan
Satu-satunya prasyarat adalah akun AWS, yang dapat dibuat di tautan ini. Buat kunci enkripsi master KMS untuk digunakan dengan DMS jika kunci master belum tersedia. Kunci master KMS dibuat dari IAM>Kunci enkripsi dasbor. Kami telah menggunakan kunci enkripsi master KMS yang disebut “dbms” dalam tutorial ini.
Instal database MySQL dan database PostgreSQL pada mesin lokal untuk menggunakan aplikasi antarmuka klien untuk terhubung ke instans database MySQL dan PostgreSQL di RDS.
Membuat Pengguna IAM untuk DMS
DMS terintegrasi penuh dengan beberapa layanan AWS lainnya, seperti RDS untuk database, IAM untuk manajemen identitas dan akses, KMS untuk enkripsi data, dan CloudWatch untuk logging. DMS juga mendukung S3 (Simple Storage Service) sebagai target migrasi. Di bagian ini, kita akan membuat pengguna IAM yang digunakan dengan DMS untuk memigrasikan instance Database MySQL ke database PostgreSQL. Pengguna IAM dibuat sebagai berikut:
- Buat Kebijakan IAM dengan semua izin dan pernyataan kebijakan yang diperlukan.
- Buat pengguna IAM berdasarkan Kebijakan IAM.
Untuk membuat kebijakan IAM, klik Buat kebijakan di Dasbor IAM, seperti yang ditunjukkan pada Gambar 1.
Gambar 1: Buat Kebijakan
Di Buat Kebijakan wizard, pilih Buat Kebijakan Anda Sendiri , seperti yang ditunjukkan pada Gambar 2.
Gambar 2: Memilih Opsi Buat Kebijakan Anda Sendiri
Dalam Tinjau Kebijakan , tentukan Nama Kebijakan (DMS). Kemudian, salin dokumen kebijakan berikut ke dalam Dokumen Kebijakan bidang atau wilayah.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dms:*", "Resource": "*" }, { "Effect": "Allow", "Action": "s3:*", "Resource": "*" }, { "Effect": "Allow", "Action": "ds:*", "Resource": "*" }, { "Effect": "Allow", "Action": "rds:*", "Resource": "*" }, { "Effect": "Allow", "Action": "kms:*", "Resource": "*" }, { "Effect": "Allow", "Action": "iam:*", "Resource": "*" }, { "Effect": "Allow", "Action": "ec2:*", "Resource": "*" }, { "Effect": "Allow", "Action": "cloudwatch:*", "Resource": "*" }, { "Effect": "Allow", "Action": "aws-marketplace:*", "Resource": "*" }, { "Effect": "Allow", "Action": "logs:*", "Resource": "*" } ] }
Dokumen kebijakan menambahkan izin untuk mengakses CloudWatch untuk logging dan RDS untuk database. Klik Validasi Kebijakan dan, jika pesannya adalah “Kebijakan ini valid”, klik Buat Kebijakan , seperti yang ditunjukkan pada Gambar 3.
Gambar 3: Buat Kebijakan
Jika kebijakan dibuat, pesan yang ditunjukkan pada Gambar 4 akan ditampilkan.
Gambar 4: DMS telah dibuat
Selanjutnya, tambahkan pengguna IAM. Pilih Pengguna di dasbor IAM dan klik Tambahkan pengguna , seperti yang ditunjukkan pada Gambar 5.
Gambar 5: Tambahkan pengguna
Tentukan Nama pengguna (dvohra). Kemudian, pilih kedua opsi yang tercantum untuk Jenis akses (lihat Gambar 6).
Gambar 6: Menambahkan Detail Pengguna
Pilih Sandi khusus opsi untuk Kata sandi konsol , tentukan sandi, dan klik Berikutnya:Izin , seperti yang ditunjukkan pada Gambar 7.
Gambar 7: Mengonfigurasi Jenis Akses
Selanjutnya, atur izin untuk pengguna. Klik Lampirkan kebijakan yang ada secara langsung , seperti yang ditunjukkan pada Gambar 8.
Gambar 8: Lampirkan kebijakan yang ada secara langsung
Di Jenis kebijakan filter, cari “DMS”, yang merupakan kebijakan yang dibuat sebelumnya. Pilih kebijakan DMS seperti yang ditunjukkan pada Gambar 9, dan klik Berikutnya.
Gambar 9: Memilih Kebijakan DMS
Dalam Tinjau , kebijakan DMS harus dicantumkan sebagai Kebijakan Terkelola di Izin ringkasan. Klik Buat pengguna , seperti yang ditunjukkan pada Gambar 10.
Gambar 10: Buat pengguna
Pengguna IAM dibuat (lihat Gambar 11).
Gambar 11 Pengguna IAM dibuat
Pengguna IAM terdaftar di IAM>Pengguna dashboard, seperti yang ditunjukkan pada Gambar 12.
Gambar 12: Pengguna IAM
Untuk masuk sebagai pengguna IAM yang dibuat, klik tautan untuk pengguna, pilih Kredensial keamanan tab, dan salin tautan masuk Konsol , seperti yang ditunjukkan pada Gambar 13.
Gambar 13: Tautan masuk konsol
Masuk sebagai pengguna IAM yang dibuat menggunakan tautan masuk Konsol untuk bagian selanjutnya.
Kesimpulan
Dalam empat tutorial pertama tentang migrasi instans database MySQL di RDS ke instans database Postgres di RDS, kami membuat pengguna IAM untuk melakukan migrasi.