Открыть сервис

Amazon S3

Amazon S3 (Simple Storage Service) — это объектное хранилище, предоставляемое по модели облачных вычислений как услуга (IaaS/PaaS). Сервис предназначен для хранения, резервного копирования, архивирования и доставки произвольных данных (объектов) через интернет. Запущенный компанией Amazon Web Services (AWS) 14 марта 2006 года, S3 стал одним из первых и наиболее массовых облачных хранилищ, заложив стандарты для всей индустрии объектного хранения.

История и развитие

Идея создания S3 возникла из внутренней потребности Amazon. В начале 2000-х годов инженеры компании столкнулись с проблемой масштабирования инфраструктуры для собственного интернет-магазина и партнёрских сервисов. Разработкой руководил Крис Пинкхэм, а ключевым архитектором выступил Марк Фасиус.

Запуск и первые годы

Эволюция в 2010-е годы

Современный этап

К 2024 году S3 обрабатывает более 100 триллионов запросов в месяц, хранит сотни эксабайт данных и доступен в 33 географических регионах мира. Сервис постоянно расширяет функциональность, включая интеграцию с машинным обучением, аналитикой и пограничными вычислениями.

Архитектура и принципы работы

Объектная модель

S3 работает по модели «ключ-значение», где каждый объект идентифицируется уникальным ключом в рамках бакета (bucket) — логического контейнера для хранения данных. Бакет создаётся пользователем в определённом регионе AWS.

Структура объекта:

Долговечность и доступность

Amazon гарантирует 99,999999999% (11 девяток) долговечности данных в течение года. Это достигается автоматическим реплицированием данных как минимум в три зоны доступности (Availability Zones) в рамках региона. Доступность сервиса составляет 99,99% для стандартного класса хранения.

Классы хранения

S3 предлагает несколько классов хранения, оптимизированных по стоимости и времени доступа:

КлассЗадержка доступаСтоимость храненияСтоимость извлеченияТипичное применение
S3 StandardмиллисекундывысокаянизкаяАктивные данные, веб-сайты
S3 Intelligent-TieringмиллисекундысредняясредняяДанные с непредсказуемым доступом
S3 Standard-IAмиллисекундынизкаясредняяРезервные копии, медиа-файлы
S3 One Zone-IAмиллисекундыочень низкаясредняяВоспроизводимые данные
S3 Glacier Instant RetrievalмиллисекундынизкаявысокаяАрхивы с редким доступом
S3 Glacier Flexible Retrievalминуты-часыочень низкаявысокаяДолгосрочные архивы
S3 Glacier Deep Archive12-48 часовминимальнаяочень высокаяДанные для соответствия нормативам

Функциональные возможности

Управление доступом

S3 предоставляет многоуровневую систему безопасности:

Версионирование

Опция позволяет хранить несколько версий одного объекта под одним ключом. При включении версионирования:

Шифрование

Поддерживаются три модели шифрования:

  1. SSE-S3 — шифрование на стороне сервера ключами AWS (AES-256).
  2. SSE-KMS — шифрование с использованием AWS Key Management Service (KMS).
  3. SSE-C — шифрование на стороне сервера ключами, предоставленными клиентом.

Жизненные циклы объектов

Правила жизненного цикла позволяют автоматизировать:

Применение

Веб-хостинг

S3 используется для хранения статических файлов веб-сайтов (HTML, CSS, JavaScript, изображения). При включении функции статического хостинга бакет становится доступным по URL вида http://bucket-name.s3-website-region.amazonaws.com`. Крупные проекты, такие как Netflix и Airbnb, используют S3 для хранения статического контента.

Резервное копирование и архивирование

Сервис является популярным решением для бэкапов благодаря низкой стоимости и высокой долговечности. Интеграция с AWS Backup, Veeam и другими инструментами позволяет создавать автоматические резервные копии баз данных, файловых систем и виртуальных машин.

Хранение данных для аналитики

