S3 хранилище — это сервис, куда файлы кладут не в папки на диске сервера, а по одному, каждый со своим адресом, и забирают обратно по обычной ссылке или через программный запрос. Такой формат называют объектным: единица хранения здесь не «файл в каталоге», а объект — содержимое плюс описание к нему. Платят не за арендованный диск целиком, а за реально занятые гигабайты и за обращения к ним. Если проект упирается в место, начните со сравнения тарифов в разделе VPS с большим хранилищем.
Материал для тех, кто ещё ни разу не заводил бакет: чем объектное хранилище отличается от диска на сервере, почему буквы «S3» встречаются у десятка провайдеров, из чего складывается счёт, какие четыре задачи сервис закрывает на практике и что нажимать, чтобы залить первый файл. В конце — разбор частых ошибок и ответы на вопросы.
Что такое объектное хранилище простыми словами
Представьте гардероб в театре: вы отдаёте пальто, получаете номерок и не думаете, на какой вешалке оно висит. Объектное хранилище устроено так же — вы отдаёте файл и получаете ключ, а как данные разложены по дискам, вас не касается.
На обычном сервере всё иначе: там есть дерево каталогов вида /var/www/uploads/2026/09/photo.jpg, и путь жёстко привязан к диску конкретной машины. Объект же лежит не «на диске номер три», а в общем пуле из сотен дисков, и система сама держит несколько его копий на разном оборудовании. Определение мы собрали в глоссарии — объектное хранилище.
У каждого объекта три части: содержимое, уникальный ключ вроде images/2026/photo.jpg и метаданные — тип файла, дата загрузки, произвольные пометки. Ключ выглядит как путь со слэшами, но папок в хранилище нет: слэш здесь просто символ в имени, а интерфейсы рисуют из таких имён привычные «папки».
Отсюда главное следствие. Объектное хранилище не умеет работать как диск: на него нельзя поставить базу данных, дописать байты в середину файла или запустить оттуда программу. Объект меняют целиком. Зато раздавать такие файлы можно параллельно тысячам пользователей, и объём почти не ограничен.
Почему S3 — это протокол, а не название одной компании
Аббревиатура S3 расшифровывается как Simple Storage Service. Первым такой сервис в 2006 году запустил Amazon, и его способ общения — набор HTTP-запросов и правил подписи — стал отраслевым стандартом. Сегодня «S3» означает в первую очередь протокол: провайдер поднимает своё хранилище, но принимает те же команды, что и оригинал. Термин с историей разобран в статье глоссария S3.
Для вас это означает свободу выбора. Один и тот же клиент — консольная утилита, плагин WordPress, библиотека для Python или PHP — работает с российским, европейским и любым другим S3-совместимым хранилищем. Меняются три параметра: адрес точки входа (эндпоинт), ключ доступа и секретный ключ. Код при этом не переписывают.
Из-за этого «S3-совместимое хранилище» встречается в прайсах десятков компаний, и продукт Amazon здесь только точка отсчёта. Совместимость, впрочем, не бывает стопроцентной. Базовые операции — загрузить объект, скачать, удалить, получить список, выдать временную ссылку — работают везде. Экзотика вроде правил жизненного цикла и версионирования поддерживается выборочно, и это проверяют в документации до миграции, а не после.

