
TL;DR
Кратко: в консоли S3 размер бакета виден в Management > Metrics > Storage или через метрики CloudWatch (BucketSizeBytes, NumberOfObjects). В командной строке можно использовать aws s3 ls –summarize или утилиту s3cmd (s3cmd du -H) — она быстрее для больших бакетов. Для точного биллинга смотрите Cost Explorer.
Важное: GUI-пересчёт объектов на странице не отражает весь бакет, если элементы разбиты на страницы.
Быстрый план действий
- Для визуальной проверки: откройте S3 Management Console -> выберите бакет -> Management -> Metrics -> Storage.
- Для графиков: откройте CloudWatch и добавьте метрику BucketSizeBytes для нужного бакета и периода.
- Для быстрой CLI-проверки: aws s3 ls с флагом –summarize или s3cmd du -H.
- Для биллинга и истории затрат: используйте Cost Explorer.
Как найти размер бакета через GUI
Из консоли S3 откройте нужный бакет. Затем перейдите в Management → Metrics → Storage. Там есть график, показывающий общее количество байт с течением времени.

Вы можете открыть ту же метрику в CloudWatch. Для хранения обычно доступны метрики BucketSizeBytes и NumberOfObjects. Эти метрики удобно отображать на дашборде CloudWatch или добавлять алармы по порогу.

Из страницы обзора бакета (overview) также можно выбрать все объекты и использовать Actions → Get Total Size. Но этот метод даст корректный результат только если объекты на странице представляют весь бакет. Если объекты распределены по страницам, не полагайтесь на этот способ.
Совет: Cost Explorer показывает реальные начисления и может использоваться как подтверждение объёма хранения с учётом тарифов и уровней хранения.
Как получить размер бакета через CLI
Самый простой способ с AWS CLI — перечислить объекты и просуммировать. Для этого в aws-cli есть опция –summarize для команды s3 ls:
aws s3 ls s3://bucket --recursive --human-readable --summarizeКоманда переберёт все объекты и в конце выведет общее количество объектов и общий размер. Если не хотите видеть список всех файлов в терминале, отфильтруйте вывод, например, через tail:
aws s3 ls s3://bucket --recursive --human-readable --summarize | tail -2Недостатки: если бакет очень большой, операция займёт значительное время и создаст большой поток вывода.
Альтернатива — получить данные напрямую из CloudWatch через get-metric-data, но синтаксис неудобен для одноразовых проверок.
Быстрее: s3cmd
s3cmd — отдельный инструмент, не входящий в aws-cli. Установите его из менеджера пакетов вашей ОС. Для Debian/Ubuntu:
sudo apt-get install s3cmdСвяжите s3cmd с учётной записью:
s3cmd --configureЗатем получите размеры всех бакетов быстро:
s3cmd du -HПример вывода:
5.708148956298828M 2 objects s3://bucket/s3cmd быстрее, потому что запрашивает информацию о занимаемом дисковом пространстве, а не вручную суммирует все объекты. Флаг -H делает вывод удобочитаемым.
Когда методы не подходят (контрпримеры)
- Если у вас есть миллионы объектов с высокой латентностью API, aws s3 ls будет слишком медленным.
- Если бакет шифруется серверной стороной и политики ограничивают ListObjects, CLI или s3cmd могут не вернуть полный список.
- Если вам нужна точная стоимость, метрика размера не показывает информацию о классах хранения или запросах — смотрите Cost Explorer.
Альтернативные подходы
- Lambda + Inventory: настроить S3 Inventory (ежедневная/еженедельная выгрузка) и обрабатывать CSV через Lambda/Glue для подсчёта размера и числа объектов.
- Athena: если у вас включён S3 Inventory, используйте Amazon Athena для запросов по метаданным и суммирования размеров.
- Lifecycle + Storage Class Analysis: используйте для оптимизации затрат и оценки объёма по классам хранения.
Чек-лист по ролям
- Администратор/DevOps:
- Проверить метрики BucketSizeBytes и NumberOfObjects в CloudWatch.
- Настроить дашборд и алармы по росту объёма.
- При необходимости включить S3 Inventory.
- Разработчик:
- Для локальной проверки использовать aws s3 ls –summarize.
- Для частых проверок — s3cmd или запросы к CloudWatch.
- Финансы/Биллинг:
- Сравнивать данные CloudWatch с Cost Explorer для валидации затрат.
Шпаргалка команд (cheat sheet)
- Быстро через aws-cli (полный обход объектов):
aws s3 ls s3://bucket --recursive --human-readable --summarize- Показывать только итог:
aws s3 ls s3://bucket --recursive --human-readable --summarize | tail -2- Через s3cmd (быстрее для больших бакетов):
s3cmd du -H- CloudWatch (метрики): BucketSizeBytes, NumberOfObjects — используйте get-metric-data для автоматизации.
Критерии приёмки
- Получен числовой объём в байтах/читаемом формате для целевого бакета.
- Источник данных — CloudWatch или s3cmd/CLI — документирован в отчёте.
- Для повторяемой проверки настроен дашборд или задача автоматизации (S3 Inventory + Athena/Lambda).
Краткий глоссарий (1‑строчное определение)
- BucketSizeBytes: CloudWatch-метрика, показывающая суммарный объём байт в бакете.
- NumberOfObjects: CloudWatch-метрика, показывающая количество объектов в бакете.
- S3 Inventory: встроенный механизм S3 для регулярной выгрузки списка объектов в CSV/Parquet.
Риски и рекомендации
- Ограничения прав доступа могут скрыть объекты при листинге. Проверьте IAM-права и политики бакета.
- Для больших наборов данных автоматизируйте сбор метрик (Inventory + Athena) вместо полного ls.
- Сверяйте результаты с Cost Explorer для подтверждения расчётов затрат.
Резюме
S3 показывает размер бакета через Management → Metrics → Storage и в CloudWatch (BucketSizeBytes). Для одноразовой проверки подойдёт aws s3 ls –summarize, но для больших бакетов используйте s3cmd du -H или включите S3 Inventory и анализируйте данные в Athena/Glue. Cost Explorer полезен для подтверждения фактических затрат.
Похожие материалы
Установка и обновление приложений на Android
Как вывести Google Calendar на Android TV
Rust для HTTP‑серверов: Actix, Rocket и WASM
Создать ISO из папки в Windows — простые способы
Локальные пользователи в Windows Home: lusrmgr и CMD