Replikasi Object S3 Menggunakan Cross-Region Replication pada AWS
Overview:
Pada tulisan kali ini kita akan melakukan replikasi pada object yang ada di S3 menggunakan replikasi antar region (Cross-Region Replication), yang mana ini akan menyalin object ke antar region.
Membuat dan konfigurasi bucket pada region virginia
Membuat dan konfigurasi bucket pada region california
Aktifkan replication pada bucket region virginia
Upload file website
Mengakses website
Upload kembali object
Bersihkan S3 bucket
Kebutuhan:
Akun AWS
Region Virginia
Region California
File sample, Github
Langkah-langkah:
Membuat dan konfigurasi bucket pada region virginia
Buat bucket pada region virginia
Untuk memudahkan penamaan, kita akan membuat nama bucket pada region virginia ini dengan nama source-bucket-**
Masuk ke service S3
Create bucket
Isi nama bucket
Pastikan region virginia
Kosongkan Block all public access
Create bucket
Aktifkan static website hosting
Buka bucket
Klik tab properties
Pada Static website hosting klik Edit
Enable static website hosting
Isi document dengan index.html
Save changes
Tambahkan policy ke bucket
Tab permissions
klik edit bucket policy
Isi policy, seperti dibawah ini
{ "Version":"2012-10-17", "Statement":[ { "Sid":"PublicRead", "Effect":"Allow", "Principal": "*", "Action":["s3:GetObject"], "Resource":["arn:aws:s3:::source-bucket-2133123/*"] } ] }
Klik Save change
Membuat dan konfigurasi bucket pada region california
Buat Bucket
Untuk memudahkan penamaan, kita akan membuat nama bucket pada region california ini dengan nama destination-bucket-**. Langkah-langkah yang dilakukan kurang lebih sama dengan yang diatas, yang menjadi perbedaan adalah nama bucket dan region.
Masuk ke service S3
Create bucket
Isi nama bucket
Pilih region california
Kosongkan Block all public access
Create bucket
Aktifkan static website hosting
Buka bucket
Klik tab properties
Pada Static website hosting klik Edit
Enable static website hosting
Isi document dengan index.html
Save changes
Tambahkan policy ke bucket
Tab permissions
klik edit bucket policy
Isi policy, seperti dibawah ini
{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"PublicRead",
"Effect":"Allow",
"Principal": "*",
"Action":["s3:GetObject"],
"Resource":["arn:aws:s3:::destination-bucket-2483920/*"]
}
]
}
Aktifkan replication pada bucket region virginia
Aktifkan replication
Masuk ke source bucket
Pada tab management
Klik create replication rule
Enable bucket versioning
Isi replication rule name
Pada source bucket pilih apply to all objects in the bucket
Pada destination bucket pilih
Destination bucket yang sudah dibuat sebelumnya pada region california
Enable versioning
Pada IAM Role, create new IAM Role
Save
Upload File Website
Upload object pada source bucket di region virginia
Pada tab Objects
Klik Upload
Add file dan folder
Upload
Perhatikan isi dari object destination bucket
Seharusnya data dari bucket source (region virginia) sudah ter replikasi pada bucket destination (region california), proses ini bisa membutuhkan waktu, jika sudah maka hasilnya terlihat seperti dibawah ini:
Akses Website
Akses static website pada region virginia
Akses website pada region california
Upload Kembali Object
Upload kembali file image padafolder /img pada source bucket dengan nama yg sama, namun memiliki isi yang berbeda, seperti pada contoh ini cat.jpg
Pada folder img
Klik Upload
Pilih file dengan nama yg sama, namun isi dari gambarnya berbeda
Upload
Perhatikan object
Pada gambar diatas terlihat bahwa ada 2 object yang memiliki nama yang sama, namun memiliki version ID yang berbeda, itu karena kita telah mengaktifkan versioning pada bucket kita.
Akses kembali website dari source bucket
Perhatikan isinya seharusnya isi dari gambar tersebut sudah berganti, seperti dibawah ini:
Lihat object pada destionation bucket
Perhatikan isinya seharusnya ada object baru yang terdapat pada bucket kita dengan nama yang sama namun memilki version ID yang berbeda. Jika belum tunggu terlebih dahulu, karena replikasi ini membutuhkan proses.
Akses website dari destination bucket
Perhatikan isinya seharusnya isi dari gambar tersebut juga sudah berganti, seperti dibawah ini:
Berdasarkan langkah-langkah yang telah kita buat, jadi seperti itulah cara kerja replikasi antar-region pada S3, untuk lebih lanjutnya bisa melakukan percobaan-percobaan yang lain pada fitur replication S3.
Bersihkan S3 Bucket
Sekarang hapus bucket yang sudah dibuat sebelumnya pada region virginia dan california, agar menghindari penagihan pada object yang sudah tidak digunakan lagi.
Referensi:
https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html#crr-scenario
Subscribe to my newsletter
Read articles from Abdul Hakim directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Abdul Hakim
Abdul Hakim
I'm Cloud DevOps Enthusiast | AWS Community Builders.