目标是对象存储,是我们最常见的迁移场景,源端有可能是IDC,也有可能是其他的对象存储,针对不同的场景来选择不同的工具。
#### AWS CLI命令
使用 AWS S3 CLI 可以轻松的将本地文件上传到 [Amazon S3](https://aws.amazon.com/cn/s3/?trk=cndc-detail) 或者从 [Amazon S3](https://aws.amazon.com/cn/s3/?trk=cndc-detail) 复制到本地或者在S3桶之间进行复制。AWS S3 CLI 支持分段上传和并发上传提升传输效率,但不支持断点续传,在网络存在抖动的情况下很容易出现传输失败。因此仅对于数据规模小的,任务时间短的情况下推荐该方法。
#### AWS DataSync 服务
[AWS DataSync](https://aws.amazon.com/cn/datasync/?trk=cndc-detail) 是亚马逊云科技提供一个功能丰富的数据迁移工具,在对象存储迁移方面提供了以下能力:
- 支持将本地数据传输到 [Amazon S3](https://aws.amazon.com/cn/s3/?trk=cndc-detail) (支持 NFS、SMB、HDFS 协议) ;
- 支持将其他对象存储服务如 Google Cloud Storage、Azure File Storage 传输到 [Amazon S3](https://aws.amazon.com/cn/s3/?trk=cndc-detail) ;
- 将 [Amazon Elastic File System](https://aws.amazon.com/cn/efs/?trk=cndc-detail)([Amazon EFS](https://aws.amazon.com/cn/efs/?trk=cndc-detail))文件系统、Amazon FSx 文件系统数据传输到 [Amazon S3](https://aws.amazon.com/cn/s3/?trk=cndc-detail);
- 不同账户存储桶之间传输数据。
#### Data Transfer Hub
Data Transfer Hub 是亚马逊云科技提供的一个安全,可靠,可扩展和可追踪的数据传输解决方案。使用 Data Transfer Hub 可以帮助您轻松的完成 [Amazon S3](https://aws.amazon.com/cn/s3/?trk=cndc-detail) 之间的数据迁移(包括跨账号和跨区域),同时也支持从其它对象存储服务如阿里云 OSS,腾讯云 COS,七牛云 Kodo传输到 [Amazon S3](https://aws.amazon.com/cn/s3/?trk=cndc-detail)。
#### 开源工具 - Rclone
Rclone 是一款命令行工具,采用Go语言开发,支持在不同对象存储、网盘间同步、上传、下载数据。支持本地与云存储间双向数据复制/同步(可断点续传),也支持不同云存储间的数据复制/同步。
在对象存储数据迁移场景里,如果是将少量的文件从本地到 S3或S3到本地,推荐使用AWS S3 CLI,如果是将大量文件从本地到S3或S3到本地则推荐Rclone,如果希望将NFS、SMB、HDFS 协议文件系统的数据传输到S3,推荐使用[AWS DataSync](https://aws.amazon.com/cn/datasync/?trk=cndc-detail);如果需要在S3存储桶之间传输数据,推荐使用Data Transfer Hub,而在将其他云存储数据传输到AWS,推荐使用Data Transfer Hub、[AWS DataSync](https://aws.amazon.com/cn/datasync/?trk=cndc-detail)、Rclone。