Диск на сервере против объектного хранилища: таблица различий
Диск виртуального сервера и объектное хранилище решают разные задачи, поэтому правильный вопрос звучит не «что лучше», а «что под какую нагрузку». Диск быстрый, но маленький и привязанный к одной машине. Хранилище медленнее на единичной операции, зато тянет любой объём и не умирает вместе с сервером.
В таблице — пять критериев, по которым разница видна яснее всего. Под «диском» имеется в виду дисковый объём тарифа VPS, под «хранилищем» — S3-совместимый сервис того же провайдера.
| Критерий | Диск на сервере | Объектное хранилище S3 |
|---|---|---|
| Цена за объём | Оплачивается весь диск тарифа, даже если занято 3 ГБ из 30 ГБ | Оплачиваются фактически занятые гигабайты плюс трафик и запросы |
| Скорость доступа | Единицы миллисекунд, скорость NVMe-накопителя | Десятки миллисекунд на объект: запрос идёт по сети через HTTP |
| Масштабирование | Ручное: сменить тариф, иногда с перезагрузкой и остановкой сервиса | Автоматическое: 5 ГБ и 5 ТБ заливаются одинаково, без заявок |
| Отказоустойчивость | Данные в одной машине; при потере диска спасает только резервная копия | Несколько копий объекта на разном оборудовании внутри сервиса |
| Раздача файлов | Раздаёт веб-сервер: он же тратит процессор и память на отдачу | Прямая ссылка из хранилища, сервер приложения не участвует |
Показательна последняя строка. Когда посетитель качает с вашего VPS видео на 800 МБ, соединение веб-сервера занято всё время скачивания, и десяток таких загрузок просаживает сайт на тарифе с 1 ГБ памяти. Из хранилища те же байты идут мимо сервера.
Бакеты, ключи доступа и эндпоинт: минимальный словарь
Бакет (bucket, «корзина») — контейнер верхнего уровня. Внутри одного проекта их обычно заводят несколько: отдельно для публичной статики сайта, отдельно для приватных бэкапов, отдельно для пользовательских загрузок. Имя бакета часто входит в адрес файла и должно быть уникальным в пределах сервиса, поэтому backup вам не отдадут, а shop-backup-2026 — вполне.
Ключ доступа и секретный ключ — логин и пароль для программ. Первый передаётся открыто, вторым подписывается каждый запрос. Секрет показывают один раз, в момент создания пары: не сохранили — придётся выпускать заново.
Эндпоинт — адрес, куда клиент шлёт запросы, вида s3.provider.ru. У одного провайдера эндпоинтов бывает несколько, по одному на регион, и файл, загруженный в московский, не появится сам собой в европейском. Регион выбирают ближе к аудитории: разница в задержке между дата-центрами внутри страны и за её пределами доходит до 40–60 мс на запрос.
Четвёртое понятие — политика доступа: она задаёт, кто может читать бакет анонимно, кто писать по ключу, а кому разрешено только смотреть список объектов. По умолчанию новый бакет закрыт для всех, кроме владельца ключей.
Публичные и приватные объекты: как раздавать файлы и не подставиться
Публичный объект доступен любому, кто знает ссылку, без ключей и авторизации. Так держат картинки товаров, CSS и JavaScript сайта, обложки, PDF-прайсы — всё, что и так показывается посетителям. Ссылка постоянная, её можно вставить в вёрстку тегом img и закешировать на стороне браузера.
Приватный объект по прямой ссылке отдаёт ошибку 403. Чтобы показать его конкретному человеку, генерируют подписанную ссылку с ограниченным сроком жизни — например 15 минут или 24 часа. Потом она перестаёт работать, даже если её переслали в чат. Так раздают купленные файлы, договоры, выгрузки отчётов.
Ошибка, которая стоит дороже всего, — открыть публично весь бакет ради удобства. Вместе с картинками там почти всегда оказываются дампы базы и конфиги с паролями, а сканеры находят такие бакеты быстро: список объектов отдаётся одним запросом.
Рабочее правило — минимум два бакета. В публичном лежит только то, что не жалко показать миру, и перечисление списка там тоже стоит запретить. В приватном лежит всё остальное, доступ — исключительно по ключам и подписанным ссылкам, а ключи для разных задач выпускают разные: у скрипта бэкапа не должно быть прав на удаление.
Как считаются деньги: три статьи вместо одной
Диск VPS оплачивается фиксированной суммой: тариф с диском 10 ГБ стоит одинаково и при 2 ГБ занятого, и при 9,5 ГБ. В объектном хранилище счёт складывается из трёх частей — это главное отличие в экономике.
Первая часть — хранение: цена за один гигабайт в месяц, умноженная на средний объём за период. Вторая — исходящий трафик: сколько данных скачали пользователи; входящая загрузка обычно бесплатна. Третья — запросы: операции чтения, записи и получения списка считаются пачками по тысяче. Ставки у каждого провайдера свои, их смотрят в актуальном прайсе.
Для ориентира по второй части сметы приведём дисковые тарифы каталога — это та сумма, с которой начинается сам сервер.
| Провайдер | Стартовая цена | Диск в стартовом тарифе | Процессор и память |
|---|---|---|---|
| Selectel | от 200 ₽ / мес | 10 ГБ NVMe | 1 ядро, 1 ГБ |
| Beget | от 330 ₽ / мес | 10 ГБ NVMe | 1 ядро, 1 ГБ |
| Timeweb Cloud | от 477 ₽ / мес | 15 ГБ NVMe | 1 ядро, 1 ГБ |
Данные проверены 02.09.2026.
Считать выгоду нужно по всем трём статьям сразу. Архив, который скачивают раз в квартал, обходится почти в одну стоимость хранения. Галерея на 5000 картинок с тысячами открытий в день наберёт заметную часть суммы трафиком и запросами, и её стоит спрятать за кеширующий слой.

