Fitur Replikasi Lintas Wilayah (CRR) secara otomatis dan asinkron menyalin objek dari bucket sumber ke bucket tujuan di wilayah berbeda di bawah Akun Alibaba Cloud lain. Gunakan CRR lintas akun untuk pemulihan bencana, backup terisolasi lintas akun, atau memenuhi persyaratan kepatuhan residensi data.
Konfigurasi replikasi lintas akun memerlukan tindakan pada kedua akun—sumber dan tujuan—melalui tiga langkah berikut:
Akun sumber: Buat peran RAM untuk replikasi data dan berikan hak istimewa minimal yang diperlukan untuk membaca data dari bucket sumber.
Akun tujuan: Ubah kebijakan otorisasi bucket tujuan untuk memberikan izin kepada peran RAM dari akun sumber agar dapat menulis data ke bucket tersebut.
Akun sumber: Kembali ke akun sumber untuk membuat aturan CRR yang menghubungkan bucket sumber dan tujuan serta memulai task replikasi.
Langkah 1: Buat dan otorisasi peran RAM di akun sumber
Untuk membuat peran RAM, buka halaman Create Role, lalu atur Principal Type ke Cloud Service dan Principal Name ke Object Storage Service.
Berikan izin peran RAM untuk mengakses bucket sumber: Buat kebijakan kustom yang hanya mencakup izin yang diperlukan untuk membaca data dari bucket sumber dan memulai task replikasi.
Pada halaman Create Policy, klik tab Script Editor. Tempel kebijakan berikut ke editor. Ganti
src-bucketdengan nama bucket sumber Anda.{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "oss:ReplicateList", "oss:ReplicateGet" ], "Resource": [ "acs:oss:*:*:src-bucket", "acs:oss:*:*:src-bucket/*" ] } ] }Setelah membuat kebijakan, buka halaman Roles. Temukan peran yang baru saja dibuat, lalu klik Grant Permission. Pada panel Grant Permission, principal akan diisi secara otomatis. Untuk parameter Policy, pilih kebijakan kustom yang Anda buat pada langkah sebelumnya, lalu klik OK.
(Opsional) Berikan izin peran RAM untuk mengakses KMS: Jika data yang akan direplikasi ke bucket tujuan dienkripsi menggunakan KMS, Anda harus memberikan izin akses KMS kepada peran RAM tersebut.
Pada halaman Roles, temukan peran yang baru saja dibuat, lalu klik Grant Permission. Pada panel Grant Permission, principal akan diisi secara otomatis. Atur Policy ke
AliyunKMSCryptoUserAccess, kemudian klik OK.Pada halaman Roles, temukan peran RAM yang telah Anda buat. Pada halaman Basic Information, salin ARN peran tersebut untuk digunakan nanti. Format ARN adalah
acs:ram::{Source Account UID}:role/{Role Name}.
Langkah 2: Otorisasi peran RAM dan siapkan resource di akun tujuan
Otorisasi peran RAM untuk menulis ke bucket tujuan: Di akun tujuan, ubah kebijakan otorisasi bucket tujuan agar memberikan izin menulis kepada peran RAM dari akun sumber.
Masuk ke akun tujuan dan buka halaman Buckets. Klik bucket tujuan.
Pada panel navigasi di sebelah kiri, pilih Access Control > Bucket Policy.
Klik tab Add in GUI, lalu klik Receive Objects to Replicate.
Pada panel yang muncul, konfigurasikan parameter sebagai berikut:
Obtain UID and RAM Role From: Pilih Source RAM role ARN for replication.
Source RAM Role ARN for Replication: Masukkan ARN peran RAM akun sumber yang telah Anda catat di Langkah 1.
Purpose: Pilih Cross-account replication.
Klik Generate Policy, lalu klik Save.
(Opsional) Konfigurasikan kunci KMS tujuan: Jika Anda ingin mereplikasi objek yang dienkripsi KMS atau jika enkripsi KMS diaktifkan untuk bucket tujuan, Anda harus mengonfigurasi kunci KMS di akun tujuan. Tetapkan kebijakan kunci untuk memberikan izin kepada peran RAM dari akun sumber agar dapat menggunakan kunci tersebut. Saat menetapkan kebijakan kunci, tambahkan ARN peran RAM yang dibuat di akun sumber sebagai Other Account User.
Operasi ini secara default memberikan izin yang diperlukan, seperti dekripsi (
kms:Decrypt) dan pembuatan kunci data (kms:GenerateDataKey). Hal ini memungkinkan peran tersebut menggunakan kunci ini untuk membuat objek terenkripsi di bucket tujuan. Wizard konsol biasanya sudah menyertakan izin yang diperlukan secara default. Namun, jika Anda menetapkan kebijakan kunci kustom menggunakan OpenAPI, pastikan secara manual bahwa izin-izin tersebut ditambahkan dengan benar.
Langkah 3: Buat aturan replikasi lintas wilayah di akun sumber
Setelah memberikan izin, kembali ke konsol akun sumber untuk membuat aturan replikasi dan memulai task tersebut.
Masuk ke akun sumber dan buka halaman Buckets. Klik bucket sumber.
Pada panel navigasi di sebelah kiri, pilih Data Management > Cross-Region Replication.
Klik Cross-Region Replication. Pada kotak dialog yang muncul, konfigurasikan parameter berikut:
Configure Destination Bucket: Pilih Specify a bucket that belongs to another Alibaba Cloud account. Pilih wilayah tempat bucket tujuan berada dan masukkan namanya.
Configure Replication Policy:
Objects to Replicate: Pilih Synchronize all files atau Objects with Specified Prefix. Objek di bucket sumber yang memiliki awalan tertentu akan direplikasi ke bucket tujuan. Secara default, Anda dapat menambahkan hingga 10 awalan. Untuk meningkatkan batas awalan, hubungi . Batas maksimum dapat ditingkatkan hingga 30.
Replicate Delete Operations: Pilih apakah akan mereplikasi penghapusan objek dari bucket sumber ke bucket tujuan. Untuk skenario pemulihan bencana, pilih No agar penghapusan tidak disengaja di bucket sumber tidak direplikasi ke bucket backup. Hal ini meningkatkan keamanan data.
No: Mereplikasi objek baru dan yang dimodifikasi. Penghapusan objek di bucket sumber tidak memengaruhi bucket tujuan. Metode ini mencegah kehilangan data di bucket tujuan akibat penghapusan manual atau penghapusan otomatis oleh aturan lifecycle di bucket sumber.
CatatanJika Pengendalian versi diaktifkan untuk bucket sumber, saat Anda menghapus objek dari bucket sumber tanpa menentukan ID versi, OSS membuat penanda hapus di bucket sumber. Penanda hapus ini direplikasi ke bucket tujuan.
Yes: Mereplikasi objek baru, objek yang dimodifikasi, dan operasi penghapusan agar bucket tujuan tetap konsisten dengan bucket sumber. Metode ini menjamin konsistensi data dan cocok untuk lingkungan multi-pengguna atau aplikasi yang perlu berbagi dan mengakses set data yang sama. Namun, jika Anda memilih kebijakan ini, ketika objek di bucket sumber dihapus secara manual atau otomatis oleh aturan lifecycle, objek yang sesuai di bucket tujuan juga akan dihapus dan tidak dapat dipulihkan.
Replicate Historical Data: Pilih apakah akan mereplikasi data yang sudah ada di bucket sumber sebelum aturan dibuat. Operasi ini akan menimpa objek yang memiliki nama sama di bucket tujuan. Untuk menghindari kehilangan data, aktifkan Pengendalian versi untuk kedua bucket, baik sumber maupun tujuan.
Replicate KMS-encrypted Objects: Jika objek sumber dienkripsi dengan KMS dan Anda ingin objek tersebut tetap terenkripsi di bucket tujuan, pilih Replicate. Masukkan ARN kunci KMS tujuan yang telah Anda siapkan di Langkah 2. Jika Anda memilih Do not replicate, file yang dienkripsi KMS tidak akan direplikasi ke bucket tujuan.
CatatanAnda dapat mengecek status enkripsi objek sumber dan bucket tujuan menggunakan HeadObject dan GetBucketEncryption, masing-masing.
RAM Role: Dari daftar drop-down, pilih peran RAM yang dibuat di akun sumber pada Langkah 1.
(Opsional) Konfigurasikan Akselerasi Replikasi:
Transfer Acceleration: Jika task replikasi melibatkan wilayah di Daratan Tiongkok dan Luar daratan Tiongkok, Anda dapat mengaktifkan fitur ini untuk meningkatkan kecepatan transfer data. Fitur ini dikenai biaya tambahan transfer acceleration fees.
Replication time control (RTC): Saat diaktifkan, fitur ini menjaga latensi replikasi untuk sebagian besar data inkremental dalam waktu kurang dari 10 menit. Fitur ini hanya didukung antar wilayah tertentu dan dikenai biaya tambahan RTC fees for cross-region replication. Untuk informasi lebih lanjut, lihat RTC feature overview.
Setelah aturan CRR dibuat, Anda tidak dapat mengubah atau menghapusnya. Tinjau kembali semua item konfigurasi sebelum mengklik OK. Untuk menghentikan replikasi, Anda dapat menonaktifkan task replikasi agar sinkronisasi data berhenti.
Setelah memastikan semua konfigurasi benar, klik OK lalu Confirm Enable.
Task replikasi akan dimulai dalam beberapa menit setelah aturan berhasil dibuat. Replikasi data merupakan proses asinkron. Waktu yang dibutuhkan bergantung pada ukuran objek, jumlah objek, dan latensi jaringan lintas wilayah, dan dapat berkisar dari beberapa menit hingga beberapa jam. Anda dapat melihat progres replikasi, termasuk status sinkronisasi data historis dan inkremental, pada tab Cross-Region Replication bucket sumber.
FAQ
Mengapa perubahan pada kelas penyimpanan objek atau waktu akses terakhir di bucket sumber tidak disinkronkan ke bucket tujuan?
Replikasi data hanya dipicu oleh perubahan konten objek, seperti penambahan, penghapusan, atau modifikasi. Perubahan kelas penyimpanan yang dilakukan oleh aturan lifecycle atau operasi CopyObject, atau pembaruan waktu akses terakhir (LastAccessTime), tidak melibatkan penulisan konten objek baru. Oleh karena itu, tindakan-tindakan ini tidak memicu task replikasi baru, dan replika objek di bucket tujuan tidak diperbarui.
Solusi:
Untuk menyinkronkan kelas penyimpanan: Konfigurasikan aturan lifecycle pada bucket tujuan yang identik dengan yang ada di bucket sumber. Hal ini memastikan transisi kelas penyimpanan yang sama.
Untuk memperbarui
LastAccessTime: Akses objek secara langsung di bucket tujuan. Misalnya, lakukan permintaanGetObjectuntuk memicu refreshLastAccessTime-nya.
Apakah objek yang diunggah menggunakan multipart upload direplikasi?
Ketika objek diunggah menggunakan unggah multi-bagian, pengunggahan setiap bagian direplikasi ke bucket tujuan. Setelah penggabungan (CompleteMultipartUpload) selesai di bucket sumber, objek lengkap tersebut kemudian direplikasi secara utuh ke bucket tujuan.
Apakah ada cara yang lebih sederhana untuk memberikan izin kepada peran RAM akun sumber selain menggunakan kebijakan kustom?
Ya. Untuk otorisasi cepat, Anda dapat langsung memberikan kebijakan sistem AliyunOSSFullAccess yang disediakan oleh Alibaba Cloud kepada peran RAM yang Anda buat. Namun, kebijakan ini memberikan semua izin untuk semua resource OSS di bawah akun Anda. Karena cakupannya terlalu luas, kebijakan ini tidak disarankan untuk digunakan di lingkungan produksi.
Selain antarmuka grafis, dapatkah saya mengonfigurasi izin untuk bucket tujuan menggunakan kebijakan JSON?
Ya. Pada halaman Bucket Policy bucket tujuan, Anda dapat memilih Add Rule by Syntax untuk konfigurasi yang lebih fleksibel. Perhatikan hal-hal berikut saat menggunakan kebijakan JSON:
Kebijakan yang baru ditambahkan akan menimpa kebijakan bucket yang sudah ada. Pastikan kebijakan baru mencakup semua aturan otorisasi yang diperlukan.
Bidang
Principaldalam kebijakan harus berisi ARN peran RAM dari akun sumber.Jika nama peran mengandung huruf kapital, Anda harus mengubahnya menjadi huruf kecil dalam kebijakan. Misalnya, peran
AliyunOssDrsRoleharus ditulis sebagaialiyunossdrsroledalam kebijakan.Anda harus memasukkan UID akun sumber, nama bucket tujuan, dan UID akun tujuan dengan benar.
Berikut contoh kebijakan:
{
"Version":"1",
"Statement":[
{
"Effect":"Allow",
"Action":[
"oss:ReplicateList",
"oss:ReplicateGet",
"oss:ReplicatePut",
"oss:ReplicateDelete"
],
"Principal": [
"arn:sts::{Source Account UID}:assumed-role/{Role Name}/*"
],
"Resource":[
"acs:oss:*:{Destination Account UID}:{Destination Bucket Name}",
"acs:oss:*:{Destination Account UID}:{Destination Bucket Name}/*"
]
}
]
}