通过AWS Data Replication Hub实现AWS中国区域和海外区域之间的S3复制

时间:2024-03-09 22:19:25

通过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模版一键部署

        https://aws-gcr-solutions.s3.amazonaws.com/Aws-data-replication-hub/latest/AwsDataReplicationHub-cognito.template

  

    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存储桶到复制,可以复制现有数据和新增数据。

 

——本文作者:赵毅鹏,沈磊