Включите исполнение JavaScript в браузере, чтобы запустить приложение.
26 мар 2025

Что такое объектное хранилище S3

Разбираем объектное хранилище S3: как и где лежат объекты, кто и как может получить к ним доступ. В каких случаях используют Object Storage S3, как сэкономить на облачной инфраструктуре и загрузить первый файл в облако! В обзоре вы найдете преимущества работы и нюансы развертывания инфраструктуры.

Что такое объектное хранилище S3

S3 — cервис, который позволяет хранить неструктурированные данные без ограничений по размеру и типу. Здесь нет классической иерархии, как в файловых системах, поэтому работать удобнее. Масштабировать систему проще: нет сложной структуры формата «папка —> в ней лежит папка —> в ней еще одна папка —> нужный файл».

Облачное объектное хранилище S3 на самом деле подразумевает два основных элемента:

  • объектное хранилище — плоское (не иерархическая структура);
  • S3 (Simple Storage Service) — защищенный протокол передачи данных.

S3 использует API, созданный сотрудниками Amazon Web Services (AWS). Любой объект, который лежит в Storage, можно получить по защищенному протоколу HTTP или HTTPS с помощью URL-ссылки. Дальше можно работать через Application Programming Interface (API) или веб-интерфейс. 

AW Sзапустила S3 в США в 2006 году. В 2007 сервис пришел в Европу. Сегодня комбинация Object Storage + протокол S3 — один из самых востребованных вариантов хранения данных в облаке. 

Как работает 

Облачный сервис предоставляет:

  • доступ к защищенному cloud-хранилищу;
  • API-интерфейс с прямым доступом к хранимым объектам через интернет;
  • дополнительные настройки, которые зависят от поставщика.

Объект (картинка, документ Word, таблица Excel, аудио, видео, образ виртуальной машины) содержит три основных элемента.

Идентификатор (ID), ключ (Key). Строка, с помощью которой можно идентифицировать объект и обратиться к нему. Чтобы работать с ним (просматривать, скачивать и так далее), нужна прямая ссылка. Она имеет формат https://<домен сервиса>/<имя бакета>/<ключ> или https://<бакет с доменом>/<имя объекта>. Способ формирования адреса Virtual-hosted-style в OBS подразумевает указание названия бакета в URL: https://bucket-name.obs.ru-moscow-1.hc.sbercloud.ru/object.name. Это предпочтительный вариант. Модель Path-style подразумевает, что Bucket указывают после URI-адреса: https://obs.ru-moscow-1.hc.sbercloud.ru/bucket-name/object.name.

Метаданные (Meta). Уникальные системные и пользовательские пары ключей, где информация об объекте: язык, тип содержимого, название. Нужны, чтобы находить объект по заданному значению, выгружать в хранилище, делать многое другое.

Содержимое (Data). Сами данные для хранения: архивы, изображения, образы виртуальных систем и прочие.

Объект в объектном облачном хранилище S3
Объект в объектном облачном хранилище S3

Чтобы работать с объектами было проще, используют корзины — бакеты (buckets). Это логическая сущность, при помощи которой организуют хранение данных и доступ к ним. Например, можно загрузить в бакет архивные документы по клиентам и открыть доступ только руководителям отдела продаж.

Сценарии использования S3

S3 подходит бизнесу и как основное хранилище, и как дополнение к классическому блочному/файловому.

Основные сценарии облачного хранения:

  • Big Data банков, маркетплейсов e-commerce (Data lakes, Data mining, геномные исследования);
  • файлы мультимедиа;
  • бэкапы (резервные копии) и аварийное восстановление;
  • файлы мобильных и веб-приложений;
  • архивы.

Защита персональных данных (ФЗ-152) — обязанность бизнеса в России. Ряд объектных хранилищ (в том числе и S3 от Cloud.ru) обеспечивают безопасность данных и имеют аттестат по ФЗ-152.

Объектные хранилища обеспечивают доступ к файлам для миллионов пользователей одновременно. Это особенно важно для высоконагруженных сервисов: видеохостингов, галерей, фотостоков. Кодировать видео можно через Kubernetes с автоматическим масштабированием. Чтобы ускорить кодирование, используют GPU.

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

  • создать статический веб-сайт из консоли OBS;
  • предоставить доступ к бакету OBS c определенных IP-адресов;
  • настроить отправку событий бакета OBS на внешний syslog-сервер;
  • использовать Direct Connect, чтоб подключиться к хранилищу по внутренней сети.

