Что такое S3: объектное хранилище простыми словами — инструкция для новичка
Что такое S3, чем оно отличается от обычного диска и когда оно нужно сайту, разберём на примерах в блоге HostingFAQ. Вы узнаете, как устроены бакеты и объекты, какие у хранилища лимиты, из чего складывается цена, и пройдёте путь от создания бакета до первой загрузки файла командой.

Коротко
- S3 (Simple Storage Service) — объектное хранилище: файлы лежат в бакетах и доступны по HTTPS, порт 443.
- Сервис появился в 2006 году у Amazon; сегодня его протокол поддерживают и другие провайдеры, в том числе российские.
- В AWS S3 один объект может весить до 5 ТБ, а заявленная долговечность Standard — 99,999999999% (11 девяток).
- Имя бакета — от 3 до 63 символов: строчные латинские буквы, цифры и дефисы.
- Первый файл загружается за 8 шагов: бакет, ключи доступа, настройка клиента и команда копирования, около 15 минут.
- Платить обычно приходится за хранение, исходящий трафик и число запросов; точные цены зависят от провайдера и тарифа.
Что такое S3 простыми словами
S3 (Simple Storage Service) — объектное хранилище: файлы лежат в контейнерах, которые называются бакетами (bucket), и доступны по HTTPS (HyperText Transfer Protocol Secure — защищённый протокол передачи данных) через порт 443. Работать с ним можно через API (Application Programming Interface — программный интерфейс) или клиенты вроде AWS CLI и s3cmd. Каждый файл в хранилище называется объектом.
Сервис запустила Amazon в 2006 году. Его протокол стал стандартом, и сегодня S3-совместимые хранилища предлагают и другие провайдеры, например Timeweb Cloud. Поэтому одни и те же команды работают у разных сервисов, меняется только адрес, который задаёт параметр --endpoint-url. Как данные ходят по сети, разбирает материал о сетевых протоколах.
От папки на диске S3 отличается устройством. Вложенных каталогов здесь нет: у каждого объекта есть имя бакета и ключ — уникальная строка, по которой файл находят. Косые черты в ключе лишь имитируют папки. Например, файл photo.jpg в бакете hostingfaq-demo может иметь ключ images/photo.jpg.
Что важно знать о S3 с самого начала:
- в AWS S3 один объект весит до 5 ТБ;
- заявленная долговечность AWS S3 Standard — 99,999999999% (11 девяток);
- имя бакета содержит от 3 до 63 символов: строчные латинские буквы, цифры и дефисы;
- новый бакет по умолчанию приватный, публичным его делают вручную.
Если вам нужен полноценный сервер с системой и программами, а не только место для файлов, посмотрите, как устроена аренда виртуального сервера.
Как устроено S3: бакеты, объекты и ключи
Данные в S3 хранятся на трёх уровнях. Бакет (bucket) — контейнер верхнего уровня, например hostingfaq-demo. Объект — файл вместе с метаданными: размером, типом содержимого и датой изменения. Ключ — полное имя объекта внутри бакета, например images/photo.jpg.
Папок в S3 нет. Слэш в ключе — обычный символ, а клиенты лишь показывают его как разделитель каталогов. Префикс images/ объединяет ключи по имени, но отдельного каталога не создаёт. Если вы привыкли к файловой структуре, как в домашнем NAS-сервере, учитывайте эту разницу при переносе файлов.
Доступ идёт по HTTPS (защищённому протоколу HTTP) через порт 443. Каждый запрос подписывается парой ключей: Access Key — это идентификатор, Secret Key — секрет, который нельзя публиковать. По умолчанию бакет приватный, а публичное чтение вы включаете вручную через права доступа.
Запомните три правила, которые влияют на работу с файлами:
- Имя бакета содержит от 3 до 63 символов: строчные латинские буквы, цифры и дефисы.
- Один запрос загружает объект размером до 5 ГБ.
- Файлы крупнее 5 ГБ уходят через multipart-загрузку: объект режется на части, их может быть до 10 000.

