Replikasi Object S3 Menggunakan Cross-Region Replication pada AWS

Photo by Dieter K on Unsplash

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.

  1. Membuat dan konfigurasi bucket pada region virginia

  2. Membuat dan konfigurasi bucket pada region california

  3. Aktifkan replication pada bucket region virginia

  4. Upload file website

  5. Mengakses website

  6. Upload kembali object

  7. Bersihkan S3 bucket

Kebutuhan:

  • Akun AWS

  • Region Virginia

  • Region California

  • File sample, Github

Langkah-langkah:

Membuat dan konfigurasi bucket pada region virginia

  1. 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

  2. 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

  3. 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

  1. 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

  2. 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

  3. 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

  1. 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

  1. Upload object pada source bucket di region virginia

    • Pada tab Objects

    • Klik Upload

    • Add file dan folder

    • Upload

  2. 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

  1. Akses static website pada region virginia

  2. Akses website pada region california

Upload Kembali Object

  1. 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

  2. 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.

  3. Akses kembali website dari source bucket

    Perhatikan isinya seharusnya isi dari gambar tersebut sudah berganti, seperti dibawah ini:

  4. 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.

  5. 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

learn cantrill - aws sysops training