Migrasikan Amazon RDS for Oracle ke Amazon RDS untuk PostgreSQL dalam mode SSL 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 Amazon RDS for Oracle ke Amazon RDS untuk PostgreSQL dalam mode SSL dengan menggunakan AWS DMS

Pinesh Singal, Amazon Web Services

Ringkasan

Pola ini memberikan panduan untuk memigrasikan Amazon Relational Database Service (Amazon RDS) untuk instans database Oracle ke database Amazon RDS for PostgreSQL di Amazon Web Services (AWS) Cloud. Untuk mengenkripsi koneksi antar database, pola menggunakan otoritas sertifikat (CA) dan mode SSL di Amazon RDS dan AWS Database Migration Service (AWS DMS).

Pola ini menggambarkan strategi migrasi online dengan sedikit atau tanpa downtime untuk database sumber Oracle multi-terabyte dengan jumlah transaksi yang tinggi. Untuk keamanan data, pola menggunakan SSL saat mentransfer data.

Pola ini menggunakan AWS Schema Conversion Tool (AWS SCT) untuk mengonversi skema database Amazon RDS for Oracle ke skema Amazon RDS for PostgreSQL. Kemudian pola menggunakan AWS DMS untuk memigrasikan data dari database Amazon RDS for Oracle ke database Amazon RDS for PostgreSQL.

Prasyarat dan batasan

Prasyarat

  • Akun AWS yang aktif 

  • Otoritas sertifikat database Amazon RDS (CA) dikonfigurasi hanya dengan rds-ca-rsa2048-g1

    • Sertifikat rds-ca-2019 berakhir pada Agustus 2024.

    • Sertifikat rds-ca-2015 berakhir pada 5 Maret 2020.

  • AWS SCT

  • AWS DMS

  • pgAdmin

  • Alat SQL (misalnya, Pengembang SQL atau SQL* Plus)

Batasan

  • Amazon RDS for Oracle database — Persyaratan minimum adalah untuk Oracle versi 19c untuk edisi Enterprise dan Standard Two.

  • Amazon RDS for PostgreSQL database - Persyaratan minimum adalah untuk PostgreSQL versi 12 dan yang lebih baru (untuk versi 9.x dan yang lebih baru).

Versi produk

  • Amazon RDS for Oracle database versi 12.1.0.2 misalnya

  • Amazon RDS untuk database PostgreSQL versi 11.5 contoh

Arsitektur

Tumpukan teknologi sumber

  • Instans database Amazon RDS for Oracle dengan versi 12.1.0.2.v18.

Tumpukan teknologi target

  • AWS DMS

  • Instans database Amazon RDS for PostgreSQL dengan versi 11.5.

Arsitektur target

Diagram berikut menunjukkan arsitektur untuk arsitektur migrasi data antara Oracle (sumber) dan PostgreSQL (target) database. Arsitekturnya meliputi:

  • Awan pribadi virtual (VPC)

  • Zona Ketersediaan

  • Subnet pribadi

  • Database Amazon RDS for Oracle

  • Instans replikasi AWS DMS

  • Sebuah RDS untuk database PostgreSQL

Untuk mengenkripsi koneksi untuk basis data sumber dan target, mode CA dan SSL harus diaktifkan di Amazon RDS dan AWS DMS.

Data bergerak antara RDS untuk Oracle dan AWS DMS, dan antara AWS DMS dan RDS untuk PostgreSQL.

Alat

Layanan AWS

Layanan lainnya

  • pgAdmin adalah alat manajemen open source untuk PostgreSQL. Ini menyediakan antarmuka grafis yang membantu Anda membuat, memelihara, dan menggunakan objek database.

Praktik terbaik

Amazon RDS menyediakan sertifikat CA baru sebagai praktik terbaik keamanan AWS. Untuk informasi tentang sertifikat baru dan Wilayah AWS yang didukung, lihat Menggunakan SSL/TLS untuk mengenkripsi koneksi ke instans atau cluster DB.