Для чего нужно S3: примеры использования
S3 удобно там, где файлов много, они растут и их не нужно править на месте. Размер диска VPS ограничен тарифом, а при переезде или поломке сервера данные приходится переносить вручную. В бакете файлы живут отдельно от сервера и доступны по HTTPS. Если выбираете сервер, посмотрите ответы на частые вопросы о VPS.
Второй плюс — нагрузка. Когда сайт отдаёт видео по 200 МБ с диска VPS, сервер тратит трафик и процессор на файлы, а не на страницы. Хранилище берёт эту работу на себя.
Вот пять типичных сценариев:
- Картинки и видео сайта: файл лежит в бакете
hostingfaq-demoпо ключуimages/photo.jpg, а на VPS остаётся только код сайта. - Резервные копии: дамп базы раз в сутки и хранение 30 копий, как описано в материале про резервное копирование.
- Статика для CDN (Content Delivery Network, сеть доставки контента): CSS, JS и шрифты в бакете служат источником, который кэширует CDN вроде Cloudflare.
- Логи и архивы: ежемесячный архив логов на 5 ГБ обычно дешевле хранить в бакете, чем занимать им диск сервера.
- Файлы приложений: пользовательские загрузки лежат в бакете, а приложение выдаёт доступ по временной ссылке на 3600 секунд.
Как начать работать с S3: пошаговая инструкция
Первая загрузка файла в S3 занимает около 15 минут. Вам понадобятся аккаунт у провайдера с S3-хранилищем, терминал и любой файл, например photo.jpg.
Дальше используем сквозной пример: бакет hostingfaq-demo, файл photo.jpg и ключ объекта images/photo.jpg. Имя бакета содержит от 3 до 63 символов: строчные латинские буквы, цифры и дефисы. Если вы раньше передавали файлы на сервер по FTP, сравните подходы на примере подключения через FileZilla.
Пройдите восемь шагов по порядку:
- Откройте панель провайдера и создайте бакет
hostingfaq-demo. По умолчанию он приватный, так и оставьте. - Выпустите пару ключей: Access Key (идентификатор) и Secret Key (секрет). Секрет показывают один раз, сохраните его и никому не передавайте.
- Установите AWS CLI (Amazon Web Services Command Line Interface) — консольный клиент, который работает с любым S3-совместимым хранилищем.
- Выполните
aws configureи введите Access Key, Secret Key и регион, который указан в панели. Формат вывода можно оставить пустым. - Если бакет не создан в панели, создайте его командой
aws s3 mb s3://hostingfaq-demo --endpoint-url <адрес>. - Загрузите файл:
aws s3 cp photo.jpg s3://hostingfaq-demo/images/ --endpoint-url <адрес>. - Проверьте результат:
aws s3 ls s3://hostingfaq-demo/images/ --endpoint-url <адрес>. В списке появитсяphoto.jpg. - Получите временную ссылку:
aws s3 presign s3://hostingfaq-demo/images/photo.jpg --expires-in 3600 --endpoint-url <адрес>. Она работает 3600 секунд, то есть 1 час.
Вместо <адрес> подставьте адрес сервиса из панели провайдера: у разных провайдеров он отличается. Обращения идут по HTTPS через порт 443. Если для сайта пока нет сервера, посмотрите ответы на частые вопросы о VPS.

Какие лимиты и сколько стоит S3
У объектного хранилища есть технические пределы, которые стоит знать до первой загрузки. Лимиты в таблице указаны для AWS S3. У других провайдеров значения могут отличаться, поэтому сверяйте их с документацией выбранного сервиса.
Цена складывается из трёх частей: хранения данных (обычно за гигабайт в месяц), исходящего трафика, то есть скачивания файлов из бакета, и запросов на загрузку, чтение и просмотр списка объектов. Точные суммы зависят от провайдера и тарифа, поэтому здесь их нет. Актуальные тарифы смотрите в базе знаний Timeweb Cloud или у другого выбранного провайдера.
Оценивая бюджет, считайте не только объём файлов, но и трафик с запросами: для сайта с частыми скачиваниями они могут стоить больше самого хранения. Если сравниваете облако со своим железом, прочитайте про домашний сервер для хранения данных.
| Параметр | Значение в AWS S3 |
|---|---|
| Размер одного объекта | до 5 ТБ |
| Загрузка одним запросом | до 5 ГБ |
| Частей в multipart-загрузке | до 10 000 |
| Длина имени бакета | 3–63 символа |
| Порт доступа (HTTPS) | 443 |
| Долговечность Standard | 99,999999999% (11 девяток) |
Частые ошибки при работе с S3 и как их исправить
Новички в S3 (Simple Storage Service) чаще всего сталкиваются с четырьмя проблемами: открытым бакетом, ошибкой AccessDenied (403), ошибкой SignatureDoesNotMatch и сообщением NoSuchBucket. Каждую можно исправить за несколько минут, если знать причину.
Разберём их на примере бакета hostingfaq-demo и файла images/photo.jpg.
Открытый бакет: файлы доступны всем
Причина: бакет вручную сделали публичным, и любой человек скачивает файлы по прямой ссылке. Это грозит утечкой данных и лишним исходящим трафиком, как при атаке на перегрузку сервиса. Решение: верните бакету приватный доступ и раздавайте файл временной ссылкой: aws s3 presign s3://hostingfaq-demo/images/photo.jpg --expires-in 3600 --endpoint-url <адрес сервиса>. Ссылка работает 3600 секунд, то есть 1 час.
AccessDenied (403): доступ запрещён
Причина: ключи доступа указаны неверно либо у ключа нет прав на этот бакет. Решение: в панели провайдера проверьте, что ключу разрешены чтение и запись в нужный бакет, и убедитесь, что в команде указано его точное имя.
SignatureDoesNotMatch: подпись не совпала
Причина в одном из трёх случаев:
- опечатка в Secret Key;
- неверный адрес в параметре
--endpoint-url; - сбитое время на компьютере.
Решение: выполните aws configure и введите ключи заново, сверьте endpoint с данными провайдера и включите автоматическую синхронизацию времени в настройках системы.
NoSuchBucket или «имя уже занято»
Причина: в команде опечатка в имени, либо имя бакета уже занято, потому что оно должно быть уникальным. Допустимы 3–63 символа: строчные латинские буквы, цифры и дефисы. Решение: сверьте имя командой aws s3 ls или подберите другое и создайте бакет через aws s3 mb.
Почти все ошибки S3 сводятся к ключам, адресу сервиса и имени бакета, поэтому при сбое проверяйте их первыми. Приватный бакет и временные ссылки закрывают главный риск утечки.
S3, диск VPS, NAS или FTP: что выбрать
S3 не заменяет системный диск. Операционная система, код сайта и файлы базы данных, например каталог /var/lib/mysql, работают с блочным диском: он читает и пишет мелкими фрагментами. S3 хранит объекты целиком и отдаёт их по HTTPS (порт 443), поэтому как папка для базы данных он не подходит.
NAS (Network Attached Storage, сетевое хранилище) удобен дома: файлы доступны со всех устройств в локальной сети. FTP (File Transfer Protocol) подходит для разовой передачи, а не для постоянного хранения. Про домашние варианты читайте в материалах о выборе NAS-сервера и о домашнем сервере для хранения данных.
Сравните четыре варианта по основным критериям:
| Вариант | Тип данных | Доступ | Масштабирование | Подходит для | Главное ограничение |
|---|---|---|---|---|---|
| S3 | Объекты в бакетах | HTTPS и API, порт 443 | Растёт без смены тарифа, оплата по объёму | Бэкапы, статика сайта | Не файловая система, не для базы данных |
| Диск VPS | Блоки и файловая система | Внутри сервера, SFTP | Ограничено тарифом | Система, сайт, база данных | Объём привязан к тарифу сервера |
| NAS | Файлы и папки | Локальная сеть | Добавлением дисков до предела корпуса | Домашние файлы | Доступ извне требует настройки |
| FTP | Файлы и папки | FTP или SFTP | Зависит от сервера | Разовая передача файлов | Обычный FTP не шифрует трафик |
Рекомендация простая: статику и бэкапы храните в S3, например командой aws s3 cp backup.tar.gz s3://hostingfaq-demo/backups/. Систему и базу данных держите на диске VPS. Один объект в AWS S3 может весить до 5 ТБ, а заявленная долговечность Standard — 99,999999999%. Если сомневаетесь, какой сервер взять под систему, разберите ответы на частые вопросы о VPS.

