Konfigurasi Replikasi - Amazon Simple Storage Service

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

Konfigurasi Replikasi

Amazon S3 menyimpan konfigurasi replikasi sebagai XML. Dalam file XHTML konfigurasi replikasi, Anda menentukan peran AWS Identity and Access Management (IAM) dan satu atau beberapa aturan.

<ReplicationConfiguration> <Role>IAM-role-ARN</Role> <Rule> ... </Rule> <Rule> ... </Rule> ... </ReplicationConfiguration>

Amazon S3 tidak dapat mereplikasi objek tanpa izin Anda. Anda memberikan izin dengan peran IAM yang Anda tentukan dalam konfigurasi replikasi. Amazon S3 mengasumsikan peran IAM untuk mereplikasi objek atas nama Anda. Anda harus terlebih dahulu memberikan izin yang diperlukan untuk peran IAM. Untuk informasi selengkapnya tentang mengelola izin, lihat Menyiapkan izin untuk replikasi langsung.

Anda menambahkan satu aturan dalam konfigurasi replikasi dalam skenario berikut:

  • Anda ingin mereplikasi semua objek.

  • Anda ingin mereplikasi satu subset objek. Anda mengidentifikasi subset objek dengan menambahkan filter pada aturan. Dalam filter, Anda menentukan awalan kunci objek, tag, atau kombinasi keduanya, untuk mengidentifikasi bagian objek yang diterapkan aturan. Filter menargetkan objek yang sesuai dengan nilai persis yang Anda tentukan.

Anda menambahkan beberapa aturan dalam konfigurasi replikasi jika Anda ingin mereplikasi subset objek yang berbeda. Dalam setiap aturan, Anda menetapkan filter yang memilih subset objek yang berbeda. Misalnya, Anda dapat memilih untuk mereplikasi objek yang memiliki awalan kunci tax/ atau document/. Untuk melakukan ini, Anda menambahkan dua aturan, satu yang menentukan filter awalan kunci tax/ dan satu lagi yang menentukan awalan kunci document/. Untuk informasi selengkapnya tentang tag objek, lihat Organisasi objek menggunakan prefiks.

Bagian berikut memberikan informasi tambahan.

Konfigurasi aturan dasar

Setiap aturan harus menyertakan status dan prioritas aturan. Aturan juga harus menunjukkan apakah akan mereplikasi penanda hapus.

  • Status menunjukkan apakah aturan diaktifkan atau dinonaktifkan dengan menggunakan nilai Enabled atau Disabled. Jika aturan dinonaktifkan, Amazon S3 tidak akan melakukan tindakan yang ditentukan dalam aturan tersebut.

  • Priority menunjukkan aturan mana yang didahulukan setiap kali dua atau lebih aturan replikasi bertentangan. Amazon S3 mencoba untuk mereplikasi objek sesuai dengan semua aturan replikasi. Namun, jika ada dua aturan atau lebih dengan bucket tujuan yang sama, objek akan direplikasi sesuai aturan dengan prioritas tertinggi. Semakin tinggi angkanya, semakin tinggi prioritasnya.

  • DeleteMarkerReplication menunjukkan apakah akan mereplikasi penanda hapus dengan menggunakan nilai Enabled atau Disabled.

Dalam konfigurasi tujuan, Anda harus memberikan nama bucket atau bucket tempat Anda ingin Amazon S3 mereplikasi objek.

Contoh berikut menunjukkan persyaratan minimum untuk aturan V2. Untuk kompatibilitas mundur, Amazon S3 terus mendukung format XML V1. Untuk informasi selengkapnya, lihat Kompatibilitas mundur.

... <Rule> <ID>Rule-1</ID> <Status>Enabled-or-Disabled</Status> <Filter> <Prefix></Prefix> </Filter> <Priority>integer</Priority> <DeleteMarkerReplication> <Status>Enabled-or-Disabled</Status> </DeleteMarkerReplication> <Destination>       <Bucket>arn:aws:s3:::example-s3-bucket</Bucket> </Destination> </Rule> <Rule> ... </Rule> ... ...

