通过AWS Data Replication Hub实现AWS中国区域和海外区域之间的S3复制
通过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存储桶到复制,可以复制现有数据和新增数据。
——本文作者:赵毅鹏,沈磊