Для кого S3 не подходит
S3 удобно для больших массивов файлов, но подходит не всем. Если на сайте лежит 50–100 МБ картинок, бакет, ключи доступа и параметр --endpoint-url отнимут больше времени, чем сэкономят. Хватит обычного диска VPS (Virtual Private Server, виртуальный сервер).
Базе данных и файлам, которые часто меняются частями, S3 мешает: объект нельзя поправить посередине, его перезаписывают целиком. Программам, которым нужна обычная файловая система с путями вроде /var/www/, S3 тоже не подойдёт. Для них берите диск VPS или NAS (Network Attached Storage, сетевое хранилище в вашей сети).
Если вы не работаете с ключами Access Key и Secret Key и командной строкой, S3 будет неудобным. Выберите облачное хранилище с приложением: файлы туда загружаются перетаскиванием.
Сверьтесь с коротким перечнем, что выбрать вместо S3:
- маленький сайт: диск VPS;
- база данных и часто меняющиеся файлы: диск VPS;
- программе нужна файловая система: диск VPS или NAS;
- нет навыков работы с ключами и командной строкой: облачное хранилище с приложением.
Какой бы вариант вы ни выбрали, держите минимум 1 копию данных вне основного хранилища. Настройте резервное копирование до того, как потеряете файлы.
Частые вопросы
Что такое S3 простыми словами?
Что значит S3 в названии хранилища у хостинга?
Чем S3 отличается от обычного диска?
Что такое бакет в S3?
Какого размера файл можно загрузить в S3?
Сколько стоит S3?
S3 — это платный сервис?
Как загрузить файл в S3?
Как дать другому человеку ссылку на файл из S3?
Можно ли хранить в S3 резервные копии сайта?
Безопасно ли хранить данные в S3?
Проверьте себя
- Вы можете объяснить, чем бакет отличается от объекта.
- Имя бакета содержит 3–63 символа: строчные латинские буквы, цифры и дефисы.
- Access Key и Secret Key сохранены в надёжном месте и не лежат в коде.
- Бакет приватный, а для обмена файлами используется временная ссылка.
- Команда aws s3 ls показывает загруженный файл.
- Вы понимаете, из чего складывается цена: хранение, трафик и запросы.
На сайте есть партнёрские ссылки: если вы оформите заказ по ним, мы получим вознаграждение от провайдера. Это не влияет на цену для вас и на место в рейтинге.