S3 — что это, объектное хранилище и совместимый API | Глоссарий FREEHOSTING

S3

Amazon S3 Object Storage
S3 — S3 — объектное хранилище Amazon Web Services, ставшее де-факто стандартом отрасли. Хранит файлы как объекты в бакетах, отдаёт их по HTTPS и масштабируется до петабайт. Совместимый с S3 API поддерживают Yandex Object Storage, MinIO, Wasabi, Selectel и десятки других провайдеров.

Определение простыми словами

S3 (Simple Storage Service) — это сервис Amazon, в котором файлы лежат не в папках, а в плоском пространстве имён бакета. Каждый объект имеет уникальный ключ, метаданные и URL для скачивания. В отличие от обычной файловой системы, нельзя редактировать кусок файла — только перезаписать целиком.

Совместимость с протоколом S3 стала стандартом: одна и та же библиотека (boto3, aws-sdk) работает с AWS, Yandex Object Storage, Selectel, MinIO. Для проектов на VPS S3 удобен как место для бэкапов, статики и пользовательских загрузок.

Сравнение

Тип хранилища Структура Доступ Применение
S3 (объектное) Плоское, ключ-объект HTTPS API Бэкапы, медиа, статика
Блочное (EBS) Блоки фиксированного размера Монтирование как диск Системные тома, БД
Файловое (NFS) Иерархия папок Сетевая ФС Общие файлы между серверами

Кейсы использования

  • Бэкапы баз данных и сайтов: ежедневные дампы по cron в бакет с lifecycle-правилом ротации.
  • Хранение пользовательских загрузок (фото, видео) с раздачей через CDN.
  • Статические сайты на чистом S3 с поддержкой index.html и redirect.
  • Совместное хранилище для логов нескольких VPS в одном проекте.
  • Негативный сценарий: интенсивная работа с маленькими файлами и низкой задержкой — стоимость API-запросов и round-trip по HTTP сделают S3 дорогим и медленным.

Технические детали

Работа с S3-совместимым хранилищем через aws-cli:

aws configure set aws_access_key_id YOUR_KEY
aws configure set aws_secret_access_key YOUR_SECRET
aws --endpoint-url https://storage.yandexcloud.net s3 mb s3://my-bucket
aws --endpoint-url https://storage.yandexcloud.net s3 cp backup.sql.gz s3://my-bucket/
aws --endpoint-url https://storage.yandexcloud.net s3 ls s3://my-bucket/ --recursive --human-readable

Для бэкапов с шифрованием на стороне клиента используйте rclone с параметром —crypt-remote. Доступы храните в IAM-ролях или переменных окружения, не в репозитории.

Как устроено S3: бакеты, объекты, ключи

В S3 нет привычных папок и дисков — есть плоское хранилище объектов. Основные термины:

Термин Что это
Bucket (бакет) Контейнер верхнего уровня — аналог «диска» с уникальным именем
Object (объект) Файл + его метаданные; размер — от байта до терабайтов
Key (ключ объекта) Полное «имя файла» внутри бакета, например backups/2026/site.tar.gz
Endpoint URL API хранилища, куда подключается клиент
Access / Secret Key Пара ключей для авторизации — как логин и пароль для программ

S3 — это не только Amazon

Протокол S3 стал отраслевым стандартом: «S3-совместимое хранилище» предлагает почти каждый крупный облачный провайдер, включая российских — Selectel, Timeweb Cloud, VK Cloud, Yandex Cloud. Любой инструмент, умеющий работать с S3 (rclone, restic, WordPress-плагины бэкапов), будет работать и с ними — меняется только endpoint и ключи. Подобрать сервер с объектным хранилищем можно в каталоге тарифов с хранилищем.

Как подключиться: пример с rclone

Универсальный клиент — rclone. Настройка одной командой rclone config (выбрать тип s3, вставить endpoint и ключи), после чего:

  • rclone ls remote:my-bucket — список файлов;
  • rclone copy /var/backups remote:my-bucket/backups — загрузка;
  • rclone sync remote:my-bucket/backups /restore — скачивание/синхронизация.

Когда S3, а когда обычный диск

S3 выигрывает, когда файлов много и они раздаются наружу: бэкапы, картинки и видео сайта, статика, логи, датасеты — платите только за занятый объём, место «не кончается», данные переживут смерть сервера. Обычный диск VPS нужен базам данных и всему, что требует низких задержек: у S3 доступ по HTTP-API, случайная запись в файл невозможна — объект перезаписывается целиком.

Частые вопросы

S3 это только Amazon?

Нет, S3 — это и сервис AWS, и протокол. Совместимый API предлагают Yandex Cloud, Selectel, VK Cloud, Cloud.ru, Wasabi, Backblaze B2 и open-source MinIO, который можно поднять на своём VPS.

Можно ли смонтировать S3 как диск?

Технически — да, через s3fs или rclone mount. Но это решение работает медленно и не подходит под базы данных. Для частой работы с файлами лучше держать их локально и синхронизировать.

Сколько стоит хранение в S3?

Зависит от провайдера и класса хранения. Ориентировочно 1–2 рубля за гигабайт в месяц плюс плата за исходящий трафик и API-запросы. Холодные классы (Glacier, Cold Storage) дешевле в разы, но с задержкой доступа.

S3 — это только Amazon?

Нет. S3 родился в Amazon Web Services, но протокол стал стандартом: S3-совместимые хранилища есть у Selectel, Timeweb Cloud, VK Cloud, Yandex Cloud и десятков других провайдеров. Инструменты одни и те же — меняются только endpoint и ключи доступа.

Чем S3 отличается от обычного диска или FTP?

S3 — объектное хранилище с доступом по HTTP-API: файлы нельзя редактировать на месте, только загружать и скачивать целиком. Зато объём практически безграничен, оплата за фактически занятое место, а любой объект можно раздавать по прямой ссылке — чего FTP и локальный диск не умеют.

Что такое бакет в S3?

Контейнер верхнего уровня, в котором лежат объекты — грубо говоря, «диск» с уникальным именем. Внутри бакета файлы адресуются ключами вида folder/file.jpg; «папки» в S3 условные — это просто префиксы в ключах.

Можно ли хранить бэкапы сайта в S3?

Это один из главных сценариев: бэкапы живут отдельно от сервера и переживут любую аварию на нём. Настраивается за минуты — rclone или restic по расписанию в cron, либо готовый плагин бэкапов в WordPress/панели хостинга.