Перейти к основному содержимому

Адресация и имена бакетов

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

Требования к имени бакета

  • от 3 до 63 символов;
  • строчные латинские буквы, цифры и дефис;
  • имя начинается и заканчивается буквой или цифрой.
warning

Пространство имён бакетов — единое в пределах услуги. Имя, занятое другим клиентом на той же платформе, вам недоступно. Очевидные варианты вроде backup, data, archive почти наверняка заняты.

Используйте префикс: название организации, проекта или отдела — например acme-backup, acme-media-2026.

Если создание бакета возвращает ошибку о занятом или недопустимом имени — дело почти всегда в этом.

Два способа адресации

СтильКак выглядит адрес объекта
Path-stylehttps://s3-msk.itgstore.io/<BUCKET>/<KEY>
Virtual-hosted-stylehttps://<BUCKET>.s3-msk.itgstore.io/<KEY>

Path-style — имя бакета идёт частью пути. Работает всегда.

Virtual-hosted-style — имя бакета становится поддоменом. Требует, чтобы для эндпоинта были настроены доменные имена S3 и wildcard-инфраструктура: запись DNS *.s3-msk.itgstore.io и TLS-сертификат с соответствующим wildcard в SAN.

примечание

Доступность virtual-hosted-style зависит от площадки. Уточняйте в поддержке ITGLOBAL.COM. В частной инсталляции выдаётся выделенный эндпоинт с собственным доменным именем, где этот стиль доступен по умолчанию.

Для virtual-hosted-style в имени бакета не должно быть точек. Точка добавляет уровень домена, и wildcard-сертификат такой адрес не покрывает — соединение завершится ошибкой проверки сертификата.

Как выбрать стиль в клиенте

Многие клиенты по умолчанию пробуют virtual-hosted-style. Если он на площадке не настроен, обращения будут падать на разрешении имени или на проверке сертификата.

Принудительно включить path-style в AWS CLI:

aws configure set s3.addressing_style path --profile <PROFILE>

В s3cmd то же самое задаётся параметром host_bucket в конфигурации: значение без подстановки имени бакета в домен означает path-style.

Проверка

Быстрый способ понять, доступен ли virtual-hosted-style:

curl -I https://<BUCKET>.s3-msk.itgstore.io/

Если имя разрешается и TLS-сертификат принимается — стиль работает. Ошибка разрешения имени или сертификата означает, что нужно оставаться на path-style.