Skip to content
EN

Cloudflare R2

Коротко:

Cloudflare R2 — S3-совместимое объектное хранилище с zero egress fee (AWS S3 берёт ~$0.09/GB на исходящий трафик). Цена storage: $0.015/GB/мес. Доступ: S3 API (aws-cli, rclone, boto3 работают без изменений). Интеграция: Workers для on-the-fly image transforms, Hyperdrive для DB-cache. Используется: Shopify, Notion, Superhuman.

Ниже: подробности, пример, смежные термины, FAQ.

Проверить свой сайт →

Детали

  • S3 API 100% совместимость: aws-cli, boto3, rclone, mc — без изменений
  • Pricing: $0.015/GB storage, $0 egress, $4.50 per million Class A operations (PUT/POST/LIST)
  • Custom domain + HTTP/3: подключаете R2 bucket к своему домену напрямую
  • Workers integration: fetch() R2 object → transform → return — zero network hop
  • Multipart upload до 5 TB/объект, regional durability 11 9's

Пример

# Конфиг aws-cli для R2
$ aws configure --profile r2
AWS Access Key ID: <R2_KEY>
AWS Secret: <R2_SECRET>
Default region: auto

# Upload
$ aws s3 cp file.zip s3://my-bucket/ \
    --endpoint-url https://<ACCOUNT>.r2.cloudflarestorage.com \
    --profile r2

Связанные термины

Что такое Cloudflare R2?

Cloudflare R2 — это S3-совместимое облачное хранилище, которое предлагает пользователям возможность хранения и управления данными без привязки к конкретному облачному провайдеру. Это решение позволяет разработчикам и компаниям хранить и извлекать данные через API, совместимые с Amazon S3, обеспечивая высокую доступность и масштабируемость. R2 отличается тем, что не взимает плату за исходящий трафик, что делает его выгодным выбором для многих проектов.

Преимущества Cloudflare R2

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

  • Совместимость с S3: R2 поддерживает API, аналогичные Amazon S3, что облегчает миграцию данных и интеграцию с существующими приложениями.
  • Отсутствие платы за исходящий трафик: В отличие от многих других провайдеров, Cloudflare не взимает плату за данные, которые вы извлекаете из R2, что значительно снижает общие затраты на хранение.
  • Высокая производительность: Система оптимизирована для быстрого доступа и обработки данных, благодаря чему пользователи могут рассчитывать на стабильную работу даже при высоких нагрузках.
  • Интеграция с другими сервисами Cloudflare: R2 легко интегрируется с другими продуктами Cloudflare, такими как CDN, что обеспечивает дополнительную защиту и ускорение загрузки контента.

Пример использования Cloudflare R2

Рассмотрим пример настройки Cloudflare R2 для хранения и извлечения изображений в веб-приложении. Для начала вам необходимо создать бакет в R2 и настроить его с помощью командной строки:

curl -X PUT "https://api.cloudflare.com/client/v4/accounts/YOUR_ACCOUNT_ID/r2/buckets/YOUR_BUCKET_NAME" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
--data '{"name":"YOUR_BUCKET_NAME"}'

После создания бакета вы можете загружать файлы с помощью следующей команды:

aws --endpoint-url https://YOUR_ACCOUNT_ID.r2.cloudflarestorage.com s3 cp local-image.jpg s3://YOUR_BUCKET_NAME/remote-image.jpg

Здесь aws — это инструмент командной строки для работы с S3-совместимыми хранилищами. Замените YOUR_ACCOUNT_ID и YOUR_BUCKET_NAME на ваши реальные значения. После загрузки файла вы сможете получить доступ к нему по следующему URL:

https://YOUR_BUCKET_NAME.YOUR_ACCOUNT_ID.r2.cloudflarestorage.com/remote-image.jpg

Таким образом, Cloudflare R2 позволяет эффективно хранить и управлять данными, используя знакомые инструменты и API.

Обзор Cloudflare R2

Cloudflare R2 — это S3-совместимое хранилище, предлагающее разработчикам и компаниям возможность хранения и доступа к данным с минимальными затратами и высокой производительностью. С помощью R2 вы можете легко интегрировать свои приложения с существующими S3-приложениями, используя те же API и инструменты. Это решение идеально подходит для хранения больших объемов данных, таких как изображения, видео и резервные копии, с доступом по HTTP/HTTPS и минимальными задержками.

Настройка Cloudflare R2 для вашего проекта

Настройка Cloudflare R2 начинается с создания нового бакета. Для этого выполните следующие шаги:

  1. Войдите в свою учетную запись Cloudflare. Перейдите на панель управления и выберите раздел R2.
  2. Создайте новый бакет. Нажмите на кнопку Создать бакет и задайте уникальное имя для вашего хранилища.
  3. Настройте параметры доступа. Вы можете задать политику доступа для вашего бакета, выбрав между публичным и приватным доступом. Для приватных бакетов вам нужно будет использовать ключи доступа.

После создания бакета вы можете использовать S3-совместимые команды для работы с ним. Например, для загрузки файла в ваш бакет выполните следующую команду с использованием aws-cli:

aws --endpoint-url https://.r2.cloudflarestorage.com s3 cp  s3:///

Здесь — это ваш домен Cloudflare, а — имя, которое вы задали при создании бакета.

Кроме того, вы можете управлять данными, используя rclone, который поддерживает интеграцию с R2. Пример конфигурации для rclone:

[cloudflare_r2]
 type = s3
 provider = Other
 env_auth = false
 access_key_id = 
 secret_access_key = 
 endpoint = https://.r2.cloudflarestorage.com

После настройки вы сможете использовать rclone для синхронизации данных с R2, что значительно упростит управление хранилищем.

Cloudflare R2 предлагает интеграцию с другими сервисами Cloudflare, такими как Workers и Pages, что позволяет создавать мощные веб-приложения с минимальными затратами на инфраструктуру. Например, вы можете использовать Cloudflare Workers для обработки изображений на лету перед их загрузкой в R2.

Завершая настройку, рекомендуется протестировать производительность вашего хранилища и оценить время отклика при доступе к данным. Это можно сделать с помощью утилит, таких как curl или специализированные инструменты мониторинга.

Больше по теме

Часто задаваемые вопросы

Когда R2 выгоднее S3?

Когда egress > 10% от storage cost (хостинг картинок, видео, статических сайтов). Для rarely-read archival — S3 Glacier дешевле.

Minimum retention?

Нет. В отличие от S3 Glacier, удаление бесплатно и моментально.

Workers необязательны?

Нет, R2 работает standalone через S3 API. Workers — бонус для transforms/caching.

Запустить инструмент, который описан в этой статье

Бесплатный тариф — 10 мониторов, проверки каждые 5 мин, без карты. Платные тарифы — интервал от 1 минуты и проверки из нескольких регионов.