Налаштування AWS Cost Explorer та бюджетних алертів
Рахунок за AWS приходить наприкінці місяця — до цього моменту інженер, який запустив GPU-кластер для «швидкого тесту», уже забув про нього три тижні тому. NAT Gateway, який ніхто не видалив після закриття проєкту, продовжує тарифікуватися. Забутий EBS-снапшот за $400 на місяць залишається непоміченим, тому що це «всього лише» 2% від загального рахунку. Бюджетні алерти та Cost Explorer — не фінансовий інструмент, а operational hygiene, і ми допомагаємо клієнтам впровадити її за один день.
Як включити Cost Allocation Tags?
Перш ніж Cost Explorer покаже щось корисне, окрім сумарних цифр, потрібні теги розподілу витрат. Теги активуються в 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. 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 назовні коштує $0.09/GB |
| Idle ELB | ALB без трафіку: $0.008/hour = $5.8/month за штуку |
Savings Plans та Reserved Instances
Для стабільного навантаження Savings Plans дають 20-66% знижку в обмін на commitment ($X/hour на 1 або 3 роки). Це в 2-3 рази ефективніше за чисто On-Demand оплату.
Порівняння типів:
| Параметр | 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.
- Автоматизацію зупинки невикористовуваних ресурсів.
- Документацію процесу та навчання команди.
Наш досвід: більше 7 років на ринку, 15+ років у DevOps, понад 60 проєктів з оптимізації хмарних інфраструктур. Зв'яжіться з нами, щоб отримати аудит поточних витрат AWS та знизити рахунок на 30-50%.
Термін налаштування — від 1 робочого дня для базової конфігурації. Вартість розраховується індивідуально під обсяг інфраструктури. Середня економія клієнтів складає $2500 на місяць для типового проєкту.







