

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

# Mengkonfigurasi replikasi untuk bucket di akun yang sama
<a name="replication-walkthrough1"></a>

Replikasi langsung adalah penyalinan objek otomatis dan asinkron di seluruh ember tujuan umum dalam hal yang sama atau berbeda. Wilayah AWS Replikasi langsung menyalin objek dan pembaruan objek yang baru dibuat dari bucket sumber ke bucket atau bucket tujuan. Untuk informasi selengkapnya, lihat [Mereplikasi objek di dalam dan di seluruh Wilayah](replication.md).

Saat mengonfigurasi replikasi, Anda menambahkan aturan replikasi ke bucket sumber. Aturan replikasi menentukan objek bucket sumber mana yang akan direplikasi dan bucket tujuan atau bucket tempat objek yang direplikasi disimpan. Anda dapat membuat aturan untuk mereplikasi semua objek dalam bucket atau subset objek dengan awalan nama kunci tertentu, satu atau beberapa tag objek, atau keduanya. Bucket tujuan bisa Akun AWS sama dengan bucket sumber, atau bisa juga di akun yang berbeda.

Jika Anda menentukan ID versi objek yang akan dihapus, Amazon S3 menghapus versi objek tersebut dalam bucket sumber. Tetapi ini tidak mereplikasi penghapusan di bucket tujuan. Dengan kata lain, itu tidak menghapus versi objek yang sama dari bucket tujuan. Ini melindungi data dari penghapusan berbahaya.

Ketika Anda menambahkan aturan replikasi ke bucket, aturan diaktifkan secara default, sehingga aturan mulai bekerja segera setelah Anda menyimpannya. 

Dalam contoh ini, Anda mengatur replikasi langsung untuk bucket sumber dan tujuan yang dimiliki oleh yang sama. Akun AWS Contoh disediakan untuk menggunakan konsol Amazon S3, AWS Command Line Interface (AWS CLI), dan dan. AWS SDK untuk Java AWS SDK untuk .NET

## Prasyarat
<a name="replication-prerequisites"></a>

Sebelum Anda menggunakan prosedur berikut, pastikan Anda telah menyiapkan izin yang diperlukan untuk replikasi, tergantung pada apakah bucket sumber dan tujuan dimiliki oleh akun yang sama atau berbeda. Untuk informasi selengkapnya, lihat [Menyiapkan izin untuk replikasi langsung](setting-repl-config-perm-overview.md).

