Настройка AWS Cost Explorer и бюджетных алертов
Счёт за AWS приходит в конце месяца — к этому моменту инженер, запустивший GPU-кластер для «быстрого теста», уже забыл о нём три недели назад. NAT Gateway, который никто не удалил после закрытия проекта, продолжает тарифицироваться. Забытый EBS-снапшот за $400 в месяц остаётся незамеченным, потому что это «всего лишь» 2% от общего счёта. Бюджетные алерты и Cost Explorer — не финансовый инструмент, а operational hygiene, и мы помогаем клиентам внедрить её за один день.
Включение Cost Allocation Tags
Прежде чем Cost Explorer покажет что-то полезное кроме суммарных цифр, нужны cost allocation tags. Теги активируются в Billing → Cost allocation tags → User-defined. После активации данные появляются с задержкой до 24 часов, ретроспектива не заполняется.
Минимальный набор тегов: Environment (production/staging/dev), Service (например, payments, auth), Team, CostCenter. При создании ресурсов через Terraform используем default_tags в provider-блоке, чтобы теги проставлялись автоматически:
provider "aws" {
region = "eu-west-1"
default_tags {
tags = {
Environment = var.environment
Service = var.service_name
ManagedBy = "terraform"
}
}
}Ресурсы без тегов отображаются как No tag: Service. AWS Config Rule REQUIRED_TAGS автоматически помечает несоответствующие ресурсы как non-compliant.
AWS Budgets: типы и правильная настройка
- Cost Budget — алерт при превышении реальных или прогнозируемых затрат. Создаём для каждого аккаунта и ключевых сервисов.
- Usage Budget — алерт на количество единиц использования: число t3.xlarge инстансов, объём в S3, количество Lambda-вызовов.
- Savings Plans Coverage Budget — сигналит, если Savings Plans покрывают менее X% compute-затрат.
- Anomaly Detection Budget — ML-модель строит baseline и срабатывает при статистических аномалиях.
Правила настройки:
- Actual 80% — предупреждение в Slack инженерам.
- Actual 100% — алерт в Slack + email team lead.
- Forecasted 100% — прогноз, что к концу месяца бюджет будет исчерпан.
Для автоматизации используем SNS + Lambda: при превышении бюджета Lambda может применить SCP, ограничивающую создание новых ресурсов в sandbox-аккаунте.
Как Cost Explorer помогает находить скрытые расходы?
Первый взгляд — на breakdown по сервисам: EC2, RDS, S3, Data Transfer. Data Transfer часто неожиданно велика — трафик между AZ внутри региона стоит $0.01/GB и при высоком RPS набегает.
EC2 Cost Breakdown по инстанс-типам помогает найти переразмеренные инстансы. r5.8xlarge за $1.5/час, работающий 24/7 в staging, — типичная находка. Правило: staging работает только в рабочие часы через Instance Scheduler.
Hourly и resource-level granularity включаются отдельно и показывают затраты по каждому EC2 и RDS — можно найти конкретный ресурс-рекордсмен.
Частые hidden costs:
| Статья | Почему неочевидна |
|---|---|
| NAT Gateway | $0.045/GB + $0.045/hour, накапливается незаметно |
| EBS Snapshots | Не видны в EC2 bill отдельно без фильтра |
| CloudWatch Logs | Ingestion + Storage, дорого при verbose-логировании |
| Data Transfer out | Каждый GB наружу стоит денег |
| Idle ELB | ALB без трафика: $0.008/hour = $5.8/month за штуку |
Savings Plans и Reserved Instances
Для стабильной нагрузки Savings Plans дают 20-66% скидку в обмен на commitment ($X/hour на 1 или 3 года).
Сравнение типов:
| Параметр | Compute Savings Plans | EC2 Instance Savings Plans |
|---|---|---|
| Гибкость | Любые EC2, Lambda, Fargate | Одно семейство инстансов + регион |
| Скидка | 20-66% | до 72% |
| Применимость | Высокая | Низкая (при изменении стека) |
Cost Explorer → Savings Plans → Recommendations показывает рекомендованный commitment на основе исторического потребления за 7/30/60 дней. Рекомендуем покупать 70-80% от baseline нагрузки — пики покрываются On-Demand.
Rightsizing Recommendations анализирует CPU/Memory utilization EC2 за 14 дней. Инстанс с <5% avg CPU — кандидат на downsize. Перед даунсайзом смотрим peak utilization, не только среднее.
Автоматизация контроля расходов
AWS Instance Scheduler — serverless-шаблон для остановки/запуска EC2 и RDS по расписанию. Staging останавливается в 19:00, запускается в 08:00. Экономия: ~65% compute-costs для non-production сред.
S3 Intelligent-Tiering для объектов с непредсказуемым паттерном доступа — автоматически перекладывает между Standard, IA и Archive. Мониторинговая плата $0.0025/1000 объектов окупается при среднем объёме объектов старше 30 дней.
Trusted Advisor (Business support) находит idle EC2, неиспользуемые EIP, underutilized RDS — запускаем ревью раз в квартал.
Как проводить Rightsizing: пошагово
1. Откройте Cost Explorer → Rightsizing Recommendations. 2. Отфильтруйте по аккаунту и региону. 3. Выберите инстансы с рекомендацией Downsize. 4. Проверьте peak utilization за 7 дней. 5. Измените тип инстанса через AWS Console или Terraform.Что входит в настройку
Мы настраиваем весь цикл контроля затрат:
- Аудит текущих тегов и активация cost allocation tags.
- Создание бюджетов для каждого аккаунта и ключевых сервисов.
- Настройку алертов в Slack, email и Telegram.
- Конфигурацию Cost Explorer с resource-level granularity.
- Рекомендации по Savings Plans и Rightsizing.
- Автоматизацию остановки неиспользуемых ресурсов.
- Документацию процесса и обучение команды.
Наш опыт: более 5 лет на рынке, 10+ лет в DevOps, свыше 50 проектов по оптимизации облачных инфраструктур. Свяжитесь с нами, чтобы получить аудит текущих затрат AWS и снизить счёт на 30-50%.
Срок настройки — от 1 рабочего дня для базовой конфигурации. Стоимость рассчитывается индивидуально под объём инфраструктуры.