Anda juga dapat menentukan opsi konfigurasi lainnya. Misalnya, Anda dapat memilih untuk menggunakan kelas penyimpanan untuk replika objek yang berbeda dengan kelas untuk objek sumber.

Opsional: Menentukan filter

Untuk memilih subset objek yang menerapkan aturan, tambahkan filter opsional. Anda dapat memfilter berdasarkan awalan kunci objek, tag objek, atau kombinasi keduanya. Jika Anda memfilter kunci prefiks dan tag objek, Amazon S3 menggabungkan filter dengan menggunakan operator AND logis. Dengan kata lain, aturan berlaku untuk subset objek dengan awalan kunci khusus dan tag tertentu.

Pemfilteran berdasarkan awalan kunci objek

Untuk menentukan aturan dengan filter berdasarkan awalan kunci objek, gunakan kode berikut. Anda hanya dapat menentukan satu awalan.

<Rule> ... <Filter> <Prefix>key-prefix</Prefix> </Filter> ... </Rule> ...
Pemfilteran berdasarkan tag objek

Untuk menetapkan aturan dengan filter berdasarkan tag objek, gunakan kode berikut. Anda dapat menentukan satu atau beberapa tag objek.

<Rule> ... <Filter> <And> <Tag> <Key>key1</Key> <Value>value1</Value> </Tag> <Tag> <Key>key2</Key> <Value>value2</Value> </Tag> ... </And> </Filter> ... </Rule> ...
Filter dengan prefiks kunci dan tag objek

Untuk menetapkan filter aturan dengan kombinasi awalan kunci dan tag objek, gunakan kode berikut. Anda membungkus filter ini dalam elemen induk <And>. Amazon S3 melakukan operasi AND logis untuk menggabungkan filter ini. Dengan kata lain, aturan berlaku untuk subset objek dengan awalan kunci khusus maupun tag tertentu.

<Rule> ... <Filter> <And> <Prefix>key-prefix</Prefix> <Tag> <Key>key1</Key> <Value>value1</Value> </Tag> <Tag> <Key>key2</Key> <Value>value2</Value> </Tag> ... </Filter> ... </Rule> ...
catatan
  • Jika Anda menentukan aturan dengan <Filter> elemen kosong, aturan Anda berlaku untuk semua objek di bucket Anda.

  • Saat Anda menggunakan aturan replikasi berbasis tag dengan replikasi langsung, objek baru harus ditandai dengan tag aturan replikasi yang cocok dalam operasi. PutObject Jika tidak, objek tidak akan direplikasi. Jika objek diberi tag setelah PutObject operasi, objek tersebut juga tidak akan direplikasi.

    Untuk mereplikasi objek yang telah ditandai setelah PutObject operasi, Anda harus menggunakan Replikasi Batch S3. Untuk informasi selengkapnya tentang Replikasi Batch, lihat Mereplikasi objek yang ada.

Konfigurasi tujuan tambahan

Dalam konfigurasi tujuan, Anda menentukan bucket tempat Anda ingin Amazon S3 mereplikasi objek. Anda dapat mengatur konfigurasi untuk mereplikasi objek dari satu bucket sumber ke satu atau beberapa bucket tujuan.

... <Destination> <Bucket>arn:aws:s3:::example-s3-bucket</Bucket> </Destination> ...

Anda dapat menambahkan opsi berikut di elemen <Destination>.

Menentukan kelas penyimpanan

Anda dapat menentukan kelas penyimpanan untuk replika objek. Secara default, Amazon S3 menggunakan kelas penyimpanan objek sumber untuk membuat replika objek, seperti dalam contoh berikut.

... <Destination> <Bucket>arn:aws:s3:::example-s3-bucket</Bucket> <StorageClass>storage-class</StorageClass> </Destination> ...

Menambahkan beberapa bucket tujuan