Jika instans RDS Anda saat ini menggunakan sertifikat CArds-ca-2019, dan Anda ingin meningkatkan kerds-ca-rsa2048-g1, ikuti petunjuk dalam Memperbarui sertifikat CA Anda dengan memodifikasi instans atau cluster DB Anda atau Memperbarui sertifikat CA Anda dengan menerapkan pemeliharaan.

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Buat instance database Oracle.

Masuk ke akun AWS Anda, buka AWS Management Console, dan navigasikan ke konsol Amazon RDS. Di konsol, pilih Buat database, lalu pilih Oracle.

AWS Umum, DBA

Konfigurasikan grup keamanan.

Konfigurasikan grup keamanan masuk dan keluar.

AWS Umum

Buat grup opsi.

Buat grup opsi di VPC dan grup keamanan yang sama dengan database Amazon RDS for Oracle. Untuk Opsi, pilih SSL. Untuk Port, pilih 2484 (untuk koneksi SSL).

AWS Umum

Konfigurasikan pengaturan opsi.

Gunakan pengaturan berikut:

  • SQLNET.CIPHER_SUITE: SSL_RSA_WITH_AES_256_CBC_SHA

  • SQLNET.SSL_VERSION: 1.2 or 1.0

AWS Umum

Ubah RDS untuk instans Oracle DB.

Tetapkan sertifikat CA sebagai rds-ca-rsa2048-g1.

Di bawah grup Opsi, lampirkan grup opsi yang dibuat sebelumnya.

DBA, AWS Umum

Konfirmasikan bahwa instans RDS untuk Oracle DB tersedia.

Pastikan bahwa instans database Amazon RDS for Oracle aktif dan berjalan dan skema database dapat diakses.

Untuk terhubung ke RDS untuk Oracle DB, gunakan sqlplus perintah dari baris perintah.