Когда S3 дешевле диска, а когда переплата
Считать удобно на конкретном объёме. Допустим, накопилось 400 ГБ видеоуроков. На виртуальном сервере это тариф с диском 500 ГБ, и платите вы за все 500 ГБ ежемесячно. В хранилище вы платите за 400 ГБ, а когда удалите старый курс на 80 ГБ, счёт в следующем месяце уменьшится сам.
Вторая ситуация, где S3 хранилище выигрывает, — неровный рост. Пользовательские загрузки могут за месяц дать 30 ГБ, а могут 300 ГБ: с диском вы либо держите запас и переплачиваете, либо ловите переполнение в выходные.
Обратная сторона — сценарии, где хранилище проигрывает. Если файлы маленькие и читаются постоянно (кеш, сессии, индексы, база данных), каждая операция превращается в сетевой запрос: задержка вырастет с 1–2 мс до 30–50 мс, а счётчик запросов будет накручиваться круглосуточно. Такие данные оставляют на локальном диске, и тогда разумнее взять тариф из подборки VPS с большим объёмом HDD.
Третий вариант — гибрид, и на практике он встречается чаще всего. Рабочие данные и база живут на диске VPS, а холодные — копии, медиаархив, старые выгрузки — уезжают в хранилище. Сервер тогда берут на пару тарифных ступеней скромнее.
Четыре реальные задачи, ради которых заводят S3
Первая и самая массовая — резервные копии. Копия на том же сервере, что и сайт, не спасает от его потери, поэтому бэкапы уносят наружу. Скрипт создаёт архив, заливает объект с именем вида backup-2026-09-02.tar.gz, а правило жизненного цикла удаляет копии старше 30 дней. Как собрать такую схему, описано в руководстве настройка бэкапов VPS.
Вторая задача — статика сайта: картинки, стили, скрипты, шрифты. Их выносят из папки проекта в публичный бакет и раздают напрямую, чтобы веб-сервер не тратил процессор на отдачу мелких файлов. Для магазина с 20 000 фотографий товаров это снимает и вопрос переполнения диска.
Третья — тяжёлый медиаархив: видео, вебинары, сканы документов. Объём растёт быстрее всего, а обращаются к файлам редко, и платить за постоянно занятый диск на 2 ТБ невыгодно. Связка «хранилище плюс сеть доставки контента» отдаёт зрителю поток без нагрузки на основной сервер.
Четвёртая — пользовательские файлы: аватары, вложения в тикетах, загруженные документы. Их объём непредсказуем и зависит от числа клиентов. Плюс хранилища здесь в том, что при переезде приложения на другой сервер файлы никуда не едут: меняется адрес сервера, а бакет остаётся прежним.
Как подключить объектное хранилище: пошаговый порядок
Первый рабочий сценарий собирается примерно за 20–30 минут. Ниже — последовательность, одинаковая у большинства провайдеров; отличаются только названия кнопок в панели.
- Создайте бакет в панели провайдера. Задайте уникальное имя латиницей без пробелов, выберите регион ближе к аудитории и оставьте тип доступа «приватный».
- Выпустите пару ключей: ключ доступа и секретный ключ. Секрет показывается один раз — сразу сохраните его в менеджер паролей, а не в файл на рабочем столе.
- Запишите эндпоинт из карточки бакета. Он понадобится клиенту вместе с именем региона, например
ru-1. - Установите консольный клиент, совместимый с S3, и пропишите в его конфиге четыре значения: эндпоинт, регион, ключ доступа, секрет.
- Залейте пробный файл на 1–2 МБ и получите список объектов бакета. Если список вернулся — связка настроена верно.
- Настройте правило автоудаления для служебных объектов: например, стирать всё старше 30 дней в папке с бэкапами.
- Только после проверки откройте публичный доступ там, где он нужен, — и лишь на отдельный бакет со статикой.
Проверять результат стоит с другой машины и в режиме инкогнито. Если приватный объект открывается по прямой ссылке без подписи, доступ настроен неправильно — чините до того, как в бакет поедут настоящие данные.
Частые ошибки новичков
Большая часть проблем возникает не из-за сложной техники, а из-за пары неверных решений на старте. Они повторяются от проекта к проекту и обходятся дорого: то счёт вырастает вчетверо, то в открытый доступ уезжает дамп базы.
Перед запуском пройдите по списку и убедитесь, что ни один пункт про вас не написан.
- Открывать весь бакет публично «на время отладки» и забыть закрыть после релиза.
- Хранить в S3 базу данных или файлы сессий и удивляться задержкам в 30–50 мс.
- Не ставить правило жизненного цикла: ежедневный бэкап за год превращается в 365 архивов.
- Использовать один ключ на все сервисы, включая скрипты с правом удаления объектов.
- Считать только хранение и не заметить в счёте исходящий трафик при раздаче видео.
- Раздавать статику напрямую из хранилища на большую аудиторию, не поставив перед ним кеширующий слой.
Отдельная ловушка — уверенность, что копия в хранилище равна проверенной копии. Резервная копия считается рабочей только после того, как вы хотя бы раз развернули её на тестовом сервере.
Частые вопросы
Чем S3 отличается от обычного облачного диска? Облачный диск сделан для человека: интерфейс, папки, синхронизация с компьютером, корзина. S3 сделан для программ: доступ по ключам через запросы, зато сервис выдерживает тысячи параллельных обращений и не ограничивает объём. Разницу разбирает и статья глоссария про файловое хранилище.
Можно ли поставить сайт целиком в объектное хранилище? Статический сайт из HTML, CSS и картинок — да, многие провайдеры умеют отдавать содержимое бакета как веб-страницы. Динамический сайт на PHP или Python — нет: хранилище не выполняет код, ему нужен сервер рядом. Обычно берут связку «VPS для кода плюс бакет для медиа».
Сколько стоит объектное хранилище в месяц? Итог складывается из трёх статей: гигабайты хранения, исходящий трафик и количество запросов. Одна и та же сотня гигабайт обходится по-разному: спокойный архив дешевле активной галереи с тысячами скачиваний в сутки. Ставки за гигабайт и за тысячу запросов смотрите в прайсе провайдера.
Что будет, если превысить оплаченный объём? Превышать нечего: вы не покупаете объём заранее, а платите по факту. Поэтому и нужны правила автоудаления — иначе счёт растёт незаметно, в отличие от диска VPS, который просто заканчивается.
Данные в S3 могут потеряться? Сервис хранит несколько копий каждого объекта на разном оборудовании, поэтому выход из строя одного диска не приводит к потере. От вашей ошибки это не спасает: удалённый по неосторожности объект исчезнет, если не включено версионирование.
Нужно ли включать HTTPS при работе с хранилищем? Да, и почти все клиенты по умолчанию работают только по защищённому соединению. Подпись запроса без шифрования канала оставляет содержимое файлов открытым для чтения по пути, а отключать проверку сертификата ради удобства не стоит.
Подойдёт ли S3 для видеоархива на несколько терабайт? Это один из самых удобных для него сценариев: объём растёт без смены тарифа, а редко открываемые записи можно перевести в холодный класс хранения, который дешевле. Держать те же 3 ТБ на диске сервера дороже и менее гибко — обзор тарифов под такие задачи есть в подборке дисковых хостингов.
Итог
Объектное хранилище S3 — это не замена диску, а второй тип памяти для проекта: медленнее на единичной операции, но безразмерный, оплачиваемый по факту и не привязанный к конкретной машине. Бэкапы, статика, медиаархив и пользовательские файлы уходят туда почти всегда с выигрышем, а база данных и кеш остаются на локальном NVMe.
Практичная схема для небольшого проекта выглядит так: скромный сервер от 200–477 ₽ в месяц под код и базу плюс бакет под всё тяжёлое. Подобрать первую часть связки можно в разделе VPS с хранилищем, где тарифы отсортированы по объёму диска и цене, а если нужен масштабируемый вариант — посмотрите облачные VPS.