作者:MeshCloud脉时云公有云架构师杨美志
Storage Transfer Service工具介绍
Storage Transfer Service 是一项在线迁移托管服务,可以将第三方数据轻松迁移至Google Cloud 对象存储GCS,也可以在对象存储GCS之间进行灵活的数据迁移。您可以设置周期性的传输作业以节省时间和资源,并且可以扩展到 10 Gbps。要自动创建和管理传输作业,您可以使用 storage transfer API 或自选语言的定制化函数库。与 GSUTIL 相比,Storage Transfer Service 是一项托管的解决方案,可处理重试机制并提供详细的传输日志记录。由于资料在高频宽网络管道上移动,因此资料传输速度相当快。地端传输服务可最大通过可用频宽和效能优化,来缩短传输时间。
以下是使用 Storage Transfer Service 进行的数据转移的示例:

AWS创建IAM用户
迁移S3存储桶数据,需要使用访问密钥 ID 和密钥向 AWS 进行身份验证,请执行以下操作:
创建 AWS Identity and Access Management (AWS IAM) 用户,并设置便于识别的用户名。本次测试IAM用户名称为s3togcs

向用户授予以下角色之一:
- Amazon S3 ReadOnlyAccess 提供对来源的只读权限。 它允许转移,但不支持在转移完成后删除来源中的对象。
- 如果您的转移作业配置为删除来源中的对象,请授予 AmazonS3FullAccess。
- 具有上文所需权限表中的相应权限的自定义角色。最小权限的 JSON 示例如下:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:ListBucket",
"s3:GetBucketLocation"
],
"Resource": [
"arn:aws:s3:::AWS_BUCKET_NAME/*",
"arn:aws:s3:::AWS_BUCKET_NAME"
]
}
]
}

点击创建用户

成功创建IAM用户

对于 AWS 访问类型,选择 Access key – programmatic access(访问密钥 – 以程序化方式访问)。
创建访问密钥

选择命令行界面

点击创建访问密钥

记下访问密钥 ID 和私有访问密钥。

创建迁移作业
在Google Cloud Console控制台,找到Data Transfer服务,点击进入开始Data Transfer控制台

新建“转移作业”

数据源类型选择 Amazon S3,目标类型选择Google Cloud Storage,点击下一步

在存储桶名称字段中,输入数据源存储桶名称。凭证选择访问密钥,在访问密钥 ID 字段中输入访问密钥,在私有访问密钥字段中输入与访问密钥关联的 Secret。

选择目标,目标可使用之前已存在的存储桶,也可新建存储桶,本次测试我选择创建新的存储桶,存储桶名称为:s3-to-gcs-ymz,存储桶region选择:亚洲多区域。

点击下一步

从运行一次下拉列表中,选择以下选项之一:
- 运行一次:从您选择的时间开始运行一次转移作业。
- 每天运行:每天从您选择的时间开始,每天运行转移作业。
- 您可以输入可选的结束日期,或者将结束日期留空以持续运行转移作业。
- 每周运行:从您选择的时间开始,每周运行一次转移作业。
- 按自定义频率运行:按您选择的频率运行转移作业。您可以选择按照小时、天或周的固定间隔来重复运行转移作业。
- 您可以输入可选的结束日期,或者将结束日期留空以持续运行转移作业。
从立即开始下拉列表中,选择以下选项之一:
- 立即开始:点击创建后开始转移作业。
- 开始日期:在您选择的日期和时间开始转移作业。点击日历,以显示一个日历来选择开始日期。

可选填写作业说明,存储类别可根据实际业务场景选择,选择完成所有属性之后,点击左侧创建按钮完成迁移作业的创建。

在作业详情页面可监控与查看作业运行的详细状态

作业迁移成功,可观察到迁移数据量3.68G使用时长4分42秒,可见传输效率极高。

总结
Storage Transfer Service工具具有极高的传输效率,是进行大量数据迁移时完美的一套解决方案,同时Storage Transfer还支持自定义运行时间、提高迁移速度、分段上传、监控传输日志,可帮助减少迁移人员的工作量。Storage Transfer Service同时还支持多种方式调用运行迁移作业,是一款跨云迁移优秀传输托管的数据服务!