Anda dapat menambahkan beberapa bucket tujuan dalam satu konfigurasi replikasi, seperti berikut.

... <Rule> <ID>Rule-1</ID> <Status>Enabled-or-Disabled</Status> <Priority>integer</Priority> <DeleteMarkerReplication> <Status>Enabled-or-Disabled</Status> </DeleteMarkerReplication> <Destination> <Bucket>arn:aws:s3:::DOC-EXAMPLE-BUCKET1</Bucket> </Destination> </Rule> <Rule> <ID>Rule-2</ID> <Status>Enabled-or-Disabled</Status> <Priority>integer</Priority> <DeleteMarkerReplication> <Status>Enabled-or-Disabled</Status> </DeleteMarkerReplication> <Destination> <Bucket>arn:aws:s3:::DOC-EXAMPLE-BUCKET2</Bucket> </Destination> </Rule> ...

Menentukan parameter berbeda untuk setiap aturan replikasi dengan beberapa bucket tujuan

Ketika menambahkan beberapa bucket tujuan di satu konfigurasi replikasi, Anda dapat menentukan parameter berbeda untuk setiap aturan replikasi, seperti berikut.

... <Rule> <ID>Rule-1</ID> <Status>Enabled-or-Disabled</Status> <Priority>integer</Priority> <DeleteMarkerReplication> <Status>Disabled</Status> </DeleteMarkerReplication> <Metrics> <Status>Enabled</Status> <EventThreshold> <Minutes>15</Minutes> </EventThreshold> </Metrics> <Destination> <Bucket>arn:aws:s3:::DOC-EXAMPLE-BUCKET1</Bucket> </Destination> </Rule> <Rule> <ID>Rule-2</ID> <Status>Enabled-or-Disabled</Status> <Priority>integer</Priority> <DeleteMarkerReplication> <Status>Enabled</Status> </DeleteMarkerReplication> <Metrics> <Status>Enabled</Status> <EventThreshold> <Minutes>15</Minutes> </EventThreshold> </Metrics> <ReplicationTime> <Status>Enabled</Status> <Time> <Minutes>15</Minutes> </Time> </ReplicationTime> <Destination> <Bucket>arn:aws:s3:::DOC-EXAMPLE-BUCKET2</Bucket> </Destination> </Rule> ...

Mengubah kepemilikan replika

Jika bucket sumber dan tujuan tidak dimiliki oleh akun yang sama, Anda dapat mengubah kepemilikan replika menjadi bucket Akun AWS yang memiliki tujuan. Untuk melakukannya, tambahkan elemen AccessControlTranslation. Elemen ini mengambil nilai Destination.

... <Destination> <Bucket>arn:aws:s3:::example-s3-bucket</Bucket> <Account>destination-bucket-owner-account-id</Account> <AccessControlTranslation> <Owner>Destination</Owner> </AccessControlTranslation> </Destination> ...

Jika Anda tidak menambahkan AccessControlTranslation elemen ke konfigurasi replikasi, replika dimiliki oleh yang sama Akun AWS yang memiliki objek sumber. Untuk informasi selengkapnya, lihat Mengubah pemilik replika.

Mengaktifkan Kontrol Waktu Replikasi S3

Anda dapat mengaktifkan Kontrol Waktu Replikasi S3 (S3 RTC) dalam konfigurasi replikasi Anda. S3 RTC mereplikasi sebagian besar objek dalam hitungan detik dan 99,99 persen objek dalam waktu 15 menit (didukung oleh perjanjian tingkat layanan).

catatan

Hanya nilai <Minutes>15</Minutes> yang diterima untuk EventThreshold dan Time.

... <Destination> <Bucket>arn:aws:s3:::example-s3-bucket</Bucket> <Metrics> <Status>Enabled</Status> <EventThreshold> <Minutes>15</Minutes> </EventThreshold> </Metrics> <ReplicationTime> <Status>Enabled</Status> <Time> <Minutes>15</Minutes> </Time> </ReplicationTime> </Destination> ...

