Enkripsi Amazon RDS yang ada untuk instans DB Amazon RDS for PostgreSQL - AWS Prescriptive Guidance

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

Enkripsi Amazon RDS yang ada untuk instans DB Amazon RDS for PostgreSQL

Piyush Goyal, Shobana Raghu, dan Yaser Raja, Amazon Web Services

Ringkasan

Pola ini menjelaskan cara mengenkripsi Amazon Relational Database Service (Amazon RDS) yang ada untuk instans PostgreSQL DB di AWS Cloud dengan waktu henti minimal. Proses ini juga berfungsi untuk Amazon RDS for MySQL DB instans.

Anda dapat mengaktifkan enkripsi untuk instans Amazon RDS DB saat Anda membuatnya, tetapi tidak setelah dibuat. Namun, Anda dapat menambahkan enkripsi ke instans DB yang tidak terenkripsi dengan membuat snapshot dari instans DB Anda, dan kemudian membuat salinan terenkripsi dari snapshot itu. Anda kemudian dapat memulihkan instans DB dari snapshot terenkripsi untuk mendapatkan salinan terenkripsi dari instans DB asli Anda. Jika proyek Anda memungkinkan downtime (setidaknya untuk transaksi tulis) selama aktivitas ini, hanya ini yang perlu Anda lakukan. Ketika salinan instans DB yang baru dan terenkripsi tersedia, Anda dapat mengarahkan aplikasi Anda ke database baru. Namun, jika proyek Anda tidak mengizinkan waktu henti yang signifikan untuk aktivitas ini, Anda memerlukan pendekatan alternatif yang membantu meminimalkan waktu henti. Pola ini menggunakan AWS Database Migration Service (AWS DMS) untuk bermigrasi dan terus mereplikasi data sehingga cutover ke database baru yang terenkripsi dapat dilakukan dengan waktu henti minimal. 

Instans DB terenkripsi Amazon RDS menggunakan algoritme enkripsi AES-256 standar industri untuk mengenkripsi data Anda di server yang menghosting instans Amazon RDS DB Anda. Setelah data Anda dienkripsi, Amazon RDS menangani otentikasi akses dan dekripsi data Anda secara transparan, dengan dampak minimal pada kinerja. Anda tidak perlu memodifikasi aplikasi klien basis data untuk menggunakan enkripsi.

Prasyarat dan batasan

Prasyarat

Batasan

  • Anda dapat mengaktifkan enkripsi untuk instans Amazon RDS DB hanya ketika Anda membuatnya, bukan setelah instans DB dibuat.

  • Data dalam tabel yang tidak tercatat tidak akan dipulihkan menggunakan snapshot. Untuk informasi lebih lanjut, tinjau Praktik terbaik untuk bekerja dengan PostgreSQL.

  • Anda tidak dapat memiliki replika baca terenkripsi dari instans DB yang tidak dienkripsi atau replika baca yang tidak dienkripsi dari instans DB terenkripsi.

  • Anda tidak dapat memulihkan cadangan atau snapshot yang tidak terenkripsi ke instans DB terenkripsi.

  • AWS DMS tidak secara otomatis mentransfer Urutan sehingga diperlukan langkah-langkah tambahan untuk menangani hal ini.

Untuk informasi selengkapnya, lihat Batasan instans DB terenkripsi Amazon RDS dalam dokumentasi Amazon RDS.

Arsitektur

Arsitektur sumber

  • Instans RDS DB yang tidak terenkripsi

Arsitektur target

  • Instans RDS DB terenkripsi

    • Instans RDS DB tujuan dibuat dengan memulihkan salinan snapshot DB dari instans RDS DB sumber.

    • Kunci AWS KMS digunakan untuk enkripsi saat memulihkan snapshot.

    • Tugas replikasi AWS DMS digunakan untuk memigrasikan data.

Process menggunakan AWS DMS untuk mengenkripsi instans Amazon RDS for PostgreSQL DB yang ada ke DB baru.

Alat

Alat yang digunakan untuk mengaktifkan enkripsi:

  • Kunci AWS KMS untuk enkripsi — Saat membuat instans DB terenkripsi, Anda dapat memilih kunci yang dikelola pelanggan atau kunci terkelola AWS untuk Amazon RDS untuk mengenkripsi instans DB Anda. Jika Anda tidak menentukan pengenal kunci untuk kunci yang dikelola pelanggan, Amazon RDS menggunakan kunci terkelola AWS untuk instans DB baru Anda. Amazon RDS membuat kunci terkelola AWS untuk Amazon RDS untuk akun AWS Anda. Akun AWS Anda memiliki kunci terkelola AWS yang berbeda untuk Amazon RDS untuk setiap Wilayah AWS. Untuk informasi selengkapnya tentang menggunakan kunci KMS untuk enkripsi Amazon RDS, lihat Mengenkripsi Sumber Daya Amazon RDS.

Alat yang digunakan untuk replikasi berkelanjutan:

  • AWS DMS — Anda dapat menggunakan AWS Database Migration Service (AWS DMS) untuk mereplikasi perubahan dari DB sumber ke DB target. Penting untuk menjaga sumber dan target DB tetap sinkron untuk meminimalkan waktu henti. Untuk informasi tentang menyiapkan AWS DMS dan membuat tugas, lihat dokumentasi AWS DMS.

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Periksa detail untuk sumber PostgreSQL DB instance.

Di konsol Amazon RDS, pilih instans DB PostgreSQL sumber. Pada tab Konfigurasi, pastikan enkripsi tidak diaktifkan untuk instance. Untuk ilustrasi layar, lihat bagian Informasi tambahan.

DBA

Buat snapshot DB.

