Адресация и имена бакетов
Прежде чем создавать первый бакет, стоит знать две вещи: как клиент формирует адрес объекта и по каким правилам выбирается имя. Обе всплывают на первом же шаге и обе способны сорвать настройку.
Требования к имени бакета
- от 3 до 63 символов;
- строчные латинские буквы, цифры и дефис;
- имя начинается и заканчивается буквой или цифрой.
Пространство имён бакетов — единое в пределах услуги. Имя, занятое другим
клиентом на той же платформе, вам недоступно. Очевидные варианты вроде backup,
data, archive почти наверняка заняты.
Используйте префикс: название организации, проекта или отдела — например
acme-backup, acme-media-2026.
Если создание бакета возвращает ошибку о занятом или недопустимом имени — дело почти всегда в этом.
Два способа адресации
| Стиль | Как выглядит адрес объекта |
|---|---|
| Path-style | https://s3-msk.itgstore.io/<BUCKET>/<KEY> |
| Virtual-hosted-style | https://<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.