Object Storage в Cloud4Y - полностью совместимая с Amazon S3 платформа объектного хранения. Большинство ограничений наследуются от стандарта S3. Квоты — организационные ограничения, которые можно изменить по запросу в техническую поддержку. Лимиты/ограничения/требования — технические ограничения, обусловленные особенностями архитектуры. Изменить их невозможно.
1.1 Ограничения по бакетам
- Бакет принадлежит учётной записи (пользователю), которая его создала.
- Владение бакетом не передаётся другому аккаунту.
- Имя бакета должно быть глобально уникальным во всём кластере.
1.2 Требования к имени бакета
- Длина: от 3 до 63 символов
- Только строчные латинские буквы (a-z), цифры (0-9), дефисы (-), точки (.) и подчёркивания (_)
- Подчёркивания не рекомендуются
- Должно начинаться и заканчиваться буквой или цифрой
- Не должно содержать две или более смежные точки
- Не должно содержать дефис рядом с точкой
- Не должно быть в формате IP-адреса (например, 192.168.1.1)
- Не должно заканчиваться дефисом или точкой
- Максимальный размер имени в UTF-8 — 63 символа (не байтов)
Рекомендация:
Избегайте точек (.) в именах бакетов — это может вызвать проблемы с virtual-hsted-style адресацией по HTTPS (аналогично AWS). Подчёркивания тоже лучше не использовать.
Примеры:
Допустимы и рекомендуются:
- my-bucket-name
- mybucket1
- my-bucket-name-2022
Допустимы, но с оговорками:
- my_bucket_name (подчёркивание)
- my.example.bucket (точки)
Недопустимы:
- DcExampleBucket (заглавные буквы)
- my-bucket- (заканчивается дефисом)
- 192.168.5.4 (IP-формат)
- xn--smething (префикс xn--)
1.3 Ограничения по бакету
- Имя уникально во всём кластере
- По умолчанию 100 бакетов на одного пользователя
- Максимальный размер одного объекта: 5 ТБ
- Для объектов > 100 МБ обязательно используйте Multipart Uplad
- Пустой бакет можно удалить. После удаления имя становится доступным для повторного использования.
2. Требование именования объектов
- Имена объектов чувствительны к регистру.
- Максимальная длина имени объекта (включая префиксы): 1024 байта UTF-8
Примеры:
- Develpment/Prjects.xls
- phts/mypht.jpg
Совет:
Используйте осмысленные имена с префиксами (prject/date/purpse).
3. Лимиты
- Максимальный размер объекта: 5 ТБ
- Максимальный размер данных за 1 PUT-запрос: 5 ГБ
- Минимальный размер части Multipart (кроме последней): 5 МБ
- Максимальное количество частей в Multipart: 10 000
- Максимальное количество бакетов на пользователя: 100
- Максимальный размер бакет-политики: 20 КБ
- Максимальный размер пользовательских метаданных (x-amz-meta-*): 2 КБ на объект (суммарно имя + значение)
4.Квоты по группе/пользователю
Задаются квота на объём (KiB), количество объектов, пиковую скорость запросов, uplad/dwnlad (KiB/min). При превышении: 403 (квота хранения) или 503 (rate).
Рекомендация:
Для высокой нагрузки обязательно распределяйте данные по нескольким бакетам, используйте префиксы, подробнее в статье.
5. Ограничения запросов API (Rate Limiting)
- S3-запросы (все типы): если нагрузка превышает динамический порог в течение 5 последовательных 1-минутных интервалов бакет переходит в restricted state на 1 минуту (HTTP 503).
- Metadata DB queries: порог 800 000 запросов за 5 минут на бакет. При превышении — restricted state на 5 минут (HTTP 503).
- Batch Delete (Deletebjects): максимум 1000 объектов за один запрос.
Типичные ошибки и рекомендации:
- Invalid bucket name — имя не соответствует правилам (проверьте длину, символы, формат).
- 503 Many Requests / SlwDwn — сработало динамическое ограничение. Разнесите нагрузку по бакетам.
- Для объектов крупнее 100 МБ — обязательно Multipart Uplad.
- Для массового удаления — используйте Batch Delete (до 1000 объектов) вместо тысяч одиночных DELETE.