$ sqlplus orcl/****@myoracledb.cokmvis0v46q.us-east-1.rds.amazonaws.com:1521/ORCL SQL*Plus: Release 12.1.0.2.0 Production on Tue Oct 15 18:11:07 2019 Copyright (c) 1982, 2016, Oracle. All rights reserved. Last Successful login time: Mon Dec 16 2019 23:17:31 +05:30 Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options SQL>
DBA

Buat objek dan data dalam database RDS untuk Oracle.

Buat objek dan masukkan data dalam skema.

DBA
TugasDeskripsiKeterampilan yang dibutuhkan

Buat RDS untuk database PostgreSQL.

Pada halaman database Buat konsol Amazon RDS, pilih PostgreSQL untuk membuat instance database Amazon RDS for PostgreSQL.

DBA, AWS Umum

Konfigurasikan grup keamanan.

Konfigurasikan grup keamanan masuk dan keluar.

AWS Umum

Buat grup parameter.

Jika Anda menggunakan PostgreSQL versi 11.x, buat grup parameter untuk mengatur parameter SSL. Di PostgreSQL versi 12, grup parameter SSL diaktifkan secara default.

AWS Umum

Edit parameter.

Ubah rds.force_ssl parameter menjadi 1 (on).

Secara default, ssl parameternya adalah 1 (on). Dengan mengatur rds.force_ssl parameter ke1, Anda memaksa semua koneksi untuk terhubung melalui mode SSL saja.

AWS Umum

Memodifikasi RDS untuk PostgreSQL DB instance.

Tetapkan sertifikat CA sebagai rds-ca-rsa2048-g1.

Lampirkan grup parameter default atau grup parameter yang dibuat sebelumnya, tergantung pada versi PostgreSQL Anda.

DBA, AWS Umum

Konfirmasikan bahwa RDS untuk instance PostgreSQL DB tersedia.

Pastikan database Amazon RDS for PostgreSQL aktif dan berjalan.

psqlPerintah membuat koneksi SSL dengan sslmode set dari baris perintah.

Salah satu opsi adalah mengatur sslmode=1 dalam grup parameter dan menggunakan psql koneksi tanpa menyertakan sslmode parameter dalam perintah.

Output berikut menunjukkan bahwa koneksi SSL dibuat.

$ psql -h mypgdbinstance.cokmvis0v46q.us-east-1.rds.amazonaws.com -p 5432 "dbname=pgdb user=pguser" Password for user pguser: psql (11.3, server 11.5) SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off) Type "help" for help. pgdb=>

Opsi kedua adalah mengatur sslmode=1 dalam grup parameter dan memasukkan sslmode parameter dalam psql perintah.

Output berikut menunjukkan bahwa koneksi SSL dibuat.

$ psql -h mypgdbinstance.cokmvis0v46q.us-east-1.rds.amazonaws.com -p 5432 "dbname=pgdb user=pguser sslmode=require" Password for user pguser: psql (11.3, server 11.5) SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off) Type "help" for help. pgdb=>
DBA
TugasDeskripsiKeterampilan yang dibutuhkan

Instal AWS SCT.

Instal versi terbaru aplikasi AWS SCT.

AWS Umum

Konfigurasikan AWS SCT dengan driver JDBC.

Unduh driver Java Database Connectivity (JDBC) untuk Oracle (ojdbc8.jar) dan PostgreSQL (postgresql-42.2.5.jar).

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

AWS Umum

Buat proyek AWS SCT.

Buat proyek AWS SCT dan laporkan, menggunakan Oracle sebagai mesin DB sumber dan Amazon RDS for PostgreSQL sebagai mesin DB target:

  1. Uji koneksi ke database Oracle sumber dan targetkan Amazon RDS for PostgreSQL database dengan memberikan detail koneksi.

    Untuk database Oracle sumber, izin atau hak istimewa berikut diperlukan:

    • CONNECT

    • SELECT_CATALOG_ROLE

    • SELECT ANY DICTIONARY

    • SELECT on SYS.USER$ TO <sct_user>

    Untuk informasi selengkapnya, lihat Menggunakan Oracle Database sebagai sumber AWS SCT.

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

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

AWS Umum

Validasi objek database.

  1. Pilih skema Muat.

    AWS SCT menampilkan sumber dan objek target yang dikonversi, termasuk objek yang memiliki kesalahan. Perbarui objek yang salah pada database target.

  2. Tinjau kesalahan, dan bersihkan dengan menggunakan intervensi manual.

  3. Setelah semua kesalahan dihapus, pilih Muat skema lagi.

  4. Pilih Terapkan ke database.

  5. Connect ke pgAdmin, atau alat apa pun yang mendukung koneksi PostgreSQL DB, dan periksa skema dan objek.

DBA, AWS Umum
TugasDeskripsiKeterampilan yang dibutuhkan

Buat contoh replikasi.

  1. Masuk ke akun Anda, buka AWS Management Console, dan navigasikan ke konsol AWS DMS.

  2. Buat instance replikasi dengan pengaturan yang valid untuk VPC, grup keamanan, Availability Zone, dan atribut koneksi tambahan.

AWS Umum

Impor sertifikat.

Unduh paket sertifikat (PEM) untuk Wilayah AWS Anda.

Bundel berisi sertifikat rds-ca-2019 perantara dan root. Bundel ini juga berisi sertifikat rds-ca-rsa2048-g1rds-ca-rsa4096-g1,, dan rds-ca-ecc384-g1 root CA. Toko kepercayaan aplikasi Anda hanya perlu mendaftarkan sertifikat root CA.

AWS Umum

Buat titik akhir sumber.

  1. Buat titik akhir sumber untuk Amazon RDS for Oracle dengan memilih instans Select RDS DB dan kemudian memilih instans RDS untuk Oracle DB yang Anda buat. Detail konfigurasi titik akhir akan diisi secara otomatis.

  2. Pilih Berikan informasi akses secara manual. Untuk Port, pastikan Anda memasukkan 2484.

  3. Di bawah mode Secure Socket Layer (SSL)verify-ca, pilih, lalu pilih sertifikat CA yang Anda buat sebelumnya.

  4. Di bawah Pengaturan titik akhir, tambahkan atribut koneksi tambahan NumberDataTypeScale=-2 untuk mendukung tipe NUMBER data tanpa ukuran.

Untuk informasi selengkapnya, lihat Menggunakan database Oracle sebagai sumber AWS Database Migration Service.

AWS Umum

Buat titik akhir target.

  1. Buat titik akhir target untuk Amazon RDS for PostgreSQL dengan memilih instans Select RDS DB dan kemudian memilih RDS Anda untuk instans PostgreSQL DB. Detail konfigurasi titik akhir akan diisi secara otomatis.

  2. Pilih Berikan informasi akses secara manual. Untuk Port, pastikan Anda memasukkan 2484.

Untuk informasi selengkapnya, lihat Menggunakan database PostgreSQL sebagai target AWS Database Migration Service.

AWS Umum

Uji titik akhir.

  1. Uji sumber dan titik akhir target untuk mengonfirmasi bahwa keduanya berhasil dan tersedia.

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

AWS Umum

Buat tugas migrasi.

Untuk membuat tugas migrasi untuk memuat penuh dan mengubah pengambilan data (CDC) atau untuk validasi data, lakukan hal berikut:

  1. Untuk membuat tugas migrasi database, pilih contoh replikasi, titik akhir basis data sumber, titik akhir basis data target. Tentukan jenis migrasi sebagai salah satu dari berikut ini:

    • Migrasi data yang ada (beban penuh)

    • Replikasi perubahan data saja (CDC)

    • Migrasi data yang ada dan replikasi perubahan yang sedang berlangsung (full load dan CDC)

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

    • Di bawah Aturan pemilihan, pilih skema, masukkan nama tabel, dan pilih tindakan (Sertakan atau Kecualikan) yang akan dikonfigurasi; misalnya, Skema ORCL, Nama tabel%, Tindakan Termasuk.

    • Di bawah aturan Transformasi, lakukan salah satu hal berikut:

      • Pilih skema dan pilih tindakan (kasus, awalan, akhiran); misalnya, Target Schema ORCL, Action Make huruf kecil.

      • Pilih skema, masukkan nama tabel, dan pilih tindakan (kasus, awalan, akhiran); misalnya, Target Skema ORCL, Tabel%, Tindakan Buat huruf kecil.

  3. Aktifkan pemantauan Amazon CloudWatch Logs.

  4. Untuk aturan pemetaan, tambahkan kode JSON berikut.

    { "rules": [ { "rule-type": "transformation", "rule-id": "1", "rule-name": "1", "rule-target": "table", "object-locator": { "schema-name": "%", "table-name": "%" }, "rule-action": "convert-lowercase", "value": null, "old-value": null }, { "rule-type": "transformation", "rule-id": "2", "rule-name": "2", "rule-target": "schema", "object-locator": { "schema-name": "ORCL", "table-name": "%" }, "rule-action": "convert-lowercase", "value": null, "old-value": null }, { "rule-type": "selection", "rule-id": "3", "rule-name": "3", "object-locator": { "schema-name": "ORCL", "table-name": "DEPT" }, "rule-action": "include", "filters": [] } ] }
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, dan pantau log tugas migrasi di Amazon CloudWatch untuk mengetahui kesalahan apa pun.

    Jika Anda memilih Migrasi data yang ada dan mereplikasi perubahan yang sedang berlangsung sebagai jenis migrasi, dan statusnya adalah Muat replikasi berkelanjutan lengkap, beban penuh dengan migrasi data CDC selesai dan validasi sedang berlangsung.

  2. Setelah memulai migrasi, Anda dapat memperoleh informasi koneksi SSL tambahan di. CloudWatch Untuk Oracle, CloudWatch menunjukkan string koneksi berikut.

    2019-12-17T09:15:11 [SOURCE_UNLOAD ]I: Connecting to Oracle: Beginning session (oracle_endpoint_conn.c:834)

    String koneksi PostgreSQL akan mirip dengan contoh berikut.

    2019-12-17T09:15:11 [TARGET_LOAD ]I: Going to connect to ODBC connection string: PROTOCOL=7.4-0;DRIVER={PostgreSQL};SERVER=mypgdbinstance.cokmvis0v46q.us-east-1.rds.amazonaws.com;DATABASE=pgdb;PORT=5432;sslmode=require;UID=pguser; (odbc_endpoint_imp.c:2218)

AWS Umum

Validasi data.

Tinjau hasil tugas migrasi dan data di sumber Oracle dan target database PostgreSQL:

  1. Connect ke pgAdmin dan periksa data dalam database PostgreSQL Anda dengan skema. ORCL

  2. Untuk CDC, periksa perubahan yang sedang berlangsung dengan memasukkan atau memperbarui data dalam database Oracle sumber.

DBA

Hentikan tugas migrasi.

Setelah Anda berhasil menyelesaikan validasi data, hentikan tugas migrasi.

AWS Umum
TugasDeskripsiKeterampilan yang dibutuhkan

Hapus tugas AWS DMS.

  1. Di konsol AWS DMS, navigasikan ke tugas migrasi Database, dan hentikan tugas AWS DMS yang sedang berlangsung atau berjalan.

  2. Pilih tugas atau tugas, pilih Tindakan, dan pilih Hapus.

AWS Umum

Hapus titik akhir AWS DMS.

Pilih titik akhir sumber dan target yang Anda buat, pilih Tindakan, dan pilih Hapus.

AWS Umum

Hapus instans replikasi AWS DMS.

Pilih contoh replikasi, pilih Tindakan, lalu pilih Hapus.

AWS Umum

Hapus database PostgreSQL.

  1. Di konsol Amazon RDS, pilih Database.

  2. Pilih instance database PostgreSQL yang Anda buat, pilih Tindakan, lalu pilih Hapus.

AWS Umum

Hapus database Oracle.

Di konsol Amazon RDS, pilih instance database Oracle, pilih Actions, lalu pilih Delete.

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 Oracle gagal.

Periksa pengaturan titik akhir dan apakah instance replikasi tersedia.

Proses beban penuh tugas AWS DMS gagal.

Periksa apakah basis data sumber dan target memiliki tipe dan ukuran data yang cocok.

Tugas migrasi validasi AWS DMS mengembalikan kesalahan.

  1. Periksa apakah tabel memiliki kunci utama. Tabel tanpa kunci primer tidak divalidasi.

  2. Jika tabel memiliki kunci primer tetapi mengembalikan kesalahan, periksa atribut koneksi tambahan di titik akhir sumber. Atribut koneksi tambahan numberDataTypeScale=-2 harus mendukung tipe NUMBER data tanpa ukuran dinamis berdasarkan data yang tersedia dalam tabel.

Sumber daya terkait

Basis Data

Koneksi SSL DB

AWS SCT

AWS DMS

Informasi tambahan

Sertifikat Otoritas Sertifikat Amazon RDS rds-ca-2019 kedaluwarsa pada Agustus 2024. Jika Anda menggunakan atau berencana menggunakan SSL atau TLS dengan verifikasi sertifikat untuk terhubung ke instans RDS DB atau klaster DB multi-AZ, pertimbangkan untuk menggunakan salah satu sertifikat CA baru:,, atau. rds-ca-rsa2048-g1 rds-ca-rsa4096-g1 rds-ca-ecc384-g1