通過aws-data-replication-hub實現S3中國區域和全球區域復制
參考鏈接:https://github.com/awslabs/aws-data-replication-hub
AWS S3跨區域或者跨賬號遷移/復制一般可以使用AWS Cross-Region Replicaiton可以實現,但是Cross-Region Replicaiton不支持跨越AWS中國和海外兩個賬號體系,也不支持異構平台的遷移/復制。針對跨AWS中國和海外賬號體系,或者跨異構平台的S3遷移/復制可以使用AWS Data Replication Hub。
AWS Data Replication Hub是一個開源的AWS跨區域跨賬號數據復制工具,支持一鍵部署,圖形化配置。目前支持AWS S3和ECR,並且支持S3多線程上傳、分段上傳。
- S3 Plugin
- Amazon S3 object replication between AWS Standard partition and AWS CN partition
- Replication from Alibaba Cloud OSS to Amazon S3
- Replication from Tencent COS to Amazon S3
- Replication from Qiniu Kodo to Amazon S3
- Replication from Google Cloud Storage to Amazon S3 (Global)
- Replication from Huawei Cloud OBS
- Support replication with Metadata
- Support One-time replication
- Support Incremental replication
- Support S3 Events to trigger replication
- ECR Plugin
- Amazon ECR replication between AWS accounts or regions
- Amazon ECR replication between AWS Standard partition and AWS CN partition
- Public docker registry to AWS ECR replication
- Private docker registry to AWS ECR replication
- Replicate all images or only selected Images
- Support One-time replication
- Support Incremental replication
1. 場景
通過Data Replication Hub將AWS新加坡區域的S3存儲桶復制到AWS寧夏區域的S3存儲桶,並支持新增數據增量復制。
源端:AWS新加坡Region
目標端:AWS中國寧夏Region
2. 安裝部署
1)直接使用以下cloudformation模版一鍵部署
2)填寫管理員郵箱,安裝完成后會收到一封初始密碼的郵件
3) 其他保持默認即可,點擊創建堆棧
4) 大概15分鍾完成創建,CloudFormation會創建ECS、Lamdba等資源
3. 登錄Data Replicaiton Hub的portal
1)在CloudFormation的輸出中找到PortalURL
2)使用郵箱和初始密碼登錄
4. 創建密鑰
在創建復制任務之前需要在AWS System Manger的參數倉庫中創建密鑰參數,后續復制任務需要使用
本次測試Data Replication Hub部署在源端賬號,所以不需要創建源端密鑰,僅創建目標端密鑰
按下圖填寫配置即可,“值”中填寫密鑰信息如下
{
"access_key_id": "<Your Access Key ID>",
"secret_access_key": "<Your Access Key Secret>",
"region_name": "<Your Region>"
}
5. 創建復制任務
1)選擇Amazon S3,點擊下一步
2)引擎選擇Amazon S3
3)數據源類型選擇Amazon S3
4) 數據源設置
數據桶名稱:填寫源端存儲桶名稱
數據桶對象前綴- 可選:根據需求填寫
源數據桶在當前賬戶嗎?:我的Data Replicaiton Hub部署在源端賬號,所以選Yes
是否啟用S3事件?:支持No、Create Only、Delete Only、Create and Delete四種選項,表示是否復制新增和刪除的數據,我此處選擇Create and Delete
5)目標桶設置
數據桶名稱:輸入目標端存儲桶名稱
數據桶對象前綴- 可選:根據需求自行選擇
存儲類型:根據需求自行選擇
參數倉庫:選擇前面SystemManager中創建的參數
區域名稱;選擇目標端區域,我的目標端在寧夏
6)填寫通知郵箱
7)完成創建任務
6. 配置完成后,會在aws創建相關的ECR、Lambda、SQS、CloudWatch資源,並且可在CloudWathc中查看監控和日志,可實現aws global存儲桶到aws china存儲桶到復制,可以復制現有數據和新增數據。
——本文作者:趙毅鵬,沈磊