**catatan**  
Jika Anda ingin mereplikasi objek terenkripsi, Anda juga harus memberikan izin kunci AWS Key Management Service (AWS KMS) yang diperlukan. Untuk informasi selengkapnya, lihat [Mereplikasi objek terenkripsi (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C)](replication-config-for-kms-objects.md).
Untuk menggunakan Object Lock dengan replikasi, Anda harus memberikan dua izin tambahan pada bucket S3 sumber dalam peran AWS Identity and Access Management (IAM) yang Anda gunakan untuk mengatur replikasi. Dua izin tambahan tersebut adalah `s3:GetObjectRetention` dan`s3:GetObjectLegalHold`. Jika peran tersebut memiliki pernyataan izin `s3:Get*`, pernyataan itu memenuhi persyaratan. Untuk informasi selengkapnya, lihat [Menggunakan Kunci Objek dengan Replikasi S3](object-lock-managing.md#object-lock-managing-replication). 

## Menggunakan konsol S3
<a name="enable-replication"></a>

Untuk mengonfigurasi aturan replikasi saat bucket tujuan Akun AWS sama dengan bucket sumber, ikuti langkah-langkah berikut.

Jika bucket tujuan berada di akun yang berbeda dengan bucket sumber, Anda harus menambahkan kebijakan bucket ke bucket tujuan untuk memberi pemilik akun bucket sumber izin untuk mereplikasi objek dalam bucket tujuan. Untuk informasi selengkapnya, lihat [(Opsional) Langkah 3: Memberikan izin saat bucket sumber dan tujuan dimiliki oleh yang berbeda Akun AWS](setting-repl-config-perm-overview.md#setting-repl-config-crossacct).

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 kiri, pilih **Bucket tujuan umum**.

1. Dalam daftar bucket, pilih nama bucket yang Anda inginkan.

1. Pilih tab **Manajemen**, gulir ke bawah ke **Aturan replikasi**, lalu pilih **Buat aturan replikasi.**

    

1. Di bagian **Konfigurasi aturan replikasi**, di bawah **Nama aturan replikasi**, masukkan nama untuk aturan Anda guna membantu mengidentifikasi aturan tersebut nanti. Nama wajib diisi dan harus unik dalam bucket.

1. Di bawah **Status**, **Diaktifkan** dipilih secara default. Aturan yang diaktifkan mulai berfungsi segera setelah Anda menyimpannya. Jika Anda ingin mengaktifkan aturan nanti, pilih **Dinonaktifkan**.

1. Jika bucket memiliki aturan replikasi yang ada, Anda diinstruksikan untuk menetapkan prioritas aturan. Anda harus menetapkan prioritas pada aturan untuk menghindari konflik yang disebabkan oleh objek yang dimasukkan dalam cakupan lebih dari satu aturan. Dalam kasus aturan yang tumpang tindih, Amazon S3 menggunakan prioritas aturan untuk menentukan aturan mana yang berlaku. Semakin tinggi angkanya, semakin tinggi prioritasnya. Untuk informasi selengkapnya tentang prioritas aturan, lihat [Elemen file konfigurasi replikasi](replication-add-config.md).

1. Di bawah **Bucket sumber**, Anda memiliki opsi berikut untuk mengatur sumber replikasi:
   + Untuk mereplikasi seluruh bucket, pilih **Terapkan ke semua objek di bucket**. 
   + Untuk mereplikasi semua objek yang memiliki awalan yang sama, pilih **Batasi cakupan aturan ini menggunakan satu atau beberapa filter**. Ini membatasi replikasi ke semua objek yang memiliki nama yang dimulai dengan awalan yang Anda tentukan (misalnya `pictures`). Masukkan awalan di kotak **Awalan**. 
**catatan**  
Jika Anda memasukkan awalan yang merupakan nama folder, Anda harus menggunakan **/** (garis miring ke depan) sebagai karakter terakhir (misalnya, `pictures/`).
   + Untuk mereplikasi semua objek dengan satu atau beberapa tag objek, pilih **Tambahkan tag** dan masukkan pasangan nilai kunci ke dalam kotak. Ulangi prosedur untuk menambahkan tag lainnya. Anda dapat menggabungkan awalan dan tag. Untuk informasi selengkapnya tentang tag objek, lihat [Mengkategorikan objek Anda menggunakan tag](object-tagging.md).

   Skema XML konfigurasi replikasi baru mendukung pemfilteran awalan dan tag serta prioritas aturan. Untuk informasi selengkapnya tentang skema baru, lihat [Pertimbangan kompatibilitas mundur](replication-add-config.md#replication-backward-compat-considerations). Untuk informasi selengkapnya tentang XML yang digunakan dengan API Amazon S3 yang berfungsi di balik antarmuka pengguna, lihat [Elemen file konfigurasi replikasi](replication-add-config.md). Skema baru dijelaskan sebagai *konfigurasi replikasi XML V2*.

1. Di bawah **Tujuan**, pilih bucket tempat Anda ingin Amazon S3 mereplikasi objek.
**catatan**  
Jumlah ember tujuan terbatas pada jumlah Wilayah AWS di partisi tertentu. Partisi adalah pengelompokan Wilayah. AWS Saat ini memiliki tiga partisi: `aws` (Wilayah Standar), `aws-cn` (Wilayah Tiongkok), dan `aws-us-gov` (AWS GovCloud (US) Wilayah). Untuk meminta peningkatan kuota bucket tujuan Anda, Anda dapat menggunakan [kuota layanan](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html).
   + Untuk mereplikasi ke bucket atau beberapa bucket di akun Anda, pilih **Pilih bucket di akun ini**, dan masukkan atau telusuri nama bucket tujuan. 
   + Untuk mereplikasi ke bucket atau bucket yang berbeda Akun AWS, pilih **Tentukan bucket di akun lain**, lalu masukkan ID akun bucket tujuan dan nama bucket. 

     Jika tujuan berada di akun yang berbeda dengan bucket sumber, Anda harus menambahkan kebijakan bucket ke bucket tujuan untuk memberi pemilik akun bucket sumber izin untuk mereplikasi objek. Untuk informasi selengkapnya, lihat [(Opsional) Langkah 3: Memberikan izin saat bucket sumber dan tujuan dimiliki oleh yang berbeda Akun AWS](setting-repl-config-perm-overview.md#setting-repl-config-crossacct).

     Secara opsional, jika Anda ingin membantu menstandarkan kepemilikan objek baru di bucket tujuan, pilih **Ubah kepemilikan objek ke pemilik bucket tujuan**. Untuk informasi selengkapnya tentang metrik ini, lihat [Mengontrol kepemilikan objek dan menonaktifkan bucket ACLs Anda](about-object-ownership.md).
**catatan**  
Jika Penentuan Versi tidak diaktifkan pada bucket tujuan, Anda mendapatkan peringatan yang berisi tombol **Aktifkan Penentuan Versi**. Pilih tombol ini untuk mengaktifkan Penentuan Versi pada bucket.

1. Siapkan peran AWS Identity and Access Management (IAM) yang dapat diasumsikan Amazon S3 untuk mereplikasi objek atas nama Anda.

   Untuk menyiapkan peran IAM, di bagian **peran IAM**, pilih salah satu dari daftar dropdown **peran IAM** berikut ini:
   + Kami sangat merekomendasikan Anda untuk memilih **Buat peran baru** agar Amazon S3 membuat peran IAM baru untuk Anda. Saat Anda menyimpan aturan, kebijakan baru akan dibuat untuk peran IAM yang sesuai dengan bucket sumber dan tujuan yang Anda pilih.
   + Anda dapat memilih untuk menggunakan peran IAM yang sudah ada. Jika melakukannya, Anda harus memilih peran yang memberi Amazon S3 izin yang diperlukan untuk replikasi. Replikasi akan gagal jika peran ini tidak memberi Amazon S3 izin yang memadai untuk mengikuti aturan replikasi Anda.
**penting**  
Saat menambahkan aturan replikasi ke bucket, Anda harus memiliki izin `iam:PassRole` untuk dapat meneruskan peran IAM yang memberi izin Replikasi Amazon S3. Untuk informasi selengkapnya, lihat [Memberikan izin pengguna untuk meneruskan peran ke Layanan AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) di *Panduan Pengguna IAM*.

1. ****Untuk mereplikasi objek di bucket sumber yang dienkripsi dengan enkripsi sisi server dengan kunci AWS Key Management Service (AWS KMS) (SSE-KMS), di bawah Enkripsi, pilih Replikasi objek yang dienkripsi dengan. AWS KMS**** Di bawah **AWS KMS kunci untuk mengenkripsi objek tujuan** adalah kunci sumber yang dapat digunakan replikasi. Semua kunci sumber KMS disertakan secara default. Untuk mempersempit pilihan kunci KMS, Anda dapat memilih alias atau ID kunci. 

   Objek yang dienkripsi oleh AWS KMS keys yang tidak Anda pilih tidak direplikasi. Kunci KMS atau kumpulan kunci KMS akan dipilih untuk Anda, tetapi Anda dapat memilih kunci KMS jika mau. Untuk informasi tentang menggunakan AWS KMS dengan replikasi, lihat[Mereplikasi objek terenkripsi (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C)](replication-config-for-kms-objects.md).
**penting**  
Saat Anda mereplikasi objek yang dienkripsi AWS KMS, tingkat AWS KMS permintaan berlipat ganda di Wilayah sumber dan meningkat di Wilayah tujuan dengan jumlah yang sama. Tingkat panggilan yang meningkat ini disebabkan oleh cara data dienkripsi ulang dengan menggunakan kunci KMS yang Anda tentukan untuk Wilayah tujuan replikasi. AWS KMS AWS KMS memiliki kuota tarif permintaan per rekening panggilan per Region. Untuk informasi tentang default kuota, lihat [Kuota AWS KMS -Permintaan per Detik: Bervariasi](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html#requests-per-second) di *Panduan Developer AWS Key Management Service *.   
Jika tingkat permintaan `PUT` objek Amazon S3 saat ini selama replikasi lebih dari setengah batas AWS KMS tarif default untuk akun Anda, kami sarankan Anda meminta kenaikan kuota tingkat AWS KMS permintaan Anda. Untuk meminta peningkatan, buat kasus di Pusat Dukungan di [Hubungi Kami](https://aws.amazon.com/contact-us/). Misalnya, misalkan tingkat permintaan `PUT` objek Anda saat ini adalah 1.000 permintaan per detik dan Anda gunakan AWS KMS untuk mengenkripsi objek Anda. Dalam hal ini, kami menyarankan agar Anda meminta Dukungan untuk meningkatkan batas AWS KMS tarif Anda menjadi 2.500 permintaan per detik, baik di Wilayah sumber maupun tujuan Anda (jika berbeda), untuk memastikan bahwa tidak ada pembatasan oleh. AWS KMS  
Untuk melihat rasio permintaan `PUT` objek Anda di bucket sumber, lihat `PutRequests` di metrik CloudWatch permintaan Amazon untuk Amazon S3. Untuk informasi tentang melihat CloudWatch metrik, lihat[Menggunakan konsol S3](configure-request-metrics-bucket.md#configure-metrics).

   Jika Anda memilih untuk mereplikasi objek yang dienkripsi AWS KMS, lakukan hal berikut: 

   1. Di bawah **AWS KMS key untuk mengenkripsi objek tujuan**, tentukan kunci KMS Anda dengan salah satu cara berikut:
     + Untuk memilih dari daftar kunci KMS yang tersedia, pilih **Pilih dari AWS KMS keys**, dan pilih **Kunci KMS** Anda dari daftar kunci yang tersedia.

       Kunci Kunci yang dikelola AWS (`aws/s3`) dan kunci terkelola pelanggan Anda muncul dalam daftar ini. Untuk informasi selengkapnya tentang CMK, lihat [Kunci pelanggan dan AWS kunci](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#key-mgmt) di *AWS Key Management Service Panduan Pengembang*.
     + Untuk memasukkan kunci KMS Amazon Resource Name (ARN), pilih **Masukkan ARN AWS KMS key **, dan masukkan ARN kunci KMS Anda di bidang yang muncul. Ini akan mengenkripsi replika di bucket tujuan. **Anda dapat menemukan ARN untuk kunci KMS Anda di [Konsol IAM, di bawah](https://console.aws.amazon.com/iam/) kunci Enkripsi.** 
     + Untuk membuat kunci terkelola pelanggan baru di AWS KMS konsol, pilih **Buat kunci KMS**.

       Untuk informasi selengkapnya tentang membuat AWS KMS key, lihat [Membuat kunci](https://docs.aws.amazon.com//kms/latest/developerguide/create-keys.html) di *Panduan AWS Key Management Service Pengembang*.
**penting**  
Anda hanya dapat menggunakan tombol KMS yang diaktifkan Wilayah AWS sama dengan bucket. Saat memilih **Pilih dari kunci KMS Anda**, konsol S3 hanya mencantumkan 100 kunci KMS per Wilayah. Jika Anda memiliki lebih dari 100 tombol KMS di Wilayah yang sama, Anda hanya dapat melihat 100 kunci KMS pertama di konsol S3. Untuk menggunakan kunci KMS yang tidak tercantum di konsol, pilih **Masukkan ARN AWS KMS key **, lalu masukkan ARN kunci KMS Anda.  
Saat Anda menggunakan enkripsi sisi server AWS KMS key untuk Amazon S3, Anda harus memilih kunci KMS enkripsi simetris. Amazon S3 hanya mendukung kunci KMS enkripsi simetris dan tidak mendukung kunci KMS asimetris. Untuk informasi selengkapnya, lihat [Mengidentifikasi tombol KMS simetris dan asimetris](https://docs.aws.amazon.com//kms/latest/developerguide/find-symm-asymm.html) dalam *Panduan Pengembang AWS Key Management Service *.

     Untuk informasi selengkapnya tentang membuat AWS KMS key, lihat [Membuat kunci](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) di *Panduan AWS Key Management Service Pengembang*. Untuk informasi selengkapnya tentang penggunaan AWS KMS dengan Amazon S3, lihat. [Menggunakan enkripsi sisi server dengan AWS KMS kunci (SSE-KMS)](UsingKMSEncryption.md)

1. Di Bawah **Kelas penyimpanan tujuan**, jika Anda ingin mereplikasi data Anda ke dalam kelas penyimpanan tertentu di tujuan, pilih **Ubah kelas penyimpanan untuk objek yang direplikasi**. Kemudian pilih kelas penyimpanan yang ingin Anda gunakan untuk objek yang direplikasi di tujuan. Jika Anda tidak memilih opsi ini, kelas penyimpanan untuk objek yang direplikasi adalah kelas yang sama dengan objek aslinya.

1. Anda memiliki opsi tambahan berikut saat mengatur **Opsi replikasi tambahan**:
   + Jika Anda ingin mengaktifkan Kontrol Waktu Replikasi S3 (S3 RTC) dalam konfigurasi replikasi Anda, pilih Kontrol Waktu Replikasi (**RTC)**. Untuk informasi selengkapnya tentang metrik ini, lihat [Memenuhi persyaratan kepatuhan dengan Kontrol Waktu Replikasi S3](replication-time-control.md).
   + Jika Anda ingin mengaktifkan metrik replikasi S3 dalam konfigurasi replikasi Anda, pilih **Metrik dan peristiwa replikasi**. Untuk informasi selengkapnya, lihat [Memantau replikasi dengan metrik, pemberitahuan acara, dan status](replication-metrics.md).
   + Jika Anda ingin mengaktifkan replikasi penanda hapus dalam konfigurasi replikasi Anda, pilih **Replikasi penanda hapus**. Untuk informasi selengkapnya, lihat [Mereplikasi penanda hapus di antara bucket](delete-marker-replication.md).
   + Jika Anda ingin mengaktifkan sinkronisasi modifikasi replika Amazon S3 dalam konfigurasi replikasi Anda, pilih **Sinkronisasi modifikasi replika**. Untuk informasi selengkapnya, lihat [Mereplikasi perubahan metadata dengan sinkronisasi modifikasi replika](replication-for-metadata-changes.md).
**catatan**  
Ketika Anda menggunakan metrik Replikasi S3 atau S3 RTC, biaya tambahan berlaku.

1. Untuk menyelesaikan, pilih **Simpan**.

1. Setelah menyimpan aturan, Anda dapat mengedit, mengaktifkan, menonaktifkan, atau menghapus aturan Anda dengan memilih aturan dan memilih **Edit aturan**. 

## Menggunakan AWS CLI
<a name="replication-ex1-cli"></a>

Untuk menggunakan AWS CLI untuk mengatur replikasi ketika bucket sumber dan tujuan dimiliki oleh yang sama Akun AWS, Anda melakukan hal berikut:
+ Buat ember sumber dan tujuan.
+ Aktifkan pembuatan versi pada ember.
+ Buat peran AWS Identity and Access Management (IAM) yang memberikan izin Amazon S3 untuk mereplikasi objek.
+ Tambahkan konfigurasi replikasi ke bucket sumber.

Untuk memverifikasi konfigurasi, Anda mengujinya.

**Untuk mengatur replikasi ketika bucket sumber dan tujuan dimiliki oleh yang sama Akun AWS**

1. Atur profil kredensial untuk AWS CLI. Contoh ini menggunakan nama profil `acctA`. Untuk informasi tentang menyetel profil kredensi dan menggunakan profil bernama, lihat [Pengaturan konfigurasi dan file kredensi](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) di *AWS Command Line Interface Panduan Pengguna*. 
**penting**  
Profil yang Anda gunakan untuk contoh ini harus memiliki izin yang diperlukan. Misalnya, dalam konfigurasi replikasi, Anda menentukan peran IAM yang dapat diasumsikan oleh Amazon S3. Anda dapat melakukan ini hanya jika profil yang Anda gunakan memiliki `iam:PassRole` izin. Untuk informasi selengkapnya, lihat [Memberikan izin pengguna untuk meneruskan peran ke Layanan AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) dalam *Panduan Pengguna IAM*. Jika Anda menggunakan kredensial administrator untuk membuat profil bernama, Anda dapat melakukan semua tugas. 

1. Buat bucket sumber dan aktifkan pembuatan versi di atasnya dengan menggunakan perintah berikut AWS CLI . Untuk menggunakan perintah ini, ganti *`user input placeholders`* dengan informasi Anda sendiri. 

   `create-bucket`Perintah berikut membuat bucket sumber bernama `amzn-s3-demo-source-bucket` di Wilayah AS Timur (Virginia N.) (`us-east-1`):

   

   ```
   aws s3api create-bucket \
   --bucket amzn-s3-demo-source-bucket \
   --region us-east-1 \
   --profile acctA
   ```

   `put-bucket-versioning`Perintah berikut memungkinkan S3 Versioning pada bucket: `amzn-s3-demo-source-bucket` 

   ```
   aws s3api put-bucket-versioning \
   --bucket amzn-s3-demo-source-bucket \
   --versioning-configuration Status=Enabled \
   --profile acctA
   ```

1. Buat bucket tujuan dan aktifkan pembuatan versi dengan menggunakan perintah berikut AWS CLI . Untuk menggunakan perintah ini, ganti *`user input placeholders`* dengan informasi Anda sendiri. 
**catatan**  
Untuk menyiapkan konfigurasi replikasi saat bucket sumber dan tujuan berada dalam kondisi yang sama Akun AWS, Anda menggunakan profil yang sama untuk bucket sumber dan tujuan. Contoh ini menggunakan `acctA`.   
Untuk menguji konfigurasi replikasi ketika bucket dimiliki oleh yang berbeda Akun AWS, tentukan profil yang berbeda untuk setiap akun. Misalnya, gunakan `acctB` profil untuk bucket tujuan.

   

   `create-bucket`Perintah berikut membuat bucket tujuan bernama `amzn-s3-demo-destination-bucket` di Wilayah AS Barat (Oregon) (`us-west-2`):

   ```
   aws s3api create-bucket \
   --bucket amzn-s3-demo-destination-bucket \
   --region us-west-2 \
   --create-bucket-configuration LocationConstraint=us-west-2 \
   --profile acctA
   ```

   `put-bucket-versioning`Perintah berikut memungkinkan S3 Versioning pada bucket: `amzn-s3-demo-destination-bucket` 

   ```
   aws s3api put-bucket-versioning \
   --bucket amzn-s3-demo-destination-bucket \
   --versioning-configuration Status=Enabled \
   --profile acctA
   ```

1. Buat peran IAM. Anda menentukan peran ini dalam konfigurasi replikasi yang Anda tambahkan ke bucket sumber nanti. Amazon S3 mengasumsikan peran ini untuk mereplikasi objek atas nama Anda. Anda membuat peran IAM dalam dua langkah:
   + Buat peran.
   + Lampirkan kebijakan izin pada peran tersebut.

   1. Buat peran IAM.

      1. Salin kebijakan kepercayaan berikut dan simpan di berkas dengan nama `s3-role-trust-policy.json` di direktori saat ini di komputer lokal Anda. Kebijakan ini memberikan izin utama layanan Amazon S3 untuk mengambil peran.

------
#### [ JSON ]

****  

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

------

      1. Jalankan perintah berikut untuk membuat peran.

         ```
         $ aws iam create-role \
         --role-name replicationRole \
         --assume-role-policy-document file://s3-role-trust-policy.json  \
         --profile acctA
         ```

   1. Lampirkan kebijakan izin pada peran tersebut.

      1. Salin kebijakan kepercayaan berikut dan simpan di berkas dengan nama `s3-role-permissions-policy.json` di direktori saat ini di komputer lokal Anda. Kebijakan ini memberikan izin untuk berbagai bucket dan tindakan objek Amazon S3. 

------
#### [ JSON ]

****  

         ```
         {
            "Version":"2012-10-17",		 	 	 
            "Statement":[
               {
                  "Effect":"Allow",
                  "Action":[
                     "s3:GetObjectVersionForReplication",
                     "s3:GetObjectVersionAcl",
                     "s3:GetObjectVersionTagging"
                  ],
                  "Resource":[
                     "arn:aws:s3:::amzn-s3-demo-source-bucket/*"
                  ]
               },
               {
                  "Effect":"Allow",
                  "Action":[
                     "s3:ListBucket",
                     "s3:GetReplicationConfiguration"
                  ],
                  "Resource":[
                     "arn:aws:s3:::amzn-s3-demo-source-bucket"
                  ]
               },
               {
                  "Effect":"Allow",
                  "Action":[
                     "s3:ReplicateObject",
                     "s3:ReplicateDelete",
                     "s3:ReplicateTags"
                  ],
                  "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
               }
            ]
         }
         ```

------
**catatan**  
Jika Anda ingin mereplikasi objek terenkripsi, Anda juga harus memberikan izin kunci AWS Key Management Service (AWS KMS) yang diperlukan. Untuk informasi selengkapnya, lihat [Mereplikasi objek terenkripsi (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C)](replication-config-for-kms-objects.md).
Untuk menggunakan Object Lock dengan replikasi, Anda harus memberikan dua izin tambahan pada bucket S3 sumber dalam peran AWS Identity and Access Management (IAM) yang Anda gunakan untuk mengatur replikasi. Dua izin tambahan tersebut adalah `s3:GetObjectRetention` dan`s3:GetObjectLegalHold`. Jika peran tersebut memiliki pernyataan izin `s3:Get*`, pernyataan itu memenuhi persyaratan. Untuk informasi selengkapnya, lihat [Menggunakan Kunci Objek dengan Replikasi S3](object-lock-managing.md#object-lock-managing-replication). 

      1. Jalankan perintah berikut untuk membuat kebijakan dan melampirkannya ke peran. Ganti *`user input placeholders`* dengan informasi Anda sendiri.

         ```
         $ aws iam put-role-policy \
         --role-name replicationRole \
         --policy-document file://s3-role-permissions-policy.json \
         --policy-name replicationRolePolicy \
         --profile acctA
         ```

1. Tambahkan konfigurasi replikasi ke bucket sumber. 

   1. Meskipun Amazon S3 API mengharuskan Anda menentukan konfigurasi replikasi sebagai XHTML, Anda harus menentukan konfigurasi replikasi sebagai JSON. AWS CLI Simpan JSON berikut dalam file yang disebut `replication.json` ke direktori lokal di komputer Anda.

      ```
      {
        "Role": "IAM-role-ARN",
        "Rules": [
          {
            "Status": "Enabled",
            "Priority": 1,
            "DeleteMarkerReplication": { "Status": "Disabled" },
            "Filter" : { "Prefix": "Tax"},
            "Destination": {
              "Bucket": "arn:aws:s3:::amzn-s3-demo-destination-bucket"
            }
          }
        ]
      }
      ```

   1. Perbarui JSON dengan mengganti nilai untuk `amzn-s3-demo-destination-bucket` dan `IAM-role-ARN` dengan informasi Anda sendiri. Simpan perubahan.

   1. Jalankan `put-bucket-replication` perintah berikut untuk menambahkan konfigurasi replikasi ke bucket sumber Anda. Pastikan untuk memberikan nama bucket sumber:

      ```
      $ aws s3api put-bucket-replication \
      --replication-configuration file://replication.json \
      --bucket amzn-s3-demo-source-bucket \
      --profile acctA
      ```

   Untuk mengambil konfigurasi replikasi, gunakan perintah: `get-bucket-replication`

   ```
   $ aws s3api get-bucket-replication \
   --bucket amzn-s3-demo-source-bucket \
   --profile acctA
   ```

1. Uji pengaturan di konsol Amazon S3, dengan melakukan langkah-langkah berikut:

   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 kiri, pilih **Bucket**. Dalam daftar **Bucket tujuan umum**, pilih bucket sumber.

   1. Di bucket sumber, buat folder bernama`Tax`. 

   1. Tambahkan objek sampel ke `Tax` folder di ember sumber. 
**catatan**  
Jumlah waktu yang dibutuhkan Amazon S3 untuk mereplikasi objek tergantung pada ukuran objek. Untuk informasi tentang cara melihat status replikasi, lihat [Mendapatkan informasi status replikasi](replication-status.md).

      Di bucket tujuan, pastikan hal berikut:
      + Bahwa Amazon S3 mereplikasi objek.
      + Bahwa benda-benda itu adalah replika. Pada tab **Properties** untuk objek Anda, gulir ke bawah ke bagian **Ikhtisar manajemen Object**. Di bawah **Konfigurasi manajemen**, lihat nilai di bawah Status **replikasi.** Pastikan bahwa nilai ini diatur ke`REPLICA`.
      + Bahwa replika dimiliki oleh akun bucket sumber. Anda dapat memverifikasi kepemilikan objek pada tab **Izin** untuk objek Anda. 

        Jika bucket sumber dan tujuan dimiliki oleh akun yang berbeda, Anda dapat menambahkan konfigurasi opsional untuk memberi tahu Amazon S3 agar mengubah kepemilikan replika ke akun tujuan. Sebagai contoh, lihat [Cara mengganti pemilik replika](replication-change-owner.md#replication-walkthrough-3). 

## Menggunakan AWS SDKs
<a name="replication-ex1-sdk"></a>

Gunakan contoh kode berikut untuk menambahkan konfigurasi replikasi ke bucket dengan AWS SDK untuk Java dan AWS SDK untuk .NET, masing-masing.

**catatan**  
Jika Anda ingin mereplikasi objek terenkripsi, Anda juga harus memberikan izin kunci AWS Key Management Service (AWS KMS) yang diperlukan. Untuk informasi selengkapnya, lihat [Mereplikasi objek terenkripsi (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C)](replication-config-for-kms-objects.md).
Untuk menggunakan Object Lock dengan replikasi, Anda harus memberikan dua izin tambahan pada bucket S3 sumber dalam peran AWS Identity and Access Management (IAM) yang Anda gunakan untuk mengatur replikasi. Dua izin tambahan tersebut adalah `s3:GetObjectRetention` dan`s3:GetObjectLegalHold`. Jika peran tersebut memiliki pernyataan izin `s3:Get*`, pernyataan itu memenuhi persyaratan. Untuk informasi selengkapnya, lihat [Menggunakan Kunci Objek dengan Replikasi S3](object-lock-managing.md#object-lock-managing-replication). 

------
#### [ Java ]

Untuk menambahkan konfigurasi replikasi ke bucket lalu mengambil dan memverifikasi konfigurasi menggunakan AWS SDK for Java, Anda dapat menggunakan S3Client untuk mengelola pengaturan replikasi secara terprogram.

Untuk contoh cara mengonfigurasi replikasi dengan AWS SDK for Java, [lihat Menyetel konfigurasi replikasi pada bucket di Referensi](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_PutBucketReplication_section.html) API Amazon *S3*.

------
#### [ C\$1 ]

Contoh AWS SDK untuk .NET kode berikut menambahkan konfigurasi replikasi ke bucket dan kemudian mengambilnya. Untuk menggunakan kode ini, berikan nama untuk bucket Anda dan Amazon Resource Name (ARN) untuk peran IAM Anda. Untuk informasi tentang menyiapkan dan menjalankan contoh kode, lihat [Memulai AWS SDK untuk .NET di](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/net-dg-config.html) *Panduan AWS SDK untuk .NET Pengembang*. 

```
using Amazon;
using Amazon.S3;
using Amazon.S3.Model;
using System;
using System.Threading.Tasks;

namespace Amazon.DocSamples.S3
{
    class CrossRegionReplicationTest
    {
        private const string sourceBucket = "*** source bucket ***";
        // Bucket ARN example - arn:aws:s3:::destinationbucket
        private const string destinationBucketArn = "*** destination bucket ARN ***";
        private const string roleArn = "*** IAM Role ARN ***";
        // Specify your bucket region (an example region is shown).
        private static readonly RegionEndpoint sourceBucketRegion = RegionEndpoint.USWest2;
        private static IAmazonS3 s3Client;
        public static void Main()
        {
            s3Client = new AmazonS3Client(sourceBucketRegion);
            EnableReplicationAsync().Wait();
        }
        static async Task EnableReplicationAsync()
        {
            try
            {
                ReplicationConfiguration replConfig = new ReplicationConfiguration
                {
                    Role = roleArn,
                    Rules =
                        {
                            new ReplicationRule
                            {
                                Prefix = "Tax",
                                Status = ReplicationRuleStatus.Enabled,
                                Destination = new ReplicationDestination
                                {
                                    BucketArn = destinationBucketArn
                                }
                            }
                        }
                };

                PutBucketReplicationRequest putRequest = new PutBucketReplicationRequest
                {
                    BucketName = sourceBucket,
                    Configuration = replConfig
                };

                PutBucketReplicationResponse putResponse = await s3Client.PutBucketReplicationAsync(putRequest);

                // Verify configuration by retrieving it.
                await RetrieveReplicationConfigurationAsync(s3Client);
            }
            catch (AmazonS3Exception e)
            {
                Console.WriteLine("Error encountered on server. Message:'{0}' when writing an object", e.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine("Unknown encountered on server. Message:'{0}' when writing an object", e.Message);
            }
        }
        private static async Task RetrieveReplicationConfigurationAsync(IAmazonS3 client)
        {
            // Retrieve the configuration.
            GetBucketReplicationRequest getRequest = new GetBucketReplicationRequest
            {
                BucketName = sourceBucket
            };
            GetBucketReplicationResponse getResponse = await client.GetBucketReplicationAsync(getRequest);
            // Print.
            Console.WriteLine("Printing replication configuration information...");
            Console.WriteLine("Role ARN: {0}", getResponse.Configuration.Role);
            foreach (var rule in getResponse.Configuration.Rules)
            {
                Console.WriteLine("ID: {0}", rule.Id);
                Console.WriteLine("Prefix: {0}", rule.Prefix);
                Console.WriteLine("Status: {0}", rule.Status);
            }
        }
    }
}
```

------