Topik ini menjelaskan cara menggunakan fitur migrasi satu klik RDS PostgreSQL untuk memigrasikan database PostgreSQL publik atau instans dari penyedia cloud lain ke RDS PostgreSQL.
Latar Belakang
RDS PostgreSQL berjalan di Virtual Private Cloud (VPC). Secara default, fitur migrasi satu klik mendukung migrasi database lain ke RDS PostgreSQL melalui jaringan pribadi. Untuk memigrasikan database PostgreSQL dari jaringan publik, Anda harus mengonfigurasi NAT Gateway dan Elastic IP Address (EIP) yang terkait.
Topik ini menjelaskan cara mengonfigurasi NAT Gateway dan mengaitkan EIP ke instans RDS PostgreSQL agar fitur migrasi satu klik dapat digunakan untuk sumber jaringan publik.
Metode ini menjamin keamanan jaringan instans RDS PostgreSQL sekaligus memungkinkan migrasi satu klik dari jaringan publik.
Entri SNAT pada NAT Gateway memungkinkan instans RDS PostgreSQL mengakses internet. Instans tersebut tidak diekspos ke luar dan tidak menyediakan layanan melalui NAT Gateway. Untuk informasi selengkapnya tentang NAT Gateway dan SNAT, lihat Gunakan fitur SNAT NAT Gateway untuk mengakses internet.
Kasus Penggunaan
-
Migrasikan database PostgreSQL yang dikelola sendiri dari internet publik ke cloud.
-
Migrasikan instans PostgreSQL dari penyedia cloud lain, seperti Google Cloud SQL atau Amazon RDS for PostgreSQL, ke RDS PostgreSQL.
CatatanPenyedia cloud lain mungkin memiliki plugin PostgreSQL khusus. Jika Anda mengalami error ketidakcocokan plugin selama migrasi, kirimkan ticket.
Prasyarat
Instans RDS PostgreSQL harus memenuhi persyaratan berikut:
-
Versi utama instans sumber dan tujuan harus sesuai. Fitur ini mendukung PostgreSQL 10 atau versi yang lebih baru.
Catatan-
Jika versi instans sumber lebih lama dari PostgreSQL 10, upgrade versi utamanya sebelum melakukan migrasi satu klik.
-
Jika versi utama instans sumber dan tujuan tidak sesuai, evaluasi kelayakan akan gagal, dan migrasi tidak dapat dilanjutkan.
-
-
Instans tujuan harus merupakan instans primary; instans read-only tidak didukung.
-
Jenis storage instans tujuan harus berupa cloud disk.
-
Instans tujuan harus kosong. Ruang penyimpanan yang tersedia harus lebih besar dari atau sama dengan ukuran total data instans sumber.
CatatanJika instans tujuan berisi data, evaluasi kelayakan akan gagal, dan migrasi tidak dapat dilanjutkan. Cadangkan data tersebut, lalu kosongkan instans atau beli instans baru.
Batasan
Tidak ada.
Dampak
Tidak ada.
Peringatan
Selama tugas migrasi berlangsung, pastikan instans sumber dapat diakses. Jangan lakukan operasi seperti restart instans. Jika instans sumber mengalami gangguan koneksi sementara atau HA switchover, tugas migrasi akan gagal.
Penagihan
Konfigurasi NAT Gateway dan pengaitan Elastic IP Address (EIP) dikenai biaya. Untuk informasi selengkapnya, lihat Penagihan NAT Gateway.
Prosedur
Langkah 1: Konfigurasi NAT Gateway dan EIP
Pada langkah ini, Anda mengaitkan alamat IP publik dengan VPC instans RDS PostgreSQL. Hal ini memungkinkan instans RDS PostgreSQL mengakses database yang dikelola sendiri atau database dari penyedia cloud lain yang memiliki alamat IP publik.
Sebelum memulai, pastikan tidak ada NAT Gateway yang dikonfigurasi untuk VPC tempat instans RDS berada dan tidak ada alamat IP publik lain yang dikaitkan dengan VPC tersebut. Jika tidak, masalah konektivitas dapat terjadi.
Buka halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instans RDS berada. Lalu, temukan instans RDS tersebut dan klik ID-nya.
-
Di panel navigasi kiri, klik Database Connection, lalu klik tautan VPC yang muncul di samping Network Type.
-
Di konsol VPC, pilih tab Resource Management. Di bagian Public Access Service, klik Create Now.
-
Di halaman pembuatan NAT Gateway, konfigurasikan parameter kunci berikut dan gunakan nilai default untuk parameter lainnya.
Parameter
Deskripsi
Contoh
Elastic IP Address
Jika Anda sudah memiliki Elastic IP Address, Anda dapat memilihnya. Untuk contoh ini, pilih Purchase Elastic IP Address.
Purchase Elastic IP Address
Peak Bandwidth
Pilih peak bandwidth sesuai kebutuhan Anda. Untuk migrasi satu klik ini, Anda dapat mengatur peak bandwidth ke nilai maksimum untuk mencegah perlambatan migrasi akibat batasan bandwidth.
200 Mbps
-
Klik Buy Now.
-
Konfirmasi bahwa pengaturan parameter sudah benar, centang kotak persyaratan layanan, lalu klik Confirm Order.
Setelah operasi selesai, NAT Gateway dibuat, EIP dikaitkan dengannya, dan entri SNAT dikonfigurasi.
-
Klik ID resource Elastic IP Address. Di halaman Instance Information EIP, Anda dapat melihat IP Address publiknya.
Langkah 2: Konfigurasi database sumber
Database PostgreSQL yang dikelola sendiri
-
Penting
Alamat IP yang dikonfigurasi dalam file pg_hba.conf adalah
Elastic IP Address/32yang dikaitkan dengan instans RDS PostgreSQL pada Langkah 1.
PostgreSQL dari penyedia lain
-
Ubah nilai parameter wal_keep_segments atau wal_keep_size. Untuk informasi selengkapnya, lihat dokumentasi resmi penyedia cloud tersebut.
Pengaturan ini memastikan cukup banyak file log lama disimpan di direktori pg_wal. Hal ini mencegah instans sumber menghapus log WAL yang diperlukan setelah cadangan penuh, yang jika terjadi akan memaksa migrasi dimulai ulang.
-
wal_keep_segments: Berlaku untuk PostgreSQL 10, 11, dan 12. Kami merekomendasikan mengatur parameter ini ke 4096 atau lebih besar.
-
wal_keep_size: Berlaku untuk PostgreSQL 13, 14, dan 15. Kami merekomendasikan mengatur parameter ini ke 65536 atau lebih besar.
-
-
Buat akun migrasi.
CREATE USER migratetest CREATEROLE REPLICATION LOGIN PASSWORD '123456'; GRANT pg_monitor TO migratetest;CatatanAkun (
migratetest) dan kata sandi (123456) dalam perintah di atas hanyalah contoh. Sesuaikan berdasarkan kebutuhan Anda. -
Aktifkan koneksi jaringan publik dan konfigurasikan security group atau daftar putih agar mengizinkan akses dari Elastic IP Address yang dikonfigurasi pada Langkah 1. Untuk informasi selengkapnya, lihat dokumentasi resmi penyedia cloud tersebut.
PentingPastikan protokol ICMP diaktifkan untuk instans PostgreSQL dari penyedia cloud lain. Anda dapat menjalankan perintah
ping <public endpoint of the PostgreSQL instance>untuk memverifikasi konektivitas.
Langkah 3: Jalankan evaluasi kelayakan
Buka halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instans RDS berada. Lalu, temukan instans RDS tersebut dan klik ID-nya.
-
Di panel navigasi sebelah kiri, pilih Cloud Migration/DR Deployment, lalu klik tab Feasibility Assessment.
-
Pada langkah Configure Scenario and Source Type pada wizard konfigurasi, pilih Migration to Cloud untuk skenario dan Self-managed Instance or Other Instance untuk jenis sumber. Lalu, klik Next.
-
Pada langkah Configure Destination Instance, klik Next.
-
Pada langkah Configure Source Instance, pilih semua opsi, lalu klik Next.
-
Pada langkah Start Feasibility Assessment, atur parameter berikut.
Parameter
Deskripsi
Migration Task Name
Sistem secara otomatis menghasilkan nama. Tidak perlu dimodifikasi.
Source VPC/DNS IP
-
Untuk database PostgreSQL yang dikelola sendiri di jaringan publik: alamat IP publik server database.
-
Untuk instans PostgreSQL dari penyedia cloud lain: public endpoint instans tersebut.
Port of Source Instance
-
Untuk database PostgreSQL yang dikelola sendiri di jaringan publik: port database. Anda dapat menjalankan perintah
netstat -a | grep PGSQLuntuk melihat port tersebut. -
Untuk instans PostgreSQL dari penyedia cloud lain: temukan informasi ini di konsol manajemen penyedia cloud tersebut.
Username
Username dan password untuk akun migrasi yang dibuat pada Langkah 2.
Password
-
-
Klik Create Feasibility Assessment Task.
Setelah evaluasi migrasi selesai, Anda dapat melihat status tugas evaluasi migrasi di daftar Migration to Cloud pada halaman Feasibility Assessment.
-
Anda hanya dapat melanjutkan ke Migration to Cloud jika Status bernilai Successful.
-
Jika Status bernilai Failed, klik View Report di kolom Actions dan selesaikan masalah berdasarkan pesan error. Untuk informasi tentang error umum, lihat Interpretasi laporan evaluasi migrasi.
CatatanPenyedia cloud lain mungkin memiliki plugin PostgreSQL khusus. Jika Anda mengalami error ketidakcocokan plugin selama migrasi, kirimkan ticket.
Setelah Anda menyelesaikan error tersebut, Anda dapat mengklik Re-assess di kolom Actions untuk menjalankan evaluasi ulang.
-
Langkah 4: Migrasi ke cloud
Anda hanya dapat melakukan langkah ini setelah tugas evaluasi kelayakan berhasil.
Buka halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instans RDS berada. Lalu, temukan instans RDS tersebut dan klik ID-nya.
-
Di panel navigasi kiri, pilih Cloud Migration/DR Deployment, beralih ke tab Migration to Cloud, lalu klik Create Migration to Cloud Task.
-
Di jendela Create Cloud Migration Task, pilih tugas yang berhasil dari Langkah 3 pada daftar drop-down Associated Assessment Task.
Setelah Anda memilih Associated Assessment Task, parameter lainnya akan diisi secara otomatis.
-
Klik Initiate Migration to Cloud untuk memulai tugas migrasi.
PeringatanSelama tugas migrasi berlangsung, pastikan instans sumber dapat diakses. Jangan lakukan operasi seperti restart instans. Jika instans sumber mengalami gangguan koneksi sementara atau HA switchover, tugas migrasi akan gagal.
-
Lakukan cutover.
-
Di daftar tugas migrasi, Anda dapat mengklik tautan di kolom Cloud Migration Phase untuk melihat progres tugas.
-
Saat fase migrasi berada di Incremental Data Synchronization, klik Switchover di kolom Actions untuk mempromosikan instans RDS PostgreSQL menjadi instans primary dan mulai melayani traffic produksi.
-
Di jendela Switchover, ikuti instruksi di layar untuk mengatur instans sumber menjadi read-only atau hentikan penulisan dari aplikasi Anda.
Untuk mengatur instans sumber menjadi read-only:
-- Set the database to read-only. ALTER SYSTEM SET default_transaction_read_only=on; -- Reload the parameter configuration to apply the change. SELECT pg_reload_conf(); -- Terminate all existing sessions. SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE usename not in ('replicator', 'monitor', 'pgsql', 'aurora') AND pid != pg_backend_pid(); -
Centang semua kotak dan klik Switch Now. Lalu, tunggu hingga migrasi selesai.
-