

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

# Menyiapkan replikasi Tabel S3
<a name="s3-tables-replication-setting-up"></a>

Anda dapat mengatur replikasi untuk secara otomatis membuat replika tabel dari tabel sumber hingga lima bucket tabel tujuan. Replikasi dapat dikonfigurasi pada tingkat bucket (berlaku untuk semua tabel di bucket) atau di tingkat tabel (untuk tabel tertentu). Topik ini menjelaskan cara mengonfigurasi replikasi menggunakan konsol Amazon S3 atau Antarmuka AWS CLI Baris AWS Perintah ().

Untuk informasi selengkapnya tentang menyiapkan replikasi, lihat topik berikut.

**Topics**
+ [Prasyarat untuk menyiapkan replikasi](#s3-tables-replication-prerequisites)
+ [Memahami konfigurasi replikasi](#s3-tables-replication-understanding-configurations)
+ [Memilih antara replikasi tingkat ember dan tingkat meja](#s3-tables-replication-choosing-configuration)
+ [Menyiapkan replikasi dengan menggunakan konsol Amazon S3](#s3-tables-replication-console)
+ [Menyiapkan replikasi dengan menggunakan AWS CLI](#s3-tables-replication-cli)

## Prasyarat untuk menyiapkan replikasi
<a name="s3-tables-replication-prerequisites"></a>

Sebelum Anda mengonfigurasi replikasi, pastikan Anda memiliki yang berikut:

### Sumber daya yang dibutuhkan
<a name="s3-tables-replication-required-resources"></a>
+ **Ember meja sumber** - Ember meja berisi tabel yang ingin Anda tiru
+ **Bucket meja tujuan** - Satu atau beberapa ember meja tempat Anda ingin mereplikasi tabel Anda (hingga 5 ember meja tujuan)
+ **Tabel sumber - Tabel** yang ada di keranjang tabel sumber Anda untuk direplikasi
+ **Peran IAM** — Peran IAM yang memberikan izin Amazon S3 untuk mereplikasi tabel atas nama Anda

### Izin yang diperlukan
<a name="s3-tables-replication-required-permissions"></a>

Identitas IAM yang Anda gunakan untuk mengatur replikasi harus memiliki izin berikut:

**Untuk replikasi tingkat ember:**
+ `s3tables:PutTableBucketReplication`di ember meja sumber
+ `s3tables:GetTableBucketReplication`di ember meja sumber
+ `iam:PassRole`untuk peran IAM replikasi

**Untuk replikasi tingkat tabel:**
+ `s3tables:PutTableReplication`di atas meja sumber
+ `s3tables:GetTableReplication`di atas meja sumber
+ `iam:PassRole`untuk peran IAM replikasi

**Untuk replikasi lintas akun:**
+ Izin dari kebijakan bucket akun tujuan

### Persyaratan tambahan untuk replikasi lintas akun
<a name="s3-tables-replication-cross-account-requirements"></a>

Jika bucket tabel sumber dan tujuan Anda berada di AWS akun yang berbeda, Anda juga memerlukan:
+ Kebijakan bucket pada bucket tabel tujuan yang memberikan izin akun sumber untuk mereplikasi tabel
+ ID akun tujuan dan keranjang tabel Nama Sumber Daya Amazon (ARN)

### Persyaratan tambahan untuk tabel terenkripsi
<a name="s3-tables-replication-encrypted-requirements"></a>

Jika Anda ingin mengenkripsi tabel replika dengan: AWS KMS
+ Kunci KMS di Wilayah tujuan
+ Izin untuk menggunakan kunci KMS dalam peran replikasi IAM Anda
+ Kebijakan kunci KMS yang memungkinkan peran replikasi untuk mengenkripsi data

## Memahami konfigurasi replikasi
<a name="s3-tables-replication-understanding-configurations"></a>

Konfigurasi replikasi menentukan cara Amazon S3 mereplikasi tabel dari bucket tabel sumber Anda. Replikasi dapat dikonfigurasi pada dua tingkat:

### Replikasi tingkat ember
<a name="s3-tables-replication-bucket-level"></a>

Konfigurasi replikasi tingkat ember berlaku untuk semua tabel di bucket tabel sumber. Saat Anda mengonfigurasi replikasi tingkat ember, Amazon S3 secara otomatis mereplikasi tabel yang ada dan tabel baru yang dibuat di bucket.

Gunakan replikasi tingkat ember saat:
+ Anda ingin mereplikasi semua tabel dalam ember
+ Anda ingin perilaku replikasi yang konsisten di semua tabel
+ Anda ingin menyederhanakan manajemen dengan memiliki satu konfigurasi

### Replikasi tingkat meja
<a name="s3-tables-replication-table-level"></a>

Konfigurasi replikasi tingkat tabel berlaku untuk tabel tertentu. Konfigurasi tingkat tabel mengganti konfigurasi tingkat ember untuk tabel tertentu.

Gunakan replikasi tingkat tabel saat:
+ Anda hanya ingin mereplikasi tabel tertentu
+ Anda memerlukan tujuan replikasi yang berbeda untuk tabel yang berbeda
+ Anda ingin mengganti konfigurasi tingkat ember untuk tabel tertentu

### Elemen konfigurasi replikasi
<a name="s3-tables-replication-configuration-elements"></a>

Setiap konfigurasi replikasi berisi:
+ Peran **IAM - Peran** yang diasumsikan Amazon S3 untuk melakukan operasi replikasi
+ **Aturan** - Satu atau lebih aturan replikasi (terbatas pada 1 aturan saat peluncuran). Setiap aturan berisi:
  + **Tujuan** — Daftar keranjang meja tujuan ARNs (hingga 5 tujuan)
  + **Status** - Apakah aturan diaktifkan atau dinonaktifkan
+ **Token versi** — Token yang digunakan untuk mencegah konflik penulisan saat memperbarui konfigurasi

## Memilih antara replikasi tingkat ember dan tingkat meja
<a name="s3-tables-replication-choosing-configuration"></a>

### Keutamaan konfigurasi
<a name="s3-tables-replication-configuration-precedence"></a>

Ketika konfigurasi tingkat ember dan tingkat tabel ada:
+ Konfigurasi tingkat tabel diutamakan untuk tabel tertentu.
+ Tabel lain mengikuti konfigurasi tingkat ember.

## Menyiapkan replikasi dengan menggunakan konsol Amazon S3
<a name="s3-tables-replication-console"></a>

Prosedur ini menunjukkan cara mengonfigurasi replikasi menggunakan konsol Amazon S3.

### Untuk mengatur replikasi tingkat ember
<a name="s3-tables-replication-bucket-level-console"></a>

Prosedur ini menunjukkan cara membuat konfigurasi replikasi bucket tabel menggunakan konsol Amazon S3. Konfigurasi replikasi bucket tabel berlaku untuk semua tabel di bucket tabel sumber.

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Di panel navigasi, pilih **Bucket tabel**.

1. Dalam daftar **bucket Table**, pilih nama bucket tabel yang ingin Anda konfigurasikan replikasi.

1. Pilih tab **Manajemen**.

1. Di bagian **konfigurasi replikasi bucket tabel, pilih Buat konfigurasi** **replikasi bucket tabel**.

1. Di bagian **Tujuan**, konfigurasikan tujuan replikasi Anda:

   1. Pada kolom **Table bucket ARN**, masukkan ARN dari bucket meja tujuan. Formatnya adalah: `arn:aws:s3tables:region:account-id:bucket/table-bucket-name`

      Atau, pilih **Browse S3** untuk memilih keranjang meja dari akun Anda.

   1. (Opsional) Untuk menambahkan tujuan tambahan, pilih **Tambahkan tujuan**. Anda dapat menambahkan hingga 4 ember meja lagi untuk total 5 tujuan.

1. Di bagian **peran IAM**, konfigurasikan peran replikasi:

   1. Untuk **metode pemilihan peran IAM**, pilih salah satu opsi berikut:
      + **Buat peran IAM baru** — Amazon S3 menciptakan peran baru dengan izin yang diperlukan untuk replikasi.
      + **Pilih dari peran IAM yang ada — Pilih peran** yang ada yang memiliki izin replikasi yang diperlukan.
      + **Masukkan peran IAM ARN** — Masukkan ARN secara manual dari peran IAM yang ada.

   1. Jika Anda memilih **Pilih dari peran IAM yang ada, pilih peran** dari daftar tarik-turun **peran IAM**.

   1. (Opsional) Pilih **Lihat** untuk meninjau izin peran yang dipilih di konsol IAM.

1. Pilih **Buat konfigurasi replikasi**.

   Setelah Anda membuat konfigurasi replikasi, Amazon S3 memulai proses pengisian ulang awal. Anda dapat memantau status replikasi di bagian Status **replikasi tabel, yang menampilkan informasi tentang setiap tujuan termasuk status** replikasi, ARN tabel tujuan, dan metadata terakhir yang direplikasi.

### Untuk mengatur replikasi tingkat tabel
<a name="s3-tables-replication-table-level-console"></a>

Prosedur ini menunjukkan cara membuat konfigurasi replikasi tingkat tabel menggunakan konsol Amazon S3. Konfigurasi replikasi tabel berlaku untuk tabel tertentu dan mengganti konfigurasi replikasi tingkat ember untuk tabel tersebut.

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Di panel navigasi, pilih **Bucket tabel**.

1. Dalam daftar **bucket Table**, pilih nama bucket tabel yang berisi tabel yang ingin Anda tiru.

1. Pilih tab **Tabel**.

1. Dalam daftar **Tabel**, pilih nama tabel yang ingin Anda tiru.

1. Pilih tab **Manajemen**.

1. Di bagian **konfigurasi replikasi tabel**, pilih **Buat konfigurasi replikasi tabel**.

1. Di bagian **Tujuan**, konfigurasikan tujuan replikasi Anda:

   1. Pada kolom **Table bucket ARN**, masukkan ARN dari bucket meja tujuan. Formatnya adalah: `arn:aws:s3tables:region:account-id:bucket/table-bucket-name`

      Atau, pilih **Browse S3** untuk memilih keranjang meja dari akun Anda.

   1. (Opsional) Untuk menambahkan tujuan tambahan, pilih **Tambahkan tujuan**. Anda dapat menambahkan hingga 4 ember meja lagi untuk total 5 tujuan.

1. Di bagian **peran IAM**, konfigurasikan peran replikasi:

   1. Untuk **metode pemilihan peran IAM**, pilih salah satu opsi berikut:
      + **Buat peran IAM baru** — Amazon S3 menciptakan peran baru dengan izin yang diperlukan untuk replikasi.
      + **Pilih dari peran IAM yang ada — Pilih peran** yang ada yang memiliki izin replikasi yang diperlukan.
      + **Masukkan peran IAM ARN** — Masukkan ARN secara manual dari peran IAM yang ada.

   1. Jika Anda memilih **Pilih dari peran IAM yang ada**, pilih peran dari daftar peran **IAM**.

   1. (Opsional) Pilih **Lihat** untuk meninjau izin peran yang dipilih di konsol IAM.

1. Pilih **Buat konfigurasi replikasi**.

### Apa yang terjadi selanjutnya?
<a name="s3-tables-replication-what-happens-next"></a>

Setelah Anda membuat konfigurasi replikasi:
+ Amazon S3 memulai proses pengisian ulang awal, membuat tabel replika di setiap bucket tujuan
+ Status replikasi berubah menjadi **Replikasi setelah pengisian ulang** dimulai
+ Anda dapat memantau kemajuan replikasi pada tab **Manajemen**
+ Waktu replikasi awal tergantung pada ukuran tabel sumber Anda

## Menyiapkan replikasi dengan menggunakan AWS CLI
<a name="s3-tables-replication-cli"></a>

Prosedur ini menunjukkan kepada Anda cara mengkonfigurasi replikasi menggunakan file. AWS CLI Ganti akun IDs, wilayah, dan nama bucket dengan nilai aktual Anda. Tambahkan semua bucket tujuan ke izin.

### Langkah 1: Buat peran IAM untuk replikasi
<a name="s3-tables-replication-create-iam-role"></a>

Pertama, buat peran IAM yang dapat diasumsikan Amazon S3 untuk mereplikasi tabel Anda.

1. Buat dokumen kebijakan kepercayaan yang memungkinkan Tabel S3 untuk mengambil peran. Simpan ini sebagai`trust-policy.json`:

   ```
   {
     "Version": "2012-10-17"		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "replication.s3tables.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

1. Buat peran IAM:

   ```
   aws iam create-role \
       --role-name S3TablesReplicationRole \
       --assume-role-policy-document file://trust-policy.json \
       --description "Role for S3 Tables replication"
   ```

1. Buat kebijakan izin yang memberikan izin replikasi. Simpan ini sebagai`replication-permissions.json`:

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "s3tables:GetTable",
                   "s3tables:GetTableMetadataLocation",
                   "s3tables:GetTableMaintenanceConfiguration",
                   "s3tables:GetTableData"
               ],
               "Resource": "arn:aws:s3tables:us-east-2:111122223333:bucket/amzn-s3-demo-table-bucket-source/table/*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3tables:ListTables"
               ],
               "Resource": "arn:aws:s3tables:us-east-2:111122223333:bucket/amzn-s3-demo-table-bucket-source"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3tables:CreateTable",
                   "s3tables:CreateNamespace"
               ],
               "Resource": "arn:aws:s3tables:us-east-2:444455556666:bucket/amzn-s3-demo-table-bucket-destination"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3tables:PutTableData",
                   "s3tables:GetTableData",
                   "s3tables:UpdateTableMetadataLocation",
                   "s3tables:PutTableMaintenanceConfiguration"
               ],
               "Resource": "arn:aws:s3tables:us-east-2:444455556666:bucket/amzn-s3-demo-table-bucket-destination/table/*"
           }
       ]
   }
   ```

1. Lampirkan kebijakan izin ke peran:

   ```
   aws iam put-role-policy \
       --role-name S3TablesReplicationRole \
       --policy-name S3TablesReplicationPermissions \
       --policy-document file://replication-permissions.json
   ```

1. (Opsional) Jika menggunakan enkripsi KMS, tambahkan izin KMS ke kebijakan Anda:

   ```
   {
     "Effect": "Allow",		 	 	 
     "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey",
        "kms:Encrypt"
   
     ],
     "Resource": "arn:aws:kms:us-east-1:111122223333:key/SOURCE-KEY-ID"
   },
   {
     "Effect": "Allow",
     "Action": [
       "kms:Decrypt",
       "kms:GenerateDataKey"
     ],
     "Resource": [
       "arn:aws:kms:us-west-2:444455556666:key/DESTINATION-KEY-ID-1"
     ]
   }
   ```

### (Hanya lintas akun) Langkah 2: Konfigurasikan kebijakan bucket tujuan
<a name="s3-tables-replication-cross-account-policy"></a>

Jika Anda mereplikasi ke AWS akun lain, akun tujuan harus memberikan izin ke akun sumber.

1. Di akun tujuan, buat kebijakan bucket untuk bucket tabel tujuan. Simpan ini sebagai`destination-bucket-policy.json`:

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::444455556666:role/cross-account-test"
               },
               "Action": [
                   "s3tables:PutTableData",
                   "s3tables:GetTableData",
                   "s3tables:UpdateTableMetadataLocation",
                   "s3tables:PutTableMaintenanceConfiguration"
               ],
               "Resource": "arn:aws:s3tables:us-east-2:111122223333:bucket/amzn-s3-demo-table-bucket-cross-account-destination/table/*"
           },
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::444455556666:role/cross-account-test"
               },
               "Action": [
                   "s3tables:CreateTable",
                   "s3tables:CreateNamespace"
               ],
               "Resource": "arn:aws:s3tables:us-east-2:111122223333:bucket/amzn-s3-demo-table-bucket-cross-account-destination"
           }
       ]
   }
   ```

1. Menerapkan kebijakan menggunakan S3 Tables API:

   ```
   aws s3tables put-table-bucket-policy \
       --table-bucket-arn arn:aws:s3tables:us-west-2:444455556666:bucket/amzn-s3-demo-table-bucket-cross-account-destination \
       --policy file://destination-bucket-policy.json \
       --profile destination-account
   ```

1. Ubah kunci KMS sumber Anda untuk memungkinkan replikasi dan pemeliharaan Tabel S3:

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Id": "key-consolepolicy-3",
     "Statement": [
           {
               "Sid": "allow replication to decrypt",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "replication_role_arn"
               },
               "Action": [
                   "kms:Decrypt",
                   "kms:GenerateDataKey"
               ],
               "Resource": "arn:aws:kms:us-east-1:111122223333:key/SOURCE-KEY-ID"
           },
           {
               "Sid": "allow maintenance",
               "Effect": "Allow",
               "Principal": {
                   "Service": "maintenance.s3tables.amazonaws.com"
               },
               "Action": [
                   "kms:Decrypt",
                   "kms:GenerateDataKey"
               ],
               "Resource": "arn:aws:kms:us-east-1:111122223333:key/SOURCE-KEY-ID"
           }
     ]
   }
   ```

