← Cloudflare R2 / r2 / data-migration
Super Slurper
Super Slurper позволяет быстро и просто копировать объекты от других облачных провайдеров в выбранный вами бакет R2.
Задания миграции:
- Сохраняйте пользовательские метаданные объектов из исходного бакета, копируя их в перенесённые объекты в R2.
- Не удаляйте объекты из исходного бакета.
- Используйте шифрование TLS через HTTPS-соединения для безопасной и конфиденциальной передачи объектов.
Когда использовать Super Slurper
Использование Super Slurper как части вашей стратегии может быть удачным выбором, если бакет облачного хранилища, который вы переносите, состоит преимущественно из объектов размером менее 1 ТБ. Объекты размером более 1 ТБ будут пропущены, и их нужно будет скопировать отдельно.
Для сценариев миграции, не соответствующих указанным выше критериям, рекомендуем использовать такие инструменты, как rclone.
Перенос данных в R2 с помощью Super Slurper
-
На панели управления Cloudflare перейдите к разделу Миграция данных R2 страницу.
Перейдите в Миграция данных ↗ -
Выберите Перенос файлов.
-
Выберите исходного облачного провайдера, из которого вы будете переносить данные.
-
Введите имя исходного бакета и соответствующие учётные данные, затем выберите Далее.
-
Введите имя бакета R2 и соответствующие учётные данные, затем выберите Далее.
-
Когда вы завершите проверку сведений о миграции, выберите Перенос файлов.
Вы можете в любой момент посмотреть статус задания миграции, выбрав миграцию в Миграция данных страницу.
Параметры исходного бакета
Подпуть бакета (необязательно)
Этот параметр задает префикс в исходном бакете, из которого будут копироваться объекты.
Параметры целевого бакета R2
Перезаписать файлы?
Этот параметр определяет, что происходит, если объект, копируемый из исходного бакета хранилища, совпадает по пути с существующим объектом в целевом бакете R2. Доступны два варианта:
- Перезаписать (по умолчанию)
- Пропустить
Поддерживаемые провайдеры облачного хранилища
На данный момент 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 рекомендует создать пользователя с ограниченным набором прав.
Чтобы создать учетные данные с нужными правами:
- Войдите в свою учётную запись AWS IAM.
- Создайте политику в следующем формате и замените
<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>/*"]
}
]
}- Создайте нового пользователя и прикрепите к нему созданную политику.
Теперь вы можете использовать Access Key ID и Secret Access Key при определении исходного бакета.
Google Cloud Storage
Чтобы копировать объекты из Google Cloud Storage (GCS), Super Slurper требуются права доступа к вашему бакету GCS. Вы можете использовать предопределенную Storage Admin роль, но Cloudflare рекомендует создать пользовательскую роль с более узким набором разрешений.
Чтобы создать пользовательскую роль с необходимыми правами:
- Войдите в консоль Google Cloud.
- Перейдите в IAM & Admin > Роли.
- Найдите
Storage Object Viewerроль и выберите Create role from this role. - Присвойте новой роли имя.
- Выберите Добавление разрешений и добавьте
storage.buckets.getразрешение. - Выберите Создание.
Чтобы создать учетные данные с вашей пользовательской ролью:
- Войдите в консоль Google Cloud.
- Перейдите в IAM & Admin > Сервисные аккаунты.
- Создайте сервисный аккаунт с вашей пользовательской ролью.
- Перейдите в Ключи вкладке созданной вами учётной записи службы.
- Выберите 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 архивные классы хранения ↗ будут пропущены и их нужно будет скопировать отдельно. А именно:
- Файлы, хранящиеся в уровнях S3 Glacier (за исключением Glacier Instant Retrieval), будут пропущены и записаны в журнал миграции.
- Файлы, хранящиеся с использованием S3 Intelligent Tiering и помещённые в уровень Deep Archive, будут пропущены и записаны в журнал миграции.