Облачные вычисления

Object Storage: S3, GCS

Netflix хранит 10+ экзабайт видеоконтента. Airbnb автоматически архивирует терабайты логов. Dropbox начинался как обёртка над S3. Object Storage - фундамент облачной инфраструктуры.

  • **Netflix Open Connect:** собственная CDN для доставки видео, но мастер-копии фильмов хранятся на S3. Lifecycle rules перемещают старые выпуски в Glacier через 6 месяцев, экономя миллионы долларов.
  • **Airbnb:** Все изображения жилья (миллиарды фото) на S3 с CloudFront CDN. CRR реплицирует в eu-west-1 для GDPR соответствия. Lifecycle policy: фото удалённых объявлений -> Glacier через 90 дней.
  • **Slack:** Загруженные файлы пользователей на S3. Object Lock в COMPLIANCE режиме для Enterprise клиентов с требованиями data retention (финансовые компании, медицина). Versioning защищает от accidental deletes.

Buckets

Object Storage - хранение неструктурированных данных (файлы, изображения, видео, резервные копии) в виде объектов с метаданными. AWS S3, Google Cloud Storage (GCS), Azure Blob Storage - три ведущих провайдера. Объекты адресуются через bucket + key. Netflix хранит 10+ экзабайт на S3. Dropbox исторически построен на S3, хотя позже перешёл на собственную инфраструктуру.

S3 vs GCS: похожи по функциональности. S3 - стандарт де-факто, лучшая интеграция с AWS экосистемой. GCS - лучшая производительность для аналитики BigQuery. Оба поддерживают: версионирование, lifecycle rules, реплику между регионами, presigned URLs.

Зачем блокировать публичный доступ к S3 bucket если файлы планируется отдавать через CloudFront?

Lifecycle

S3 Lifecycle Policies автоматически переносят объекты между storage классами и удаляют их по правилам. S3 Standard (0.023$/GB) -> S3 Intelligent-Tiering -> S3 Standard-IA (редкий доступ) -> S3 Glacier Instant (архив) -> S3 Glacier Deep Archive (0.00099$/GB). Airbnb экономит миллионы долларов в год автоматически архивируя логи через lifecycle rules.

S3 Intelligent-Tiering автоматически перемещает объекты между Frequent Access и Infrequent Access уровнями на основе паттернов доступа - без lifecycle rules. Оптимален когда паттерн доступа непредсказуем. Minimum storage duration: 30 дней для Standard-IA, 90 дней для Glacier.

AbortIncompleteMultipartUpload в lifecycle policy решает какую проблему?

Versioning

S3 Versioning сохраняет все версии объекта при каждом изменении. Удаление объекта добавляет Delete Marker (объект не уничтожается). Защита от случайного удаления и перезаписи. Object Lock (WORM - Write Once Read Many) добавляет compliance режим: файлы нельзя удалить в течение retention period даже с правами администратора. Используется для финансовой документации, медицинских записей (SOC2, HIPAA).

MFA Delete требует многофакторной аутентификации для удаления версий или отключения versioning. Дополнительная защита против insider threats и компрометированных credentials. Только root account может включить MFA Delete.

Что происходит при 'удалении' объекта в S3 bucket с включённым versioning?

Replication

S3 Replication копирует объекты между bucket'ами асинхронно. CRR (Cross-Region Replication) - между регионами для disaster recovery и снижения латентности. SRR (Same-Region Replication) - для разделения окружений (prod -> staging copy). Версионирование должно быть включено на обоих bucket'ах. RTO (Recovery Time Objective) через CRR: секунды-минуты для новых объектов.

S3 Replication Time Control (RTC) гарантирует репликацию 99.99% объектов в течение 15 минут - с SLA. Стандартная репликация не даёт гарантий по времени. RTC нужен для compliance требований (GDPR: данные должны быть реплицированы в EU в течение X минут).

В чём ключевое отличие S3 Replication Time Control (RTC) от стандартной репликации?

Ключевые идеи

  • **Bucket security:** Block Public Access + bucket policy ограничивающая доступ через VPC Endpoint или CloudFront OAC. Шифрование SSE-S3 или SSE-KMS по умолчанию.
  • **Lifecycle rules:** автоматический переход S3 Standard -> Standard-IA (30д) -> Glacier IR (90д) -> Deep Archive (365д) -> Delete (2555д). AbortIncompleteMultipartUpload чистит брошенные загрузки.
  • **Versioning + Replication:** Versioning сохраняет все версии, удаление создаёт Delete Marker. Object Lock COMPLIANCE = нельзя удалить никому. CRR + RTC для disaster recovery с SLA 15 минут.

Связанные темы

Object Storage - основа многих облачных сервисов:

  • CDN и CloudFront — S3 Origin + CloudFront OAC - стандартная архитектура для раздачи статики. S3 Transfer Acceleration использует CloudFront edge для ускорения загрузки в bucket
  • Data Lakes и Athena — S3 - стандартное хранилище для Data Lake. Athena выполняет SQL-запросы напрямую по S3-файлам в форматах Parquet/ORC без ETL
  • Lambda и Event Notifications — S3 Event Notifications триггерят Lambda при загрузке объектов: обработка изображений, валидация, ETL-пайплайны

Вопросы для размышления

  • Как рассчитать экономию от lifecycle rules для bucket с 10TB логов, растущих на 500GB в месяц?
  • Когда использовать S3 Intelligent-Tiering вместо явных lifecycle rules, и каков overhead за мониторинг объектов?
  • Как настроить cross-account доступ к S3 bucket через bucket policy без использования IAM roles?

Связанные уроки

  • db-17-nosql-overview
Object Storage: S3, GCS

0

1

Войти