INTEGRITY Документация

Super Slurper

Super Slurper позволяет быстро и просто копировать объекты от других облачных провайдеров в выбранный вами бакет R2.

Задания миграции:

Когда использовать Super Slurper

Использование Super Slurper как части вашей стратегии может быть удачным выбором, если бакет облачного хранилища, который вы переносите, состоит преимущественно из объектов размером менее 1 ТБ. Объекты размером более 1 ТБ будут пропущены, и их нужно будет скопировать отдельно.

Для сценариев миграции, не соответствующих указанным выше критериям, рекомендуем использовать такие инструменты, как rclone.

Перенос данных в R2 с помощью Super Slurper

  1. На панели управления Cloudflare перейдите к разделу Миграция данных R2 страницу.

    Перейдите в Миграция данных ↗
  2. Выберите Перенос файлов.

  3. Выберите исходного облачного провайдера, из которого вы будете переносить данные.

  4. Введите имя исходного бакета и соответствующие учётные данные, затем выберите Далее.

  5. Введите имя бакета R2 и соответствующие учётные данные, затем выберите Далее.

  6. Когда вы завершите проверку сведений о миграции, выберите Перенос файлов.

Вы можете в любой момент посмотреть статус задания миграции, выбрав миграцию в Миграция данных страницу.

Параметры исходного бакета

Подпуть бакета (необязательно)

Этот параметр задает префикс в исходном бакете, из которого будут копироваться объекты.

Параметры целевого бакета R2

Перезаписать файлы?

Этот параметр определяет, что происходит, если объект, копируемый из исходного бакета хранилища, совпадает по пути с существующим объектом в целевом бакете R2. Доступны два варианта:

Поддерживаемые провайдеры облачного хранилища

На данный момент Cloudflare поддерживает копирование данных в R2 из следующих облачных провайдеров объектного хранения:

Протестированные S3-совместимые провайдеры хранения

Ниже перечислены S3-совместимые провайдеры хранения, протестированные и подтверждённые для работы с Super Slurper:

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. Вы можете использовать предопределенную Storage Admin роль, но Cloudflare рекомендует создать пользовательскую роль с более узким набором разрешений.

Чтобы создать пользовательскую роль с необходимыми правами:

  1. Войдите в консоль Google Cloud.
  2. Перейдите в IAM & Admin > Роли.
  3. Найдите Storage Object Viewer роль и выберите Create role from this role.
  4. Присвойте новой роли имя.
  5. Выберите Добавление разрешений и добавьте storage.buckets.get разрешение.
  6. Выберите Создание.

Чтобы создать учетные данные с вашей пользовательской ролью:

  1. Войдите в консоль Google Cloud.
  2. Перейдите в IAM & Admin > Сервисные аккаунты.
  3. Создайте сервисный аккаунт с вашей пользовательской ролью.
  4. Перейдите в Ключи вкладке созданной вами учётной записи службы.
  5. Выберите Add Key > Создание нового ключа и загрузите JSON-файл ключа.

Теперь вы можете использовать этот файл ключа JSON при включении Super Slurper.

Важные замечания

ETags

Формирование ETag в R2 в целом совместимо с S3, но при миграции объекта с помощью Super Slurper совпадение ETag не гарантируется. Super Slurper самостоятельно принимает решения об операциях, которые использует при миграции объектов, чтобы оптимизировать производительность и использование сети. Он может перенести объект несколькими частями, что влияет на Вычисление ETag.

Например, объект размером 320 МиБ, изначально загруженный в S3 с помощью одной PutObject операция может быть перенесена в R2 с помощью составных операций. В этом случае ETag объекта в R2 не будет совпадать с его ETag в S3. Аналогично, объект, изначально загруженный в S3 с помощью составных операций, также может иметь другой ETag в R2, если размеры частей, которые Super Slurper выбирает для миграции, отличаются от размеров частей, с которыми этот объект был первоначально загружен.

Поэтому не рекомендуется полагаться на совпадение ETag до и после миграции.

Архивные классы хранения

Объекты, хранящиеся с использованием AWS S3 архивные классы хранения будут пропущены и их нужно будет скопировать отдельно. А именно: