Бакет в Object Storage
Бакет — это выделенная часть хранилища Object Storage для пользовательских данных. Каждый бакет в Yandex Cloud имеет уникальное название, по которому выполняются запросы к Object Storage.
Данные в бакетах хранятся в виде объектов. Вы можете логически структурировать данные с помощью нескольких бакетов или с помощью папок (префиксов) внутри одного бакета.
Также бакеты можно использовать для хостинга статических сайтов.
Подробнее о начале работы с бакетами см. в статье Как начать работать с Yandex Object Storage.
Создать бакет можно с помощью Консоли управления
Именование бакетов
Название бакета используется как часть URL для доступа к данным и его будут видеть ваши пользователи. Например, https://storage.yandexcloud.net/bucket-name
.
Правила именования:
-
Имена бакетов уникальны для всего Object Storage, т.е. нельзя создать два бакета с одинаковыми именами даже в разных каталогах разных облаков. Помните об этом, если планируете создавать бакеты автоматически через API.
-
На имя бакета накладываются следующие ограничения:
- Длина имени должна быть от 3 до 63 символов.
- Имя может содержать строчные буквы латинского алфавита, цифры, дефисы и точки.
- Первый и последний символы должны быть буквами или цифрами.
- Символы справа и слева от точки должны быть буквами или цифрами.
- Имя не должно иметь вид IP-адреса (например
10.1.3.9
).
При выборе имени бакета помните, что имена с точками используются при хостинге статических сайтов. Возможен конфликт имен, который не позволит вам или другому пользователю разместить свой сайт в Object Storage.
URL бакета
Для обращения к бакету вы можете использовать следующие формы URL:
http(s)://storage.yandexcloud.net/<имя_бакета>?<параметры>
http(s)://<имя_бакета>.storage.yandexcloud.net?<параметры>
Примечание
Если вы используете AWS SDK для .NET, обращайтесь к хосту s3.yandexcloud.net
.
Обращение к бакету по HTTPS
Object Storage поддерживает безопасное подключение по протоколу HTTPS.
Примечание
При использовании URL в формате http(s)://<имя_бакета>.storage.yandexcloud.net
протокол HTTPS доступен для бакета только в том случае, если имя бакета не содержит точек. Например:
https://example.storage.yandexcloud.net
— для этого бакета протокол HTTPS доступен.http://example.ru.storage.yandexcloud.net
— для этого бакета HTTPS недоступен.
Это связано с тем, что в Object Storage используются сертификаты Wildcard
Чтобы поддержать для бакета с точкой в имени протокол HTTPS, загрузите собственный сертификат безопасности в Object Storage.
О поддержке HTTPS при хостинге сайтов в Object Storage читайте в разделе Хостинг статических сайтов.
Настройки бакетов
Вы можете:
-
Ограничить максимальный размер бакета.
Object Storage не позволит загрузить объект, если при его добавлении размер бакета превысит максимальное значение.
-
Установить класс хранилища по умолчанию.
Объекты, загружаемые в бакет, по умолчанию сохраняются с классом хранилища, установленным для этого бакета.
-
Настроить бакет для хостинга статических веб-сайтов.
-
Загрузить конфигурацию CORS для бакета.
-
Включить шифрование бакета.
Объекты, добавляемые в этот бакет, будут по умолчанию шифроваться указанным ключом KMS.
-
Настроить жизненные циклы объектов.
Доступ к бакетам из облачных сетей Yandex Virtual Private Cloud
Важно
Функциональность Сервисные подключения (VPC Private Endpoints) находится на стадии Preview и будет доступна для тестирования с 26 сентября 2024 г. Чтобы запросить доступ, обратитесь к вашему аккаунт-менеджеру.
Вы можете организовать прямой доступ к бакетам Object Storage из облачных сетей VPC с помощью сервисного подключения VPC. При таком подключении сервис Object Storage будет доступен по внутренним IP-адресам VPC без использования доступа в интернет.
Подробнее о настройке доступа см. на странице Доступ в бакет с помощью сервисного подключения из Yandex Virtual Private Cloud.
Публичный доступ к бакетам
В Object Storage реализовано несколько механизмов для управления доступом к ресурсам. Алгоритм взаимодействия этих механизмов см. в Обзор способов управления доступом в Object Storage.
По умолчанию бакеты создаются с ограниченным доступом, который определяется настройками в IAM. Вы можете открыть публичный доступ:
- На чтение объектов в бакете.
- К списку объектов в бакете.
- На чтение настроек:
Публичный доступ к каждой операции выдается отдельно. То есть, если вы открыли доступ только на чтение объектов, то операции получения списка объектов и настроек бакета недоступны анонимному пользователю.
Важно
Публичный доступ предоставляется неограниченному кругу анонимных пользователей. Используйте его только в случае, когда нет возможности применить другие механизмы предоставления доступа.
При необходимости, вы можете выполнить настройку разрешений для бакетов и находящихся в них объектов с помощью ACL или политики доступа.
Статистика
Object Storage автоматически отправляет метрики работы бакетов в сервис Yandex Monitoring.
Вы можете посмотреть статистику работы на странице бакета или в интерфейсе Monitoring.
Список метрик, передаваемых в Monitoring, представлен в справочнике.
Также общую статистику бакета можно посмотреть с помощь Yandex Cloud CLI.
Особенности использования
-
Обновление статистики бакета может занимать до 20 минут. Поэтому возможны ситуации, при которых будет превышен заданный максимальный объем бакета, например, при быстрой последовательной загрузке объектов в бакет.
-
В консоли управления информация о количестве объектов в нем и занятом месте обновляется с задержкой.
-
Бакет нельзя переименовать.
-
Производительность Object Storage не зависит от количества бакетов. Вы можете хранить все свои данные в одном бакете или в нескольких.
-
Бакеты не могут быть вложенными.
-
Удалить можно только пустой бакет.
-
После удаления объектов из бакета, удаленный объем еще некоторое время считается занятым.
-
После удаления бакета может пройти некоторое время прежде, чем вы сможете создать новый бакет с этим же именем. Также есть риск, что другой пользователь Yandex Cloud создаст бакет с освободившимся именем до того, как вы успеете его занять снова. Не удаляйте бакеты без веской причины.
Примечание
Если вы ограничили максимальный объем бакета, то бакет может некоторое время оставаться недоступным для записи, даже если вы освободили достаточно места для новых объектов.