Untuk informasi selengkapnya, lihat Memenuhi persyaratan kepatuhan menggunakan Kontrol Waktu Replikasi S3 (S3 RTC). Untuk contoh API, lihat PutBucketReplicationdi Referensi API Amazon Simple Storage Service.

Replikasi objek yang dibuat dengan enkripsi sisi server dengan menggunakan AWS KMS

Bucket sumber Anda mungkin berisi objek yang dibuat dengan enkripsi sisi server menggunakan kunci AWS Key Management Service (AWS KMS) (SSE-KMS). Secara default, Amazon S3 tidak mereplikasi objek ini. Anda secara opsional dapat mengarahkan Amazon S3 untuk mereplikasi objek ini. Untuk melakukannya, ikut serta dalam fitur ini secara eksplisit terlebih dahulu dengan menambahkan elemen SourceSelectionCriteria. Kemudian berikan AWS KMS key (untuk bucket tujuan) yang akan digunakan untuk mengenkripsi replika objek. Wilayah AWS Contoh berikut menunjukkan cara menentukan elemen-elemen ini.

... <SourceSelectionCriteria> <SseKmsEncryptedObjects> <Status>Enabled</Status> </SseKmsEncryptedObjects> </SourceSelectionCriteria> <Destination> <Bucket>arn:aws:s3:::example-s3-bucket</Bucket> <EncryptionConfiguration> <ReplicaKmsKeyID>AWS KMS key ID to use for encrypting object replicas</ReplicaKmsKeyID> </EncryptionConfiguration> </Destination> ...

Untuk informasi selengkapnya, lihat Mereplikasi objek terenkripsi (SSE-S3, SSE-KMS, SSE-KMS).

Contoh konfigurasi replikasi

Untuk memulai, Anda dapat menambahkan contoh konfigurasi replikasi berikut ke bucket Anda, sesuai kebutuhan.

penting

Untuk menambahkan konfigurasi replikasi ke bucket, Anda harus memiliki izin iam:PassRole. Dengan izin ini, Anda dapat meneruskan peran IAM yang memberikan izin replikasi Amazon S3. Anda menentukan peran IAM dengan menyediakan Amazon Resource Name (ARN) yang digunakan dalam elemen Role di XML konfigurasi replikasi. Untuk informasi selengkapnya, lihat Memberikan Izin Pengguna untuk Meneruskan Peran ke Layanan AWS di Panduan Pengguna IAM.

contoh 1: Konfigurasi replikasi dengan satu aturan

Konfigurasi replikasi dasar berikut menentukan satu aturan. Aturan tersebut menentukan peran IAM yang dapat diasumsikan Amazon S3 dan satu bucket tujuan untuk replika objek. Nilai Status Enabled menunjukkan bahwa aturan tersebut berlaku.

<?xml version="1.0" encoding="UTF-8"?> <ReplicationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Role>arn:aws:iam::account-id:role/role-name</Role> <Rule> <Status>Enabled</Status> <Destination><Bucket>arn:aws:s3:::example-s3-bucket</Bucket></Destination> </Rule> </ReplicationConfiguration>

Untuk memilih subset objek yang akan direplikasi, Anda dapat menambahkan filter. Dalam konfigurasi berikut, filter menentukan awalan kunci objek. Aturan ini berlaku untuk objek yang memiliki awalan Tax/ dalam nama kuncinya.

<?xml version="1.0" encoding="UTF-8"?> <ReplicationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Role>arn:aws:iam::account-id:role/role-name</Role> <Rule> <Status>Enabled</Status> <Priority>1</Priority> <DeleteMarkerReplication> <Status>string</Status> </DeleteMarkerReplication> <Filter> <Prefix>Tax/</Prefix> </Filter> <Destination><Bucket>arn:aws:s3:::example-s3-bucket</Bucket></Destination> </Rule> </ReplicationConfiguration>

