Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengekspor data dari instans DB RDS for PostgreSQL ke Amazon S3
Anda dapat mengueri data dari instans DB RDS for PostgreSQL dan mengekspornya langsung ke file yang disimpan dalam bucket Amazon S3. Untuk melakukannya, instal ekstensi RDS for PostgreSQL aws_s3
terlebih dahulu. Ekstensi ini memberi Anda fungsi yang Anda gunakan untuk mengekspor hasil kueri ke Amazon S3. Berikut ini, Anda dapat mengetahui cara menginstal ekstensi dan cara mengekspor data ke Amazon S3.
catatan
Ekspor lintas akun ke Amazon S3 tidak didukung.
Semua versi RDS for PostgreSQL yang tersedia saat ini mendukung ekspor data ke Amazon Simple Storage Service. Untuk informasi versi terperinci, lihat Pembaruan Amazon RDS for PostgreSQL dalam Catatan Rilis Amazon RDS for PostgreSQL.
Jika Anda belum menyiapkan bucket untuk ekspor, lihat topik berikut, Panduan Pengguna Amazon Simple Storage Service.
Secara default, data yang diekspor dari RDS untuk PostgreSQL ke Amazon S3 menggunakan enkripsi sisi server dengan file. Kunci yang dikelola AWS Jika Anda menggunakan enkripsi bucket, bucket Amazon S3 harus dienkripsi dengan kunci AWS Key Management Service (AWS KMS) (SSE-KMS). Saat ini, bucket yang dienkripsi dengan kunci terkelola Amazon S3 (SSE-S3) tidak didukung.
catatan
Anda dapat menyimpan data snapshot DB ke Amazon S3 menggunakan AWS Management Console AWS CLI,, atau Amazon RDS API. Untuk informasi selengkapnya, lihat Mengekspor data snapshot DB ke Amazon S3 untuk Amazon RDS.
Topik
Menginstal ekstensi aws_s3
Sebelum Anda dapat menggunakan Amazon Simple Storage Service dengan instans DB RDS for PostgreSQL, Anda perlu menginstal ekstensi aws_s3
. Ekstensi ini memberikan fungsi untuk mengekspor data dari instans DB RDS for PostgreSQL ke bucket Amazon S3. Ini juga menyediakan fungsi untuk mengimpor data dari Amazon S3. Untuk informasi selengkapnya, lihat Mengimpor data dari Amazon S3 ke instans DB RDS for PostgreSQL. Ekstensi aws_s3
bergantung pada beberapa fungsi pembantu dalam ekstensi aws_commons
, yang diinstal secara otomatis bila diperlukan.
Untuk menginstal ekstensi aws_s3
Gunakan psql (atau pgAdmin) untuk terhubung ke instans DB RDS for PostgreSQL sebagai pengguna yang memiliki hak istimewa
rds_superuser
. Jika Anda menyimpan nama default selama proses penyiapan, Anda terhubung sebagaipostgres
.psql --host=
111122223333
.aws-region
.rds.amazonaws.com --port=5432 --username=postgres --passwordUntuk menginstal ekstensi, jalankan perintah berikut.
postgres=>
CREATE EXTENSION aws_s3 CASCADE;NOTICE: installing required extension "aws_commons" CREATE EXTENSION
Untuk memverifikasi bahwa ekstensi sudah diinstal, Anda dapat menggunakan metacommand psql
\dx
.postgres=>
\dxList of installed extensions Name | Version | Schema | Description -------------+---------+------------+--------------------------------------------- aws_commons | 1.2 | public | Common data types across AWS services aws_s3 | 1.1 | public | AWS S3 extension for importing data from S3 plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language (3 rows)
Fungsi untuk mengimpor data dari Amazon S3 dan mengekspor data ke Amazon S3 kini dapat digunakan.
Verifikasi bahwa versi RDS for PostgreSQL Anda mendukung ekspor ke Amazon S3
Anda dapat memverifikasi bahwa versi RDS for PostgreSQL mendukung ekspor ke Amazon S3 dengan menggunakan perintah describe-db-engine-versions
. Contoh berikut memverifikasi dukungan untuk versi 10.14.
aws rds describe-db-engine-versions --region us-east-1 --engine postgres --engine-version 10.14 | grep s3Export
Jika output-nya menyertakan string "s3Export"
, berarti mesinnya mendukung ekspor Amazon S3. Jika tidak, mesin tidak mendukungnya.
Ikhtisar ekspor data ke Amazon S3
Untuk mengekspor data yang disimpan dalam basis data RDS for PostgreSQL ke bucket Amazon S3, gunakan prosedur berikut.
Untuk mengekspor data RDS for PostgreSQL ke S3
-
Identifikasi jalur file Amazon S3 yang akan digunakan untuk mengekspor data. Untuk detail tentang proses ini, lihat Menentukan jalur file Amazon S3 tujuan ekspor.
-
Berikan izin untuk mengakses bucket Amazon S3.
Untuk mengekspor data ke file Amazon S3, beri instans DB RDS for PostgreSQL izin untuk mengakses bucket Amazon S3 yang akan digunakan untuk penyimpanan data yang diekspor. Berikut adalah langkah-langkahnya:
-
Buat kebijakan IAM yang memberikan akses ke bucket Amazon S3 tempat tujuan ekspor.
-
Buat peran IAM.
-
Lampirkan kebijakan yang Anda buat ke peran yang Anda buat.
-
Tambahkan peran IAM ini ke instans DB.
Untuk detail tentang proses ini, lihat Menyiapkan akses ke bucket Amazon S3.
-
-
Identifikasi kueri basis data untuk mendapatkan data. Ekspor data kueri dengan memanggil fungsi
aws_s3.query_export_to_s3
.Setelah menyelesaikan tugas persiapan sebelumnya, gunakan fungsi aws_s3.query_export_to_s3 untuk mengekspor hasil kueri ke Amazon S3. Untuk detail tentang proses ini, lihat Mengekspor data kueri menggunakan fungsi aws_s3.query_export_to_s3.
Menentukan jalur file Amazon S3 tujuan ekspor
Tentukan informasi berikut untuk mengidentifikasi lokasi di Amazon S3 tempat Anda ingin mengekspor data:
-
Nama bucket – Bucket adalah kontainer untuk objek atau file Amazon S3.
Untuk informasi selengkapnya tentang menyimpan data dengan Amazon S3, lihat Membuat bucket dan Bekerja dengan objek di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.
-
Jalur file – Jalur file mengidentifikasi tempat penyimpanan data yang diekspor dalam bucket Amazon S3. Jalur file terdiri atas:
-
Awalan jalur opsional yang mengidentifikasi jalur folder virtual.
-
Awalan file yang mengidentifikasi satu atau beberapa file yang akan disimpan. Ekspor yang lebih besar disimpan dalam beberapa file, masing-masing berukuran maksimum sekitar 6 GB. Nama file tambahan memiliki awalan file yang sama, tetapi dengan penambahan
_part
.XX
mewakili 2, lalu 3, dan seterusnya.XX
Misalnya, jalur file dengan folder
exports
dan awalan filequery-1-export
adalah/exports/query-1-export
. -
-
AWS Wilayah (opsional) - AWS Wilayah tempat bucket Amazon S3 berada.
catatan
Saat ini, AWS Wilayah harus sama dengan wilayah instans yang mengekspor.
Untuk daftar nama AWS Wilayah dan nilai terkait, lihatWilayah, Zona Ketersediaan, dan Zona Lokal.
Untuk menyimpan informasi file Amazon S3 tentang lokasi penyimpanan file yang diekspor, Anda dapat menggunakan fungsi aws_commons.create_s3_uri untuk membuat struktur komposit aws_commons._s3_uri_1
sebagai berikut.
psql=> SELECT aws_commons.create_s3_uri( '
amzn-s3-demo-bucket
', 'sample-filepath', 'us-west-2' ) AS s3_uri_1 \gset
Kemudian, berikan nilai s3_uri_1
ini sebagai parameter untuk memanggil fungsi aws_s3.query_export_to_s3. Sebagai contoh, lihat Mengekspor data kueri menggunakan fungsi aws_s3.query_export_to_s3.