Как создать первый S3-бакет и загрузить файл в облако

Ниже приведена пошаговая инструкция, как создать первый бакет и загрузить его в облачное Object Storage.

  • Перейти на advanced.cloud.ru и выбрать «Перейти в консоль».
Перейти в консоль advanced.cloud.ru
Перейти в консоль advanced.cloud.ru

Выбрать Create Bucket и задать настройки. Нужно указать Bucket Name (название бакета), класс Storage Class и Bucket Policy (приватный, публичный, публичный для чтения и записи). Также необходимо задать проект.

Создание бакета
Создание бакета

Попасть на страницу со списком всех бакетов.

Страница со списком бакетов
Страница со списком бакетов

Создать каталог в Bucket и загрузить в него файл. Нужно задать настройки разрешений (Object Permission), класс хранения и нажать Add File.

Выгрузить файл в облачное хранилище
Выгрузить файл в облачное хранилище

Нажать Upload, чтобы выгрузить файл. Он отобразится на странице.

Файл выгружен в облачное хранилище
Файл выгружен в облачное хранилище

Выбрать Share, чтобы найти URL. Ссылку на объект, лежащий в хранилище, можно отправить коллегам, заказчикам, исполнителям. В URL Validity Period можно задавать время действия линка (к примеру, 5 часов).

Поделиться ссылкой на файл в облачном хранилище S3
Поделиться ссылкой на файл в облачном хранилище S3

Классы хранения (Storage Class)

Storage Class — это режим хранения с учетом потребленного объема и трафика. Обычно это ответ на вопрос, как часто бизнес (приложения, программы, утилиты) обращается в объектное хранилище за данными: ежесекундно, раз в полгода, раз в год и так далее. В таблице ниже сравнение классов хранения (на примере OBS Cloud.ru).

Критерий сравнения Стандартный (Standard, горячее хранилище)Редкий доступ (Warm)Архив (Cold, ледяной)
Для чего нужен, как часто запрашиваются данныеЧастый доступМеньше 12 раз в год1 раз в год или реже
Сценарии использованияАнализ Big Data, мобильные приложения, хранение фотографий и видеоматериаловСинхронизация файлов и их резервное копированиеАрхивы, долгосрочное хранение информации
Поддержка Image Processing (обработка изображений — конвертировать форматы, накладывать водяные знаки)ПоддерживаетсяПоддерживаетсяНедоступна
Восстановление данныхБесплатноБесплатноТри опции восстановления (срочное, стандартное, массовое)
Минимальный срок храненияНет30 суток90 дней
Ключевое преимуществоПроизводительность, надежность, доступностьНедорогой и достаточно оперативный доступ к даннымСамая низкая цена по сравнению с другими классами хранения

Преимущества S3 для бизнеса

Масштабируемость. Объем хранимой информации легко увеличивается без настройки системы и оборудование. Это стало возможным за счет отсутствия иерархии хранения файлов.

Экономичность. Не нужно покупать, обслуживать и поддерживать оборудование (все вопросы с «железом» решает поставщик услуги). Бизнес оплачивает потребленные ресурсы (pay as you go), а бизнес может выбрать более выгодный класс хранения.

Безопасность данных. При создании бакета и загрузке файла пользователь определяет уровень доступа. Для безопасности поставщики предлагают IAM (Identity and Access Management). Это настройка политики паролей и авторизации, распределение ролей и доступов.

Гибкость и доступ из браузера. Object Storage поддерживает HTTP и HTTPS. Поэтому получить содержимое можно из любого браузера, достаточно знать URL.

Отдельные сервисы предоставляют несколько вариантов поставки: облачное S3‑хранилище, в составе ПАК (программно-аппаратного комплекса), в локальном центре обработки данных.

Выводы 

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

S3 может дополнять классические блочные и дисковые хранилища или использоваться как самостоятельное. Можно выбрать вариант в зависимости от проекта и его требований.

Object Storage обходится дешевле по сравнению с обычными жесткими дисками, а возможностей масштабирования гораздо больше.