Jika menentukan elemen Filter, Anda juga harus menyertakan elemen Priority dan DeleteMarkerReplication. Dalam contoh ini, Priority tidak relevan karena hanya ada satu aturan.

Dalam konfigurasi berikut, filter menentukan satu awalan dan dua tag. Aturan ini berlaku untuk subset objek yang memiliki awalan dan tag kunci yang ditentukan. Secara khusus, ini berlaku untuk objek yang memiliki awalan Tax/ di nama kunci dan dua tag objek yang ditentukan. Priority Tidak berlaku karena hanya ada satu aturan.

<?xml version="1.0" encoding="UTF-8"?> <ReplicationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Role>arn:aws:iam::account-id:role/role-name</Role> <Rule> <Status>Enabled</Status> <Priority>1</Priority> <DeleteMarkerReplication> <Status>string</Status> </DeleteMarkerReplication> <Filter> <And> <Prefix>Tax/</Prefix> <Tag> <Tag> <Key>tagA</Key> <Value>valueA</Value> </Tag> </Tag> <Tag> <Tag> <Key>tagB</Key> <Value>valueB</Value> </Tag> </Tag> </And> </Filter> <Destination><Bucket>arn:aws:s3:::example-s3-bucket</Bucket></Destination> </Rule> </ReplicationConfiguration>

Anda dapat menentukan kelas penyimpanan untuk replika objek sebagai berikut.

<?xml version="1.0" encoding="UTF-8"?> <ReplicationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Role>arn:aws:iam::account-id:role/role-name</Role> <Rule> <Status>Enabled</Status> <Destination> <Bucket>arn:aws:s3:::example-s3-bucket</Bucket> <StorageClass>storage-class</StorageClass> </Destination> </Rule> </ReplicationConfiguration>

Anda dapat menentukan kelas penyimpanan apa pun yang didukung Amazon S3.

contoh 2: Konfigurasi replikasi dengan dua aturan

Dalam konfigurasi replikasi berikut ini:

  • Setiap aturan memfilter pada awalan kunci yang berbeda sehingga setiap aturan berlaku untuk subset objek yang berbeda. Dalam contoh ini, Amazon S3 mereplikasi objek dengan nama kunci Tax/doc1.pdf dan Project/project1.txt, tetapi tidak mereplikasi objek dengan nama kunci PersonalDoc/documentA.

  • Prioritas aturan tidak relevan karena aturan berlaku pada dua set objek yang berbeda. Contoh berikutnya menunjukkan apa yang terjadi ketika prioritas aturan diterapkan.

  • Aturan kedua menetapkan kelas penyimpanan S3 Standard-IA untuk replika objek. Amazon S3 menggunakan kelas penyimpanan yang ditentukan untuk replika objek tersebut.

<?xml version="1.0" encoding="UTF-8"?> <ReplicationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Role>arn:aws:iam::account-id:role/role-name</Role> <Rule> <Status>Enabled</Status> <Priority>1</Priority> <DeleteMarkerReplication> <Status>string</Status> </DeleteMarkerReplication> <Filter> <Prefix>Tax</Prefix> </Filter> <Status>Enabled</Status> <Destination> <Bucket>arn:aws:s3:::DOC-EXAMPLE-BUCKET1</Bucket> </Destination> ... </Rule> <Rule> <Status>Enabled</Status> <Priority>2</Priority> <DeleteMarkerReplication> <Status>string</Status> </DeleteMarkerReplication> <Filter> <Prefix>Project</Prefix> </Filter> <Status>Enabled</Status> <Destination> <Bucket>arn:aws:s3:::DOC-EXAMPLE-BUCKET1</Bucket> <StorageClass>STANDARD_IA</StorageClass> </Destination> ... </Rule> </ReplicationConfiguration>
contoh 3: Konfigurasi replikasi dengan dua aturan dengan awalan yang tumpang tindih

