一、背景
Data Replication Hub是AWS的数据复制方案,可用于在云间复制,或者在AWS Global和中国区之间复制数据。本文以从海外复制到中国区为例。
其他使用场景,请参考官方文档。
二、通过CloudFormation创建方案
Data Replication Hub解决方案可以在Global区域或者中国区域启动。在中国区启动的话需要处理ICP备案比较不便,且因为中国区没有Cognito服务还需要第三方认证软件支持,配置步骤较多而麻烦,因此不推荐在中国区启动。请选择在Global区域启动。
入口网址 :https://www.amazonaws.cn/solutions/data-replication-hub/
点击在Global区域创建服务按钮启动。如下截图。

随后页面跳转到AWS登陆入口,请登陆AWS Global区域的控制台。
登陆成功后,页面跳转到创建Cloudformation模版界面,S3 URL已经自动填写好,请点击右下角的下一步按钮。如下截图。

填写管理员邮箱的名字,并点击下一步,如下截图。

在向导的下一个界面,无需修改任何选项,将页面滚动到最下方,点击下一步继续。如下截图。

在向导的最后一步,点击允许创建IAM角色按钮,并点击创建。如下截图。

创建过程需要15分钟左右,请等待创建完成。在Event界面下,可以点击刷新按钮查看创建进度。如下截图。

大约15分钟后,创建完成。点击输出标签页,可以看到登陆地址 PortalUrl
,使用浏览器访问这个地址即可开始使用。

三、登陆授权
访问部署好的PortalUrl之后,打开Data Replication Hub的初始界面,填写上邮箱。首次登陆是通过临时密码登陆,去邮箱中可以查看到一封系统自动发来的临时密码邮件,这封邮件是由AWS SES服务代发的,如果在收件箱找不到,可以检查下是否被屏蔽了。输入密码后,点击登陆。如下截图。

接下来设置新的登陆密码。请注意密码有复杂度要求,需要大写字母、小写字母、阿拉伯数字、特殊符号组成。输入后点击确认。如下截图。

此外,系统还会提交一次邮箱验证,选择邮箱,然后按确认。如下截图。

邮箱中会收到另一封确认信,是六位数字的验证码。在提交一次验证码。如下截图。

提交完成,就进入了主界面。
四、创建复制任务数据
在主界面上,选择任务类型,点击下一步。如下截图。

在任务类型界面,选择类型是S3任务,并点击下一步。如下截图。

选择类型是S3任务。如下截图。

在选择源站类型的位置,输入S3存储桶的名字,在第二项前缀(S3目录)位置跳过不输入,表示复制整个桶。在Bucket是否属于本账户选项位置选Yes。在Enable S3 Event这里是持续复制功能,选择Create Only
将会把源站新创建的数据复制到目标区域,如果选择Create and delete
那么意味着不但复制新创建的文件,还会 把文件被删除的行为也复制过去,目标站的数据也跟随着删除。本次测试选择Create Only
,复制增量过去。如下截图。

在目标区域设置位置,输入要复制到中国区的S3桶的名字。在Prefix前缀(目录)位置留空,在身份验证位置点击Parameter Store
设置密码。如下截图。

如果点击Parameter Store,网页跳转后无法正常打开的话,请进去Global区域对应的System Manager服务。如下截图。

从System Manager服务中找到应用管理,找到
参数仓库。点击进入。如下截图。

点击创建参数。如下截图。

输入密钥的名称,选择级别是标准,选择类型是SecureString
,选择加密类型是KMS。如下截图。

选择KMS类型后,输入Value,输入密钥,注意标点符号都是英文半角状态输入。内容如下。
{
"access_key_id": "Axxxxxxxxxxxxxxxxxxxx",
"secret_access_key": "eXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"region_name": "cn-northwest-1"
}
输入后自动隐藏显示为星号。然后点击下一步继续。如下截图。

创建密钥完成,通过Parameter Store已经可以看到。如下截图。

现在将页面返回。点击刷新按钮后,就可以加载到刚才的密钥了。在下方选择正确的区域。然后点击高级设置。如下截图。

在高级选项中,可以调整复制参数。比如在传输稳定的两个区域,例如新加坡复制到北京,则可以把分片提高到50MB之后才切片复制。如果是从美国复制,或者其他网络抖动较多的区域,可以默认选择10MB分片传输。如下截图。

配置完成,点击下一步继续。如下截图。

在向导最后一步,点击确认。如下截图。

复制任务创建完成。如下截图。

五、查看复制结果
当复制任务跑了一段时间后,复制完成。此时通过Data Replication Hub界面来看,会继续显示在In Progress
,这是因为复制是持续复制。可以点击任务ID进入查看详情。如下截图。

如果希望查看的状态,点击任务ID,在点击详情中的CloudWatch Dashboard
,则可以查看详细运行参数。如下截图。

进入CloudWatch界面后,查看名为SQS的监控想,当其数量为0时候,表示数据复制完成。

六、参考文档
官方手册:
V2版本(无UI):