Amazon S3 — объектное хранилище¶
Amazon S3 (Simple Storage Service) — масштабируемое объектное хранилище в облаке Amazon Web Services (AWS), предоставляющее пользователям доступ к сохранённым данным через HTTP/HTTPS-интерфейс по протоколу S3 API. Сервис запущен в 2006 году и стал одним из первых коммерческих публичных облачных сервисов. S3 является одним из наиболее распространённых решений для хранения объектных данных в индустрии: по состоянию на 2020-е годы в нём хранится более 100 триллионов объектов.
¶Общие сведения
В S3 данные хранятся в виде объектов — файлов произвольного формата вместе с метаданными и уникальным идентификатором. Объекты размещаются в бакетах (bucket) — виртуальных «папках», имена которых уникальны в пределах облака AWS. Размер одного объекта может достигать 5 ТБ. Доступ к объектам осуществляется через REST-подобный API: каждый бакет и объект имеет уникальный URL-адрес.
Ключевые характеристики S3:
- Долговечность данных — заявленный показатель 99,999999999% (11 девяток) за год, что обеспечивается репликацией объектов как минимум на три физических сервера.
- Масштабируемость — хранилище не имеет заявленного ограничения объёма, ресурсы выделяются автоматически.
- Доступность — SLA гарантирует доступность 99,9% (для стандартного класса), при оплате за фактическое использование.
- Безопасность — шифрование данных при хранении и передаче, управление доступом через IAM-политики, ACL и политики бакетов.
¶Классы хранения
S3 предлагает несколько классов хранения, различающихся временем доступа, задержкой и стоимостью:
| Класс | Назначение | Минимальный срок хранения |
|---|---|---|
| S3 Standard | Частый доступ, данные «горячие» | — |
| S3 Intelligent-Tiering | Автоматический перенос между классами | — |
| S3 Standard-IA | Редкий доступ с высокой скоростью | 30 дней |
| S3 One Zone-IA | Редкий доступ, один AZ | 30 дней |
| S3 Glacier / Glacier Deep Archive | Архивное хранение, восстановление от минут до 12 часов | 90 дней / 180 дней |
¶Возможности и функции
Помимо базового хранения, S3 предоставляет:
- Версионирование — сохранение предыдущих версий объектов, защита от случайного удаления.
- Сжатие и шифрование — серверное шифрование (SSE-S3, SSE-KMS, SSE-C), опциональное сжатие.
- Репликация — кросс-региональная (CRR) и кросс-аккаунтная репликация.
- События — уведомления при создании/изменении объектов (интеграция с Lambda, SQS, SNS).
- S3 Select — выполнение SQL-подобных запросов к объектам без их полной загрузки.
- Lifecycle-политики — автоматический переход между классами и удаление устаревших данных.
- S3 Versioning и Object Lock — защита от изменений и удаления, включая соответствие требованиям WORM.
¶Протокол S3 и совместимые реализации
Протокол S3 стал де-факто отраслевым стандартом для объектных хранилищ. На его основе созданы совместимые продукты:
- MinIO — open-source объектное хранилище, совместимое с S3 API, разворачиваемое на собственной инфраструктуре.
- Ceph RGW — объектный шлюз в составе распределённой файловой системы Ceph.
- Yandex Object Storage — российский сервис S3-совместимого хранения в облаке Yandex Cloud.
- VK Cloud Solutions, Selectel — российские облачные провайдеры, предоставляющие S3-совместимые хранилища.
¶Применение
S3 и совместимые с ним хранилища используются для:
- резервного копирования и хранения резервных копий;
- хранения медиаконтента (видео, изображения, аудио);
- размещения статических веб-сайтов (прямая раздача HTML, CSS, JS);
- хранения больших объёмов данных для аналитики и машинного обучения;
- хранения логов и телеметрии;
- как хранилище «холодных» архивов.
¶Стоимость
Модель оплаты S3 — помимо платы за хранение (в ГБ/месяц), включает плату за количество запросов (PUT, GET, DELETE) и исходящий трафик. В российских S3-совместимых облаках тарифы, как правило, ниже зарубежных аналогов.
¶Интересные факты
- S3 был запущен 14 марта 2006 года — это один из первых коммерческих сервисов AWS.
- В 2017 году из-за ошибки в конфигурации политики доступа бакета S3 были временно раскрыты данные десятков компаний, включая Apple, Verizon и национальные структуры США.
- В 2021 году AWS запустил S3 Glacier Instant Retrieval — класс для архивных данных с мгновенным доступом.
Источники:
- Документация Amazon Web Services по Amazon S3
- Обзоры объектных хранилищ (MinIO, Ceph)
- Публикации о запуске и развитии AWS S3
