Перейти к содержимому

Объектное хранилище (S3)

WebShield предоставляет S3-совместимое объектное хранилище для бэкапов, медиа, логов и данных приложений. Подходит любой S3-клиент: aws CLI, rclone, s3cmd, SDK AWS.

  • Endpoint: https://s3.webshield.pro (path-style адресация: https://s3.webshield.pro/<bucket>/<key>)
  • Оплата: по фактическому потреблению — хранимый объём (за ГБ в месяц) и исходящий трафик сверх бесплатного лимита; списание с баланса аккаунта раз в месяц. Актуальные цены — на странице услуги.
  1. Откройте раздел Хранилище S3 в личном кабинете (уровень аккаунта).
  2. Нажмите Подключить хранилище — сервис сгенерирует пару ключей доступа.
  3. Сразу сохраните Secret Access Key: он показывается только после подключения услуги или перевыпуска ключей.

Ключи принадлежат аккаунту и действуют на все его бакеты. Перевыпуск ключей выдаёт новую пару; старая перестаёт работать в течение минуты.

  • Имена бакетов автоматически получают префикс аккаунта (например, u42-): вы вводите backups, итоговый бакет — u42-backups. В S3-клиентах используйте полное имя.
  • При создании бакета выбирается регион: ru-1 (Россия), eu-1 (Европа) или us-1 (США). Регион определяет, где данные хранятся постоянно; он задаётся при создании и не меняется. Endpoint для всех регионов один и тот же.
  • Новый бакет около минуты находится в статусе «Подготовка» — идёт привязка к хранилищу региона, загрузка в это время недоступна. Статус в списке бакетов обновится сам.
  • По умолчанию бакет приватный. Публичный бакет разрешает анонимное скачивание объектов по прямой ссылке (https://s3.webshield.pro/<bucket>/<key>) — например, для картинок и файлов сайта; листинг содержимого при этом остаётся закрытым. Тип переключается в любой момент кнопкой с замком/глобусом; изменение применяется в течение минуты.
  • Кнопка «Файлы» у бакета открывает встроенный файловый менеджер: просмотр папок (содержимое подгружается по мере раскрытия), загрузка небольших файлов, скачивание и удаление объектов. Для массовых операций и крупных объектов используйте S3-клиент.
  • Имя может содержать строчные буквы, цифры и дефисы (до 40 символов).
  • Бакеты создаются и удаляются только в личном кабинете. Удаление непустого бакета запрашивает отдельное подтверждение и безвозвратно удаляет все объекты.
  • Хранение тарифицируется за ГБ·месяц по среднесуточному объёму: ежедневно начисляется 1/N месячной цены (N — дней в месяце).
  • Исходящий трафик бесплатен в пределах трёхкратного среднемесячного объёма хранения (храните 100 ГБ — 300 ГБ отдачи в месяц бесплатно); сверх лимита тарифицируется за ГБ. Входящий трафик и операции (GET, HEAD, LIST, PUT, POST и т.д.) не тарифицируются и не ограничиваются по количеству.
  • Начисления считаются ежедневно и видны в личном кабинете; списание с баланса — раз в месяц, по завершении календарного месяца.
  • Если средств на балансе не хватает, доступ не отключается сразу: мы отправим уведомление с просьбой пополнить счёт. Если долг не погашен в течение 7 дней, хранилище переводится в режим «только чтение»: скачивание работает, загрузка отклоняется, данные не удаляются. Полный доступ восстанавливается автоматически после пополнения.
  • Одиночный PUT ограничен 5 ГБ; более крупные объекты загружайте через multipart upload (S3-клиенты делают это автоматически).
  • Объекты публичных бакетов раздаются через ближайший к посетителю edge-узел WebShield и кешируются на нём: повторные скачивания и Range-запросы (перемотка видео) обслуживаются локально, без похода в хранилище.
  • После перезаписи объекта под тем же именем старая версия может отдаваться из кеша до 1 часа. Нужна мгновенная смена — загрузите файл под новым именем (например, с версией в имени: logo-v2.png).
  • Заголовок Cache-Control, заданный при загрузке объекта, уважается и edge-кешем, и браузерами: для неизменяемых файлов задайте длинный max-age.
  • Подписанные запросы (S3-клиенты с ключами, presigned-ссылки) не кешируются и всегда идут к хранилищу напрямую.
  • Отключение публичности бакета останавливает раздачу (включая закешированные объекты) в течение одной-двух минут.

С endpoint WebShield работает любой S3-совместимый клиент. Пошаговые инструкции по настройке:

  • AWS CLI — официальный клиент командной строки.
  • rclone — синхронизация и зеркалирование каталогов.
  • s3cmd — лёгкий клиент командной строки.
  • SDK — boto3 (Python), JavaScript, Go, PHP.

В любом клиенте нужны три вещи: endpoint https://s3.webshield.pro, пара ключей доступа из личного кабинета и path-style адресация.

  • Используйте path-style адресацию (большинство клиентов включают её автоматически при нестандартном endpoint; в boto3 это поведение по умолчанию).
  • Трафик к endpoint проходит через edge WebShield с rate-limit и защитой банами; браузерной проверки на этом хосте нет.