Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menyiapkan replikasi Tabel S3
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.
Topik
Prasyarat untuk menyiapkan replikasi
Sebelum Anda mengonfigurasi replikasi, pastikan Anda memiliki yang berikut:
Sumber daya yang dibutuhkan
-
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
Identitas IAM yang Anda gunakan untuk mengatur replikasi harus memiliki izin berikut:
Untuk replikasi tingkat ember:
-
s3tables:PutTableBucketReplicationdi ember meja sumber -
s3tables:GetTableBucketReplicationdi ember meja sumber -
iam:PassRoleuntuk peran IAM replikasi
Untuk replikasi tingkat tabel:
-
s3tables:PutTableReplicationdi atas meja sumber -
s3tables:GetTableReplicationdi atas meja sumber -
iam:PassRoleuntuk peran IAM replikasi
Untuk replikasi lintas akun:
-
Izin dari kebijakan bucket akun tujuan
Persyaratan tambahan untuk replikasi lintas akun
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
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
Konfigurasi replikasi menentukan cara Amazon S3 mereplikasi tabel dari bucket tabel sumber Anda. Replikasi dapat dikonfigurasi pada dua tingkat:
Replikasi tingkat ember
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
Konfigurasi replikasi tingkat tabel berlaku untuk tabel tertentu. Konfigurasi tingkat tabel mengesampingkan 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
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
Keutamaan konfigurasi
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
Prosedur ini menunjukkan cara mengonfigurasi replikasi menggunakan konsol Amazon S3.
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.
-
Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/
-
Di panel navigasi, pilih Bucket tabel.
-
Dalam daftar bucket Table, pilih nama bucket tabel yang ingin Anda konfigurasikan replikasi.
-
Pilih tab Manajemen.
-
Di bagian konfigurasi replikasi bucket tabel, pilih Buat konfigurasi replikasi bucket tabel.
-
Di bagian Tujuan, konfigurasikan tujuan replikasi Anda:
-
Pada kolom Table bucket ARN, masukkan ARN dari bucket meja tujuan. Formatnya adalah:
arn:aws:s3tables:region:account-id:bucket/table-bucket-nameAtau, pilih Browse S3 untuk memilih keranjang meja dari akun Anda.
-
(Opsional) Untuk menambahkan tujuan tambahan, pilih Tambahkan tujuan. Anda dapat menambahkan hingga 4 ember meja lagi untuk total 5 tujuan.
-
-
Di bagian peran IAM, konfigurasikan peran replikasi:
-
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.
-
-
Jika Anda memilih Pilih dari peran IAM yang ada, pilih peran dari daftar tarik-turun peran IAM.
-
(Opsional) Pilih Lihat untuk meninjau izin peran yang dipilih di konsol IAM.
-
-
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.
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.
-
Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/
-
Di panel navigasi, pilih Bucket tabel.
-
Dalam daftar bucket Table, pilih nama bucket tabel yang berisi tabel yang ingin Anda tiru.
-
Pilih tab Tabel.
-
Dalam daftar Tabel, pilih nama tabel yang ingin Anda tiru.
-
Pilih tab Manajemen.
-
Di bagian konfigurasi replikasi tabel, pilih Buat konfigurasi replikasi tabel.
-
Di bagian Tujuan, konfigurasikan tujuan replikasi Anda:
-
Pada kolom Table bucket ARN, masukkan ARN dari bucket meja tujuan. Formatnya adalah:
arn:aws:s3tables:region:account-id:bucket/table-bucket-nameAtau, pilih Browse S3 untuk memilih keranjang meja dari akun Anda.
-
(Opsional) Untuk menambahkan tujuan tambahan, pilih Tambahkan tujuan. Anda dapat menambahkan hingga 4 ember meja lagi untuk total 5 tujuan.
-
-
Di bagian peran IAM, konfigurasikan peran replikasi:
-
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.
-
-
Jika Anda memilih Pilih dari peran IAM yang ada, pilih peran dari daftar peran IAM.
-
(Opsional) Pilih Lihat untuk meninjau izin peran yang dipilih di konsol IAM.
-
-
Pilih Buat konfigurasi replikasi.
Apa yang terjadi selanjutnya?
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
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
Pertama, buat peran IAM yang dapat diasumsikan Amazon S3 untuk mereplikasi tabel Anda.
-
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" } ] } -
Buat peran IAM:
aws iam create-role \ --role-nameS3TablesReplicationRole\ --assume-role-policy-document file://trust-policy.json \ --description "Role for S3 Tables replication" -
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/*" } ] } -
Lampirkan kebijakan izin ke peran:
aws iam put-role-policy \ --role-nameS3TablesReplicationRole\ --policy-nameS3TablesReplicationPermissions\ --policy-document file://replication-permissions.json -
(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
Jika Anda mereplikasi ke AWS akun lain, akun tujuan harus memberikan izin ke akun sumber.
-
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" } ] } -
Menerapkan kebijakan menggunakan API Tabel S3:
aws s3tables put-table-bucket-policy \ --table-bucket-arn arn:aws:s3tables:us-west-2:444455556666:bucket/\ --policy file://amzn-s3-demo-table-bucket-cross-account-destinationdestination-bucket-policy.json\ --profiledestination-account -
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" } ] } -
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
Anda dapat menggunakan AWS CLI untuk membuat konfigurasi replikasi di tingkat ember tabel atau tingkat tabel. Untuk informasi selengkapnya, lihat prosedur berikut ini.
Gunakan pendekatan ini untuk mereplikasi semua tabel dalam ember.
-
Buat file konfigurasi replikasi. Simpan ini sebagai
bucket-replication-config.json:contoh: 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" } ] } ] }contoh: Beberapa tujuan di seluruh wilayah
{ "role": "arn:aws:iam::111122223333:role/S3TablesReplicationRole", "rules": [ { "destinations": [ { "destinationTableBucketARN": "arn:aws:s3tables:us-west-2:111122223333:bucket/" }, { "destinationTableBucketARN": "arn:aws:s3tables:amzn-s3-demo-table-bucket-dreu-west-1:111122223333:bucket/" }, { "destinationTableBucketARN": "arn:aws:s3tables:amzn-s3-demo-table-bucket-euap-south-1:111122223333:bucket/" } ] } ] }amzn-s3-demo-table-bucket-apaccontoh: 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 -
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.jsonKeluaran yang diharapkan
{ "versionToken": "3HL4kqtJl40Nr8X8gdRQBpUMLUo", "status": "Success" }
Gunakan pendekatan ini untuk mereplikasi tabel tertentu atau untuk mengganti replikasi tingkat ember.
-
Buat file konfigurasi replikasi. Simpan ini sebagai
table-replication-config.json:contoh: 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-bucketcontoh: Tabel dengan beberapa tujuan
{ "role": "arn:aws:iam::111122223333:role/S3TablesReplicationRole", "rules": [ { "destinations": [ { "destinationTableBucketARN": "arn:aws:s3tables:us-west-2:111122223333:bucket/" }, { "destinationTableBucketARN": "arn:aws:s3tables:amzn-s3-demo-table-bucket-dreu-west-1:111122223333:bucket/" } ] } ] }amzn-s3-demo-table-bucket-eu -
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/\ --configuration file://amzn-s3-demo-table-bucket-sales-datatable-replication-config.jsonKeluaran yang diharapkan
{ "versionToken": "xT2LZkFZ0UuTC2h8XqtGLx2Ak6M", "status": "Success" }