

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

# Mengekspor data dari klaster DB Aurora PostgreSQL ke Amazon S3
<a name="postgresql-s3-export"></a>

Anda dapat mengueri data dari klaster DB Aurora PostgreSQL dan mengekspornya langsung ke file yang disimpan dalam bucket Amazon S3. Untuk melakukannya, instal ekstensi Aurora 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. 

Anda dapat mengekspor dari instans DB Aurora Serverless v2 atau yang tersedia. Langkah-langkah ini tidak didukung untuk Aurora Serverless v1. 

**catatan**  
Ekspor lintas akun ke Amazon S3 tidak didukung. 

Semua versi Aurora PostgreSQL yang tersedia saat ini mendukung ekspor data ke Amazon Simple Storage Service. Untuk informasi versi terperinci, lihat [Pembaruan Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraPostgreSQLReleaseNotes/AuroraPostgreSQL.Updates.html) dalam *Catatan Rilis untuk Aurora PostgreSQL*.

Jika Anda belum menyiapkan bucket untuk ekspor, lihat topik berikut, *Panduan Pengguna Amazon Simple Storage Service*. 
+ [Menyiapkan Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/setting-up-s3.html)
+ [Membuat bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)

Secara default, data yang diekspor dari Aurora PostgreSQL ke Amazon S3 menggunakan enkripsi sisi server dengan. Kunci yang dikelola AWS Anda dapat menggunakan kunci terkelola pelanggan yang telah Anda buat. Jika Anda menggunakan enkripsi bucket, bucket Amazon S3 harus dienkripsi dengan AWS Key Management Service (AWS KMS) key (SSE-KMS). Saat ini, bucket yang dienkripsi dengan kunci terkelola Amazon S3 (SSE-S3) tidak didukung. 

**catatan**  
Anda dapat menyimpan data snapshot cluster DB dan DB ke Amazon S3 menggunakan Konsol Manajemen AWS AWS CLI,, atau Amazon RDS API. Untuk informasi selengkapnya, lihat [Mengekspor data snapshot klaster DB ke Amazon S3](aurora-export-snapshot.md).

