AWS - S3 Object Replicating


S3 Replication

S3 Replication 讓你能 自動的、持續的新增與更新的物件 從一個 S3 Bucket 複製到另一個 Bucket

可以在 相同區域(Same-Region)跨區域(Cross-Region) 之間進行


兩種 S3 Replication Types

類型全名說明常見用途
SRRSame-Region Replication同一個 AWS 區域 內的複製合規、跨帳號備份、版本控管
CRRCross-Region Replication不同 AWS 區域 (Region) 複製災難復原 (DR)、跨區快取、就近存取

運作方式

  1. 啟用 版本控制 (Versioning)
    • 原始與目標 Bucket 都必須開啟。
  2. 設定 Replication Rule
    • 指定要複製的前綴(Prefix)或標籤(Tag)。
  3. 指定 目標 Bucket
    • 可以是同帳號或跨帳號的 bucket。
  4. AWS S3 會自動在背景執行複製流程。
  • 複製後的物件是獨立存在的,刪除原始檔不會刪掉目標檔。

S3 Replication 支援的物件屬性

屬性是否複製備註
新上傳物件自動複製
既有物件❌(可手動啟用 Batch Replication)須額外設定
Object ACL / Metadata一併複製
Object Lock✅(需開啟 S3 Object Lock 支援)適合合規環境
SSE-S3 加密自動複製
SSE-KMS 加密✅(需授權 KMS key policy)需設定 Key policy
Delete Marker✅(可選)適用版本控制情境
Lifecycle 設定不會複製設定檔本身

進階功能

功能說明
Replication Time Control (RTC)保證 99.99% 的物件在 15 分鐘內 完成複製(需付費)
Replication Metrics在 CloudWatch 監控延遲與複製進度
Batch Replication可針對「過去已存在」的物件做一次性補複製
Replication of delete markers可選擇是否同步刪除標記
Replica Modification Sync允許目標 bucket 的物件被修改後,同步回原 bucket(雙向同步的一種變體)

S3 Batch Replications

剛剛講得 SRR/SRR Replications 都是針對 新增/更新的物件 進行複製,那麼針對過去的資料,必須使用 Batch Replcations 來進行複製

S3 Batch Replication 是一種「針對既有物件進行一次性補複製」的機制,
可以讓已經存在於來源 Bucket 中的舊物件(在設定 Replication 之前上傳的)
也能被複製到目標 Bucket。

使用方式也幾乎跟前面的方案相同