1. Demikian pula, tambahkan izin dalam kebijakan kunci KMS tujuan Anda

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Id": "key-policy-3",
       "Statement": [
           {
               "Sid": "allow maintenance",
               "Effect": "Allow",
               "Principal": {
                   "Service": "maintenance.s3tables.amazonaws.com"
               },
               "Action": [
                   "kms:Decrypt",
                   "kms:GenerateDataKey"
               ],
               "Resource": "arn:aws:kms:us-west-2:444455556666:key/DESTINATION-KEY-ID-1"
           },
           {
               "Sid": "allow replication to encrypt/decrypt",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "replication_role_arn"
               },
               "Action": [
                   "kms:Encrypt",
                   "kms:Decrypt",
                   "kms:GenerateDataKey"
               ],
               "Resource": "arn:aws:kms:us-west-2:444455556666:key/DESTINATION-KEY-ID-1"
           }
       ]
   ```

### Langkah 3: Buat konfigurasi replikasi
<a name="s3-tabales-replication-cli"></a>

Anda dapat menggunakan AWS CLI untuk membuat konfigurasi replikasi di tingkat ember tabel atau tingkat tabel. Untuk informasi selengkapnya, lihat prosedur berikut ini.

#### Buat konfigurasi replikasi tingkat ember
<a name="s3-tables-replication-bucket-level-cli"></a>

Gunakan pendekatan ini untuk mereplikasi semua tabel dalam ember.

1. Buat file konfigurasi replikasi. Simpan ini sebagai`bucket-replication-config.json`:  
**Example : Tujuan tunggal di akun yang sama**  

   ```
   {
     "role": "arn:aws:iam::111122223333:role/S3TablesReplicationRole",
     "rules": [
       {
         "destinations": [
           {
             "destinationTableBucketARN": "arn:aws:s3tables:us-west-2:111122223333:bucket/amzn-s3-demo-table-bucket-dr"
           }
         ]
       }
     ]
   }
   ```  
**Example : Beberapa tujuan di seluruh wilayah**  

   ```
   {
     "role": "arn:aws:iam::111122223333:role/S3TablesReplicationRole",
     "rules": [
       {
         "destinations": [
           {
             "destinationTableBucketARN": "arn:aws:s3tables:us-west-2:111122223333:bucket/amzn-s3-demo-table-bucket-dr"
           },
           {
             "destinationTableBucketARN": "arn:aws:s3tables:eu-west-1:111122223333:bucket/amzn-s3-demo-table-bucket-eu"
           },
           {
             "destinationTableBucketARN": "arn:aws:s3tables:ap-south-1:111122223333:bucket/amzn-s3-demo-table-bucket-apac"
           }
         ]
       }
     ]
   }
   ```  
**Example : Replikasi lintas akun**  

   ```
   {
     "role": "arn:aws:iam::111122223333:role/S3TablesReplicationRole",
     "rules": [
       {
         "destinations": [
           {
             "destinationTableBucketARN": "arn:aws:s3tables:us-east-1:444455556666:bucket/amzn-s3-demo-table-bucket-partner"
           }
         ]
       }
     ]
   }
   ```

1. Terapkan konfigurasi replikasi tingkat ember:

   ```
   aws s3tables put-table-bucket-replication \
       --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket \
       --configuration file://bucket-replication-config.json
   ```

   Keluaran yang diharapkan

   ```
   {
     "versionToken": "3HL4kqtJl40Nr8X8gdRQBpUMLUo",
     "status": "Success"
   }
   ```

#### Buat konfigurasi replikasi tingkat tabel
<a name="s3-tables-replication-table-level-cli"></a>

Gunakan pendekatan ini untuk mereplikasi tabel tertentu atau untuk mengganti replikasi tingkat ember.

1. Buat file konfigurasi replikasi. Simpan ini sebagai`table-replication-config.json`:  
**Example : Replikasi tabel tunggal**  

   ```
   {
     "role": "arn:aws:iam::111122223333:role/S3TablesReplicationRole",
     "rules": [
       {
         "destinations": [
           {
             "destinationTableBucketARN": "arn:aws:s3tables:us-west-2:111122223333:bucket/amzn-s3-demo-table-bucket-analytics-bucket"
           }
         ]
       }
     ]
   }
   ```  
**Example : Tabel dengan beberapa tujuan**  

   ```
   {
     "role": "arn:aws:iam::111122223333:role/S3TablesReplicationRole",
     "rules": [
       {
         "destinations": [
           {
             "destinationTableBucketARN": "arn:aws:s3tables:us-west-2:111122223333:bucket/amzn-s3-demo-table-bucket-dr"
           },
           {
             "destinationTableBucketARN": "arn:aws:s3tables:eu-west-1:111122223333:bucket/amzn-s3-demo-table-bucket-eu"
           }
         ]
       }
     ]
   }
   ```

1. Terapkan konfigurasi replikasi tingkat tabel:

   ```
   aws s3tables put-table-replication \
       --table-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket/table/amzn-s3-demo-table-bucket-sales-data \
       --configuration file://table-replication-config.json
   ```

   Keluaran yang diharapkan

   ```
   {
     "versionToken": "xT2LZkFZ0UuTC2h8XqtGLx2Ak6M",
     "status": "Success"
   }
   ```