Определение простыми словами
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/панели хостинга.