Buat snapshot DB dari instance yang ingin Anda enkripsi. Jumlah waktu yang diperlukan untuk membuat snapshot tergantung pada ukuran database Anda. Untuk petunjuknya, lihat Membuat snapshot DB di dokumentasi Amazon RDS.

DBA

Enkripsi snapshot.

Di panel navigasi konsol Amazon RDS, pilih Snapshots, dan pilih snapshot DB yang Anda buat. Untuk Tindakan, pilih Salin Snapshot. Berikan Wilayah AWS tujuan dan nama salinan snapshot DB di bidang yang sesuai. Pilih kotak centang Aktifkan Enkripsi. Untuk Master Key, tentukan pengidentifikasi kunci KMS yang akan digunakan untuk mengenkripsi salinan snapshot DB. Pilih Salin Snapshot. Untuk informasi selengkapnya, lihat Menyalin snapshot di dokumentasi Amazon RDS.

DBA
TugasDeskripsiKeterampilan yang dibutuhkan

Kembalikan snapshot DB.

Di konsol Amazon RDS, pilih Snapshots. Pilih snapshot terenkripsi yang Anda buat. Untuk Tindakan, pilih Pulihkan Snapshot. Untuk DB Instance Identifier, berikan nama unik untuk instans DB baru. Tinjau detail instans, lalu pilih Restore DB Instance. Instans DB baru yang terenkripsi akan dibuat dari snapshot Anda. Untuk informasi selengkapnya, lihat Memulihkan dari snapshot DB di dokumentasi Amazon RDS.

DBA

Migrasikan data dengan menggunakan AWS DMS.

Di konsol AWS DMS, buat tugas AWS DMS. Untuk Jenis Migrasi, pilih Migrasikan data yang ada dan replikasi perubahan yang sedang berlangsung. Di Pengaturan Tugas, untuk mode persiapan tabel Target, pilih Potong. Untuk informasi selengkapnya, lihat Membuat tugas dalam dokumentasi AWS DMS.

DBA

Aktifkan validasi data.

Di Pengaturan Tugas, pilih Aktifkan validasi. Ini memungkinkan Anda membandingkan data sumber dengan data target untuk memverifikasi bahwa data telah dimigrasi secara akurat. 

DBA

Nonaktifkan kendala pada instans DB target.

Nonaktifkan pemicu dan batasan kunci asing apa pun pada instans DB target, lalu mulai tugas AWS DMS. Untuk informasi selengkapnya tentang menonaktifkan pemicu dan batasan kunci asing, lihat dokumentasi AWS DMS.

DBA

Verifikasi data.

Setelah beban penuh selesai, verifikasi data pada instans DB target untuk melihat apakah itu cocok dengan data sumber. Untuk informasi selengkapnya, lihat validasi data AWS DMS dalam dokumentasi AWS DMS.

DBA
TugasDeskripsiKeterampilan yang dibutuhkan

Hentikan operasi tulis pada instans DB sumber.

Hentikan operasi tulis pada instans DB sumber sehingga downtime aplikasi dapat dimulai. Verifikasi bahwa AWS DMS telah menyelesaikan replikasi untuk data dalam pipeline. Aktifkan pemicu dan kunci asing pada instans DB target.

DBA

Perbarui urutan basis data

Jika database sumber berisi nomor urut, verifikasi dan perbarui urutan dalam database target.

DBA

Konfigurasikan titik akhir aplikasi.

Konfigurasikan koneksi aplikasi Anda untuk menggunakan titik akhir instans Amazon RDS DB yang baru. Instans DB sekarang dienkripsi.

DBA, Pemilik aplikasi

Sumber daya terkait

Informasi tambahan

Memeriksa enkripsi untuk sumber PostgreSQL DB instance:

Halaman Ringkasan instance PostgreSQL DB sumber menunjukkan enkripsi yang tidak diaktifkan untuk penyimpanan.

Catatan tambahan untuk pola ini:

  • Aktifkan replikasi pada PostgreSQL dengan mengatur parameter ke 1. rds.logical_replication

Catatan penting: Slot replikasi menyimpan file write ahead log (WAL) sampai file dikonsumsi secara eksternal—misalnya, olehpg_recvlogical; dengan mengekstrak, mengubah, dan memuat (ETL) pekerjaan; atau oleh AWS DMS. Saat Anda menetapkan nilai rds.logical_replication parameter ke 1, AWS DMS menetapkanwal_level,, max_wal_sendersmax_replication_slots, dan max_connections parameter. Jika slot replikasi logis hadir tetapi tidak ada konsumen untuk file WAL yang disimpan oleh slot replikasi, Anda mungkin melihat peningkatan penggunaan disk log transaksi dan penurunan konstan dalam ruang penyimpanan gratis. Untuk informasi lebih lanjut dan langkah-langkah untuk mengatasi masalah ini, lihat artikel Bagaimana saya bisa mengidentifikasi apa yang menyebabkan kesalahan “Tidak ada ruang tersisa di perangkat” atau "DiskFull" di Amazon RDS for PostgreSQL? di Pusat Pengetahuan AWS Support.

  • Perubahan skema apa pun yang Anda buat pada instans DB sumber setelah Anda membuat snapshot DB tidak akan ada pada instans DB target.

  • Setelah Anda membuat instans DB terenkripsi, Anda tidak dapat mengubah kunci KMS yang digunakan oleh instans DB tersebut. Pastikan untuk menentukan persyaratan kunci KMS Anda sebelum Anda membuat instans DB terenkripsi Anda.

  • Anda harus menonaktifkan pemicu dan kunci asing pada instans DB target sebelum menjalankan tugas AWS DMS. Anda dapat mengaktifkan kembali ini ketika tugas selesai.