**Topics**
+ [Menginstal ekstensi aws\$1s3](#USER_PostgreSQL.S3Export.InstallExtension)
+ [Ikhtisar ekspor data ke Amazon S3](#postgresql-s3-export-overview)
+ [Menentukan jalur file Amazon S3 tujuan ekspor](#postgresql-s3-export-file)
+ [Menyiapkan akses ke bucket Amazon S3](postgresql-s3-export-access-bucket.md)
+ [Mengekspor data kueri menggunakan fungsi aws\$1s3.query\$1export\$1to\$1s3](postgresql-s3-export-examples.md)
+ [Referensi fungsi](postgresql-s3-export-functions.md)
+ [Memecahkan masalah akses ke Amazon S3](postgresql-s3-export-troubleshoot.md)

## Menginstal ekstensi aws\$1s3
<a name="USER_PostgreSQL.S3Export.InstallExtension"></a>

Sebelum Anda dapat menggunakan Amazon Simple Storage Service dengan klaster DB Aurora PostgreSQL, Anda perlu menginstal ekstensi `aws_s3`. Ekstensi ini memberikan fungsi untuk mengekspor data dari instans penulis klaster DB Aurora 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 klaster DB Aurora PostgreSQL](USER_PostgreSQL.S3Import.md). Ekstensi `aws_s3` bergantung pada beberapa fungsi pembantu dalam ekstensi `aws_commons`, yang diinstal secara otomatis bila diperlukan. 

**Untuk menginstal ekstensi `aws_s3`**

1. Gunakan psql (atau pgAdmin) untuk terhubung ke instans penulis klaster DB Aurora PostgreSQL sebagai pengguna yang memiliki hak istimewa `rds_superuser`. Jika Anda menyimpan nama default selama proses penyiapan, Anda terhubung sebagai `postgres`.

   ```
   psql --host=111122223333.aws-region.rds.amazonaws.com --port=5432 --username=postgres --password
   ```

1. Untuk menginstal ekstensi, jalankan perintah berikut. 

   ```
   postgres=> CREATE EXTENSION aws_s3 CASCADE;
   NOTICE: installing required extension "aws_commons"
   CREATE EXTENSION
   ```

1. Untuk memverifikasi bahwa ekstensi sudah diinstal, Anda dapat menggunakan metacommand psql `\dx`.

   ```
   postgres=> \dx
          List 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 PostgreSQL mendukung ekspor ke Amazon S3
<a name="postgresql-s3-supported"></a>

Anda dapat memverifikasi bahwa versi RDS for PostgreSQL Anda mendukung ekspor ke Amazon S3 dengan menggunakan perintah `describe-db-engine-versions`. Contoh berikut memeriksa untuk melihat apakah versi 10.14 dapat mengekspor ke Amazon S3.

```
aws rds describe-db-engine-versions --region us-east-1 \
--engine aurora-postgresql --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
<a name="postgresql-s3-export-overview"></a>

Untuk mengekspor data yang disimpan dalam basis data Aurora PostgreSQL ke bucket Amazon S3, gunakan prosedur berikut.

**Untuk mengekspor data Aurora PostgreSQL ke S3**

1. Identifikasi jalur file Amazon S3 yang akan digunakan untuk mengekspor data. Untuk detail tentang proses ini, lihat [Menentukan jalur file Amazon S3 tujuan ekspor](#postgresql-s3-export-file).

1. Berikan izin untuk mengakses bucket Amazon S3.

   Untuk mengekspor data ke file Amazon S3, beri klaster DB Aurora PostgreSQL izin untuk mengakses bucket Amazon S3 yang akan digunakan untuk penyimpanan data yang diekspor. Berikut adalah langkah-langkahnya:

   1. Buat kebijakan IAM yang memberikan akses ke bucket Amazon S3 tempat tujuan ekspor.

   1. Buat peran IAM.

   1. Lampirkan kebijakan yang Anda buat ke peran yang Anda buat.

   1. Tambahkan peran IAM ini ke klaster DB .

   Untuk detail tentang proses ini, lihat [Menyiapkan akses ke bucket Amazon S3](postgresql-s3-export-access-bucket.md).

1. 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\$1s3.query\$1export\$1to\$1s3](postgresql-s3-export-functions.md#aws_s3.export_query_to_s3) untuk mengekspor hasil kueri ke Amazon S3. Untuk detail tentang proses ini, lihat [Mengekspor data kueri menggunakan fungsi aws\$1s3.query\$1export\$1to\$1s3](postgresql-s3-export-examples.md).

## Menentukan jalur file Amazon S3 tujuan ekspor
<a name="postgresql-s3-export-file"></a>

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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) dan [Bekerja dengan objek](https://docs.aws.amazon.com/AmazonS3/latest/userguide/uploading-downloading-objects.html) 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 `_partXX`. `XX` mewakili 2, lalu 3, dan seterusnya.

  Misalnya, jalur file dengan folder `exports` dan awalan file `query-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 DB cluster DB yang mengekspor.

  Untuk daftar nama AWS Wilayah dan nilai terkait, lihat[Wilayah dan Zona Ketersediaan](Concepts.RegionsAndAvailabilityZones.md).

Untuk menyimpan informasi file Amazon S3 tentang lokasi penyimpanan file yang diekspor, Anda dapat menggunakan fungsi [aws\$1commons.create\$1s3\$1uri](postgresql-s3-export-functions.md#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\$1s3.query\$1export\$1to\$1s3](postgresql-s3-export-functions.md#aws_s3.export_query_to_s3). Sebagai contoh, lihat [Mengekspor data kueri menggunakan fungsi aws\$1s3.query\$1export\$1to\$1s3](postgresql-s3-export-examples.md).