Setup Cross Region Replication in S3

Setup Cross Region Replication in S3

avatar

Phong Nguyen

2023.12.20

CRR là một tính năng trong AWS S3 tự động sao chép dữ liệu từ một S3 bucket ở AWS region này sang S3 bucket ở AWS region khác. Bài viết sẽ hướng dẫn cấu hình cho việc replicate này.

What is S3 Cross Region Replication (CRR)?

CRR là tính năng của S3 cho phép sao chép Object từ S3 bucket ở Region này sang bucket ở Region khác. Ngoài CRR còn có SRR (Same Region Replication).

CRR rất hữu ích cho nhiều tình huống khác nhau, chẳng hạn như:

  1. Disaster Recovery (DR): Đảm bảo tính availability trong trường hợp region xảy ra xự cố
  2. Compliance: Một sô doanh nghiệp quy định data phải được lưu trữ ở những khu vực khác nhau
  3. Latency reduction: Phục vụ content cho end-user từ region gần nhất với họ bằng cách sao chép data đến nhiều region

Lưu ý khi setting up Cross Region Replication

  1. Versioning: đảm bảo versioning được enabled trên cả source và destination buckets. CRR yêu cầu versioning.
  2. IAM Role: Bạn sẽ cần IAM role để S3 thực hiện replicate objects
  3. Set Up Replication: Thực hiện tại Console S3

Features and Considerations

  1. Existing Objects: CRR sẽ không replication những Object đã có săn trong source bucket trước khi thiết lập CRR. Chỉ những Object mới được create hoặc update sau khi seting CRR mới được replicate
  2. Replication Time: Mặc dù việc replication diễn ra nhanh chóng nhưng sẽ mất chút thời gian đối với những Object size lớn và khoảng cách giữa 2 Region.
  3. Replication Metrics: S3 cũng cung cấp 1 số metrics để tracking status của replication.
  4. Cost: sẽ tốn một ít chi phí. Storage cost và data transfer costs
  5. Delete Operations: Những object hoặc version bị deleted trong source bucket sẽ không được replicate đến destination bucket by default. Tuy nhiên có thể setting việc này
  6. Transitive Replication: Không có tính chất bắt cầu, nghĩa là nếu chúng ta thiết lập Bucket A replicate sang bucket B. Bucket B replicate sang bucket C. Thì khi upload object đến Bucket A thì chỉ được replicas đến bucket B chứ không đến được bucket C.

Lab Details

  1. Region : sử dụng us-east-1 and ap-south-1 region to create all the resources.
  2. Duration: 30 minutes

Architecture Diagram

Task Details

  1. Create Source Bucket
  2. Create Destination Bucket
  3. Configuring Bucket Replica

1. Create Source Bucket

Lưu ý bucket không được trùng tên trong Region, nên hãy đặt tên phù hợp.

  • AWS Region: US East (N. Virginia) us-east-1
  • Bucket name: d-s3-saa-[your-name]-source-bucket (Ex: d-s3-saa-cloudmentorpro-source-bucket)
  • Bucket Versioning: Enable

2. Create Destination Bucket

Lưu ý bucket không được trùng tên trong Region, nên hãy đặt tên phù hợp.

  • AWS Region: Asia Pacific (Singapore) ap-southeast-1
  • Bucket name: d-s3-saa-[your-name]-destination-bucket (Ex: d-s3-saa-cloudmentorpro-destination-bucket)
  • Bucket Versioning: Enable

Kết quả:

3. Configuring Bucket Replica

Create replication rule

  • Chọn Source bucket -> tab Management -> Create replication rule

  • Replication Rule Name : MyReplicationRule
  • Status: Enable
  • Source Bucket:
    • Choose a rule scope as "Apply to all objects in the bucket"
  • Destination:
    • Choose a bucket in this account
    • Bucket name : d-s3-saa-[your-name]-destination-bucket
  • IAM Role : create new role
  • Các setting khác để như default

  • Save

  • Kết quả

Testing

Chúng ta sẽ upload Object bất kỳ lên source bucket và check xem object có được copy sang destination bucket không.

  • Upload object lên source bucket

  • Kiểm tra object đã được replicate

Clean Up

  • Emplty and delete destination bucket
  • Emplty and delete source bucket
  • Delete Role vừa tạo lúc tạo replication rule