Dalam konfigurasi ini, dua aturan yang menentukan filter dengan awalan kunci yang tumpang tindih, star/ dan starship/. Kedua aturan berlaku untuk objek dengan nama kunci starship-x. Dalam kasus ini, Amazon S3 menggunakan aturan prioritas untuk menentukan aturan mana yang diterapkan. Semakin tinggi angkanya, semakin tinggi prioritasnya.

<ReplicationConfiguration> <Role>arn:aws:iam::account-id:role/role-name</Role> <Rule> <Status>Enabled</Status> <Priority>1</Priority> <DeleteMarkerReplication> <Status>string</Status> </DeleteMarkerReplication> <Filter> <Prefix>star</Prefix> </Filter> <Destination> <Bucket>arn:aws:s3:::DOC-EXAMPLE-BUCKET1</Bucket> </Destination> </Rule> <Rule> <Status>Enabled</Status> <Priority>2</Priority> <DeleteMarkerReplication> <Status>string</Status> </DeleteMarkerReplication> <Filter> <Prefix>starship</Prefix> </Filter> <Destination> <Bucket>arn:aws:s3:::DOC-EXAMPLE-BUCKET1</Bucket> </Destination> </Rule> </ReplicationConfiguration>
contoh 4: Contoh panduan

Untuk informasi selengkapnya tentang struktur XHTML konfigurasi replikasi, lihat PutBucketReplicationdi Referensi API Amazon Simple Storage Service.

Kompatibilitas mundur

Versi terbaru konfigurasi replikasi XML adalah V2. Konfigurasi replikasi XML V2 adalah yang berisi elemen Filter untuk aturan, dan aturan yang menentukan Kontrol Waktu Replikasi S3 (S3 RTC).

Untuk melihat versi konfigurasi replikasi, Anda dapat menggunakan operasi API GetBucketReplication. Untuk informasi selengkapnya, lihat GetBucketReplicationdi Referensi API Amazon Simple Storage Service.

Untuk kompatibilitas mundur, Amazon S3 terus mendukung konfigurasi replikasi XML V1. Jika Anda telah menggunakan konfigurasi replikasi XML V1, pertimbangkan masalah berikut yang memengaruhi kompatibilitas mundur:

  • Konfigurasi replikasi XML V2 meliputi elemen Filter untuk aturan. Dengan elemen Filter, Anda dapat menentukan filter objek berdasarkan awalan kunci objek, tag, atau keduanya untuk mencakup objek yang menerapkan aturan tersebut. Konfigurasi replikasi XML V1 mendukung pemfilteran berdasarkan awalan kunci saja. Dalam hal ini, Anda menambahkan Prefix secara langsung sebagai elemen anak dari elemen Rule, sebagaimana pada contoh berikut.

    <?xml version="1.0" encoding="UTF-8"?> <ReplicationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Role>arn:aws:iam::account-id:role/role-name</Role> <Rule> <Status>Enabled</Status> <Prefix>key-prefix</Prefix> <Destination><Bucket>arn:aws:s3:::example-s3-bucket</Bucket></Destination> </Rule> </ReplicationConfiguration>

    Untuk kompatibilitas mundur, Amazon S3 terus mendukung konfigurasi V1.

  • Saat Anda menghapus objek dari bucket sumber tanpa menentukan ID versi objek, Amazon S3 menambahkan penanda hapus. Jika Anda menggunakan V1 dari konfigurasi replikasi XML, Amazon S3 mereplikasi penanda hapus yang muncul karena tindakan pengguna. Dengan kata lain, Amazon S3 mereplikasi penanda hapus hanya jika pengguna menghapus objek. Jika objek kedaluwarsa dihapus oleh Amazon S3 (sebagai bagian dari tindakan siklus hidup), Amazon S3 tidak mereplikasi penanda hapus.

    Dalam konfigurasi replikasi V2, Anda dapat mengaktifkan replikasi penanda hapus untuk aturan. non-tag-based Untuk informasi selengkapnya, lihat Mereplikasi penanda hapus di antara bucket.