S3 служит центральным хранилищем для данных, обрабатываемых сервисами AWS Analytics (Amazon Athena, Amazon Redshift Spectrum, Amazon EMR). Форматы данных — Parquet, ORC, Avro, JSON, CSV.

Медиа-потоки и CDN

S3 интегрируется с Amazon CloudFront (CDN) для доставки видео, аудио и изображений с низкой задержкой. Потоковые сервисы, такие как Netflix, используют S3 для хранения исходных файлов, которые затем кодируются и распространяются через CloudFront.

Научные и государственные данные

S3 используется для хранения больших объёмов научных данных (например, данные спутников NASA), архивов государственных учреждений и медицинских изображений (DICOM).

Ограничения и критика

Технические ограничения

  • Максимальный размер объекта: 5 ТБ при многочастной загрузке.
  • Максимальное количество объектов в бакете: неограниченно, но практически ограничено производительностью API.
  • Задержка доступа: для классов Glacier и Deep Archive задержка может составлять часы.
  • Отсутствие блокировок на уровне файлов: S3 не поддерживает блокировки записи, что может вызывать проблемы при конкурентном доступе.

Экономические аспекты

  • Стоимость извлечения данных: для классов IA и Glacier плата за извлечение может превышать стоимость хранения при частом доступе.
  • Сложность прогнозирования затрат: множество факторов (регион, класс хранения, количество запросов, исходящий трафик) делают биллинг непредсказуемым.
  • Вендор-лок: миграция из S3 в другие хранилища требует значительных усилий из-за проприетарных API и форматов.

Безопасность и инциденты

Несмотря на встроенные механизмы безопасности, S3 стал причиной множества утечек данных из-за неправильной конфигурации:

  • 2017 год: Утечка данных 200 миллионов избирателей США из-за открытого бакета компании Deep Root Analytics.
  • 2019 год: Утечка 540 миллионов записей Facebook (организация Meta признана экстремистской и запрещена в РФ) из-за неправильно настроенного бакета.
  • 2021 год: Утечка данных 100 миллионов пользователей из-за открытых бакетов нескольких финтех-компаний.

Конкуренты и альтернативы

На рынке объектных хранилищ S3 конкурирует с:

  • Google Cloud Storage — аналогичный сервис с классами хранения и API, совместимым с S3.
  • Microsoft Azure Blob Storage — объектное хранилище с поддержкой горячего, холодного и архивного уровней.
  • Backblaze B2 — бюджетное хранилище с низкими тарифами на хранение.
  • MinIO — open-source объектное хранилище, совместимое с S3 API, для локального развёртывания.
  • Яндекс Объектное хранилище (Object Storage) — сервис, доступный в России, с API, совместимым с S3.

Влияние на индустрию

S3 установил де-факто стандарт для объектных хранилищ. Его API (RESTful интерфейс с подписями HMAC-SHA256) стал отраслевым протоколом, который эмулируют почти все конкурирующие сервисы. Концепция «бакетов», «ключей» и «классов хранения» вошла в лексикон IT-специалистов.

S3 также стимулировал развитие архитектуры «Data Lake» (озеро данных), где единое хранилище используется для всех типов данных без предварительной схемы. Это позволило компаниям отказаться от сложных и дорогих систем хранения данных (SAN, NAS) в пользу масштабируемых облачных решений.

Источники

  1. Amazon Web Services. «Amazon S3 Developer Guide» (2024).
  2. Varia, J. «Architecting for the Cloud: Best Practices» (AWS Whitepaper, 2018).
  3. Wittig, A., Wittig, M. «Amazon Web Services in Action» (Manning Publications, 2018).
  4. Reese, G. «Cloud Application Architectures» (O'Reilly Media, 2009).
  5. AWS re:Invent 2023 — Keynote by Dr. Werner Vogels.
  6. Gartner Magic Quadrant for Cloud Infrastructure and Platform Services (2023).
  7. Отчёты об инцидентах безопасности: UpGuard (2017), Comparitech (2019).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →