本文主要描述在AWS Global区部署Data Transfer Hub方案,并创建从global S3同步文件到中国区S3的任务
本次实验架构图
1. 实验准备
1.1 AWS Global账号
需要一个AWS Global的账号,并且有相应的权限,本例是Full Administrator权限
1.2 在AWS Global账号下准备一个S3存储桶
登陆AWS Global账号,选择服务->存储->S3
点击创建存储桶
输入存储桶名为garysource后,点击创建
并在存储账号中存入测试文件,如图:
1.3 AWS China账号
需要一个AWS China的账号,需要AKSK并且有相应的权限,本实验是Full Administrator权限
1.4 在AWS China账号下准备一个S3存储桶
登陆AWS China区域的账号,同步骤三,在宁夏区创建存储桶为garydes
1.5 准备一个邮件地址
准备一个可以接受邮件的邮件地址xxxx@xxxx.xx
2. 部署Data Transfer Hub
Data Tranfer Hub参考:Data Transfer Hub | Amazon Web Services Solutions
登陆AWS Global账号,选择服务->管理与监管 ->CloudFormation
点击创建堆栈-> 使用新资源(标准)
按照默认,选择模板已就绪,模板源是Amazon S3 URL,并填入地址:https://aws-gcr-solutions.s3.amazonaws.com/data-transfer-hub/latest/DataTransferHub-cognito.template 输入堆栈名称和邮件地址,点击下一步
在配置堆栈选项页面,直接选择下一步
在审核页面,确认输入信息无误后,选择我确认,AWS CloudFormation可能创建IAM资源,点击提交创建资源
等待大概15分钟,当整体任务显示complete的时候,已经创建完成
在输出标签中,找到PortalUrl对应的值,并复制出来,这就是Data Transfer Hub的访问地址。
3. 创建Secrets Manager
登陆AWS Global账号,选择服务->安全性、身份与合规性 ->Secrets Manager
点击存储新的秘钥
在选择密钥类型页面,选择其他类型的密钥,在键值对输入以下内容:
access_key_id 的值为AK
secret_access_key 的值为SK
region_name 的值为region,本例为cn-northwest-1,即目的存储桶的region.
在配置密钥页面,输入密钥名称为:prod/gary/key,点击下一步
在配置转动 - 可选页面点击下一步
在审核页面,点击存储
4. 创建同步任务
补充:如果Data Transfer Hub所在账户端使用KMS,确保EC2 profile加入KMS的使用者。
在步骤2的输出中,拷贝PortalUrl, 在浏览器中打开,输入1.5中预留的邮箱地址,并在邮箱中搜索由no-reply@verificationemail.com发来的邮件的密码
更新密码
点击skip
点击创建新任务
在选择引擎类型页面,选择Amazon S3,点击下一步
在填写任务信息页面,输入相应的信息:
数据源设置
数据源类型选择:Amazon S3
数据桶名称:garysource
传输类型:Objects with a specific prefix
数据桶对象前缀:exports/
源数据桶再当前账户么:Yes
源区域名称:Tokyo (ap-northeast-1)
目标桶设置
数据桶名称:garydes
凭证:prod/gary/key #依据步骤3中的secrets key
目标区域名称:Ningxia (cn-northwest-1)
引擎设置
任务调度设置:One Time Transfer,也可以根据情况选择Fixed Rate (每x天,每x小时,每x分钟等) 或者 Cron Expression (cron表达式)
通知邮箱:可以接收邮件的邮箱地址
在任务预览页面确认信息,如果无误,点击创建任务
5. 验证同步任务
等待一段时间以后,查看garydes存储桶,可以看到相应的文件: