跳转到内容
搜索文档

Super Slurper

最后更新 查看 MarkdownAgent 设置

Super Slurper 允许您快速轻松地将对象从其他云提供商复制到您选择的 R2 存储桶。

迁移作业:

  • 通过将源存储桶的自定义对象元数据复制到 R2 上的迁移对象来保留它们。
  • 不会从源存储桶删除任何对象。
  • 使用 HTTPS 连接上的 TLS 加密进行安全、私密的对象传输。

何时使用 Super Slurper

如果您要迁移的云存储存储桶主要由小于 1 TB 的对象组成,将 Super Slurper 作为策略的一部分可能是不错的选择。大于 1 TB 的对象将被跳过,需要单独复制。

对于不符合上述标准的迁移用例,建议使用 rclone 等工具。

使用 Super Slurper 将数据迁移到 R2

  1. 在 Cloudflare 仪表板中,前往 R2 data migration(R2 数据迁移) 页面。

    Go to Data migration ↗
  2. 选择 Migrate files(迁移文件)

  3. 选择要迁移数据的源云存储提供商。

  4. 输入源存储桶名称和相关凭据,然后选择 Next(下一步)

  5. 输入 R2 存储桶名称和相关凭据,然后选择 Next(下一步)

  6. 查看迁移详情后,选择 Migrate files(迁移文件)

您可以随时从 Data Migration 页面选择迁移来查看迁移作业状态。

源存储桶选项

Bucket sub path(可选)

此设置指定源存储桶内复制对象的前缀。

目标 R2 存储桶选项

Overwrite files?

此设置决定从源存储存储桶复制的对象与目标 R2 存储桶中现有对象路径匹配时的行为。有两个选项:

  • Overwrite(默认)
  • Skip

支持的云存储提供商

Cloudflare 目前支持从以下云对象存储提供商复制数据到 R2:

  • Amazon S3
  • Cloudflare R2
  • Google Cloud Storage (GCS)
  • 所有 S3 兼容存储提供商

已测试的 S3 兼容存储提供商

以下 S3 兼容存储提供商已经过测试并验证可与 Super Slurper 配合使用:

  • Backblaze B2
  • DigitalOcean Spaces
  • Scaleway Object Storage
  • Wasabi Cloud Object Storage

Super Slurper 应支持从所有 S3 兼容存储提供商传输,但上述列出的已明确测试。

为存储提供商创建凭据

Amazon S3

要从 Amazon S3 复制对象,Super Slurper 需要访问 S3 存储桶的权限。虽然可以使用具有正确权限的任何 AWS Identity and Access Management (IAM) 用户凭据,但 Cloudflare 建议创建具有最小权限集的用户。

创建具有正确权限的凭据:

  1. 登录 AWS IAM 账户。
  2. 创建具有以下格式的策略,并将 <BUCKET_NAME> 替换为要授予访问权限的存储桶:
{
	"Version": "2012-10-17",
	"Statement": [
		{
			"Effect": "Allow",
			"Action": ["s3:Get*", "s3:List*"],
			"Resource": ["arn:aws:s3:::<BUCKET_NAME>", "arn:aws:s3:::<BUCKET_NAME>/*"]
		}
	]
}
  1. 创建新用户并将创建的策略附加到该用户。

现在可以在定义源存储桶时使用 Access Key ID 和 Secret Access Key。

Google Cloud Storage

要从 Google Cloud Storage (GCS) 复制对象,Super Slurper 需要访问 GCS 存储桶的权限。您可以使用 Google Cloud 预定义的 Storage Admin 角色,但 Cloudflare 建议创建具有更小权限集的自定义角色。

创建具有必要权限的自定义角色:

  1. 登录 Google Cloud 控制台。
  2. 前往 IAM & Admin(IAM 和管理) > Roles
  3. 找到 Storage Object Viewer 角色并选择 Create role from this role(从此角色创建角色)
  4. 为新角色命名。
  5. 选择 Add permissions(添加权限) 并添加 storage.buckets.get 权限。
  6. 选择 Create(创建)

使用自定义角色创建凭据:

  1. 登录 Google Cloud 控制台。
  2. 前往 IAM & Admin(IAM 和管理) > Service Accounts(服务账号)
  3. 使用您的自定义角色创建服务账户。
  4. 前往创建的服务账户的 Keys(密钥) 选项卡。
  5. 选择 Add Key(添加密钥) > Create a new key(创建新密钥) 并下载 JSON 密钥文件。

现在可以在启用 Super Slurper 时使用此 JSON 密钥文件。

注意事项

ETags

虽然 R2 的 ETag 生成在常规操作期间与 S3 兼容,但使用 Super Slurper 迁移对象时,ETag 并不保证相等。 Super Slurper 会自主决定迁移对象时使用的操作,以优化性能和网络用量。它可能会选择通过分段操作迁移对象,这会影响 ETag 计算

例如,原本通过单次 PutObject 操作上传到 S3 的 320 MiB 对象,可能会通过分段操作迁移到 R2。在这种情况下,其在 R2 上的 ETag 将与 S3 上的 ETag 不同。 同样,原本通过分段操作上传到 S3 的对象,如果 Super Slurper 为迁移选择的分段大小与原始上传时的分段大小不同,其在 R2 上的 ETag 也可能不同。

因此,不建议依赖迁移前后 ETag 的一致性。

归档存储类别

使用 AWS S3 归档存储类别 存储的对象将被跳过,需要单独复制。具体而言:

  • 使用 S3 Glacier 层级(不包括 Glacier Instant Retrieval)存储的文件将被跳过并记录在迁移日志中。
  • 使用 S3 Intelligent Tiering 并放置在 Deep Archive 层级的文件将被跳过并记录在迁移日志中。

这篇文档对您有帮助吗?