AWS Cost Explorer, AWS Budgets и Cost Anomaly Detection: Пълно ръководство за мониторинг на облачните разходи (2026)
Пълно ръководство за AWS Cost Explorer, AWS Budgets и Cost Anomaly Detection — три безплатни инструмента на AWS за мониторинг и контрол на облачните разходи. С примери за CLI, Python и CloudFormation.

Честно казано, повечето екипи разбират за проблема с разходите едва когато получат шокираща фактура в края на месеца. Облачните разходи могат да нараснат неочаквано — автоматично мащабиране без ограничения, забравени тестови инстанции или внезапен ръст на трафика могат да удвоят месечната сметка за една нощ. Според данните на FinOps Foundation от 2026 г., организациите губят средно 30–35% от облачния си бюджет поради неоптимизирани ресурси и липса на видимост.
AWS предоставя три безплатни инструмента, които заедно изграждат пълна система за финансов контрол: AWS Cost Explorer, AWS Budgets и AWS Cost Anomaly Detection. Нека се потопим в детайлите за всеки един от тях.
Разбирането и прилагането на тези инструменти е основна стъпка в изграждането на стратегия за cost allocation и тагване на ресурси — защото без видимост не може да има оптимизация.
AWS Cost Explorer: Анализ и визуализация на разходите
Активиране и начало
AWS Cost Explorer не е активен по подразбиране — нещо, което много хора научават твърде късно. За да го включите:
- Влезте в AWS Console и отидете в Billing and Cost Management.
- В левия панел изберете Cost Explorer.
- Натиснете Enable Cost Explorer.
- Изчакайте до 24 часа — след това ще имате достъп до историческите данни за последните 12 месеца.
Важно: Cost Explorer е безплатен за ползване в конзолата. API достъпът струва $0,01 на заявка — незначителен за ръчна употреба, но вземете го предвид при изграждане на автоматизирани отчети с висока честота.
Основни изгледи и отчети
Cost Explorer предлага няколко ключови изгледа, всеки с конкретна цел:
- Cost and Usage — основният изглед, показва разходите по услуги, региони, акаунти или тагове за произволен период.
- Savings Plans — визуализира потреблението спрямо вашите commitment-базирани отстъпки и покритие.
- Reserved Instances — покрива RI utilization и coverage reports за идентифициране на неизползвани резервации.
- Rightsizing recommendations — автоматизирани препоръки за оразмеряване на EC2 инстанции на база на 14-дневни CloudWatch метрики.
Особено ценна е функцията Rightsizing. Накратко — Cost Explorer анализира реалното CPU и RAM потребление и предлага конкретни промени в типа инстанция. Организациите, прилагащи тези препоръки редовно, постигат 20–30% намаление на EC2 разходите без промяна в архитектурата.
Практически пример: групиране по тагове
Ако вашата организация тагва ресурсите с ключ Project, можете да видите разходите по проект по следния начин:
- Отворете Cost and Usage изгледа.
- В секцията Group by изберете Tag: Project.
- Задайте период от последните 3 месеца.
- Натиснете Apply — резултатът е ясна разбивка на разходите по проект.
Без активирани cost allocation тагове тази функционалност не е достъпна. Прочетете нашето практическо ръководство за тагване на облачни ресурси в AWS, Azure и GCP, за да настроите таговете правилно преди да започнете с Cost Explorer.
Достъп чрез AWS CLI и Python
Можете да извличате данни програматично. С AWS CLI:
aws ce get-cost-and-usage \
--time-period Start=2026-04-01,End=2026-05-01 \
--granularity MONTHLY \
--metrics "BlendedCost" "UsageQuantity" \
--group-by Type=DIMENSION,Key=SERVICE \
--output json
Аналогично с Python (boto3) — лично аз предпочитам тази опция за автоматизиране на седмичните отчети:
import boto3
client = boto3.client('ce', region_name='us-east-1')
response = client.get_cost_and_usage(
TimePeriod={
'Start': '2026-04-01',
'End': '2026-05-01'
},
Granularity='MONTHLY',
Metrics=['BlendedCost', 'UsageQuantity'],
GroupBy=[{'Type': 'DIMENSION', 'Key': 'SERVICE'}]
)
for result in response['ResultsByTime']:
for group in result['Groups']:
service = group['Keys'][0]
cost = group['Metrics']['BlendedCost']['Amount']
print(f"{service}: ${float(cost):.2f}")
Прогнозиране на разходите
Cost Explorer включва ML-базирана функция за прогнозиране, полезна при планиране на тримесечни бюджети:
aws ce get-cost-forecast \
--time-period Start=2026-05-18,End=2026-06-01 \
--granularity DAILY \
--metric BLENDED_COST
Прогнозата взима предвид историческата тенденция и сезонни модели. Ако прогнозираните разходи надхвърлят очакванията — това е сигнал за ранна намеса, преди края на месеца. Не чакайте фактурата.
AWS Budgets: Финансови ограничения и известия
Видове бюджети
AWS Budgets ви позволява да зададете прагове и да получавате известия при тяхното приближаване или надхвърляне. Четирите типа са:
- Cost Budget — следи общите разходи в долари.
- Usage Budget — следи потреблението (напр. часове EC2, GB S3).
- Savings Plans Budget — следи coverage и utilization на Savings Plans.
- Reservation Budget — следи RI utilization и coverage за Reserved Instances.
Двата безплатни бюджета на акаунт са достатъчни за повечето малки екипи. При нужда от повече — всеки допълнителен бюджет струва $0,02 на ден, което е пренебрежима сума.
Стъпки за създаване на Cost Budget
- Отидете в Billing → Budgets → Create Budget.
- Изберете Cost Budget и натиснете Next.
- Задайте:
- Период: Monthly
- Budgeted amount: например $1 000
- Budget scope: всички услуги или филтрирайте по конкретни сервиси, региони или тагове
- Добавете три прагови известия:
- 85% от действителния разход — ранно предупреждение
- 100% от действителния разход — надхвърляне
- 110% от прогнозния разход — предварително предупреждение при очаквано надвишаване
- Въведете email адреси или SNS topic ARN за известия.
- Натиснете Create Budget.
Автоматизиране чрез CloudFormation
За infrastructure-as-code среди, дефинирайте бюджетите директно в CloudFormation:
Resources:
MonthlyProdBudget:
Type: AWS::Budgets::Budget
Properties:
Budget:
BudgetName: monthly-prod-budget
BudgetLimit:
Amount: 1000
Unit: USD
TimeUnit: MONTHLY
BudgetType: COST
NotificationsWithSubscribers:
- Notification:
NotificationType: ACTUAL
ComparisonOperator: GREATER_THAN
Threshold: 85
ThresholdType: PERCENTAGE
Subscribers:
- SubscriptionType: EMAIL
Address: [email protected]
- Notification:
NotificationType: FORECASTED
ComparisonOperator: GREATER_THAN
Threshold: 100
ThresholdType: PERCENTAGE
Subscribers:
- SubscriptionType: EMAIL
Address: [email protected]
Budget Actions — автоматизирано реагиране
AWS Budget Actions позволяват автоматично изпълнение на корективни действия при надхвърляне на праг. Например, при достигане на 100% от бюджета може автоматично да се приложи IAM политика, ограничаваща стартирането на нови EC2 инстанции. Функцията изисква внимателно конфигуриране — неправилната политика може да блокира производствени процеси. Тествайте винаги в dev среда преди production.
AWS Cost Anomaly Detection: ML-базирана защита от неочаквани разходи
Как работи машинното обучение
За разлика от AWS Budgets, което използва статични прагове, Cost Anomaly Detection изгражда динамичен базов модел на вашите разходи. ML алгоритъмът отчита:
- Ден от седмицата (уикенд vs. работни дни)
- Дългосрочни тенденции на растеж
- Сезонни модели (peak трафик при промоции, края на тримесечие)
Когато легитимно увеличите EC2 капацитета с 30% за три месеца, ML базовата линия се адаптира автоматично — редуцирайки false positive alerts в сравнение със статичните бюджети. Системата анализира данните приблизително три пъти дневно и при открита аномалия прави root-cause анализ, идентифициращ топ-10 причинители.
Едно нещо, което не е очевидно от документацията: ML моделът се нуждае от минимум 10 дни исторически данни за нов сервис, а за добра точност — 2–4 седмици. Не се изненадвайте от noise в първите дни.
Настройка стъпка по стъпка
- В Billing and Cost Management изберете Cost Anomaly Detection.
- Натиснете Create monitor.
- Изберете тип монитор:
- AWS services — мониторинг по всички сервиси (препоръчително за начало)
- Linked accounts — за multi-account Organizations
- Cost allocation tags — за детайлна видимост по проект или среда
- Cost Categories — за мониторинг по бизнес единици
- Създайте Alert subscription:
- Threshold: $100 абсолютна стойност (за по-малки акаунти — $50)
- Alert frequency: Individual alerts за незабавно уведомление
- Notification: email или SNS → Slack чрез AWS Chatbot
Интеграция с Slack чрез AWS SNS и Chatbot
# Създаване на SNS тема за Cost Anomaly Detection alerts
aws sns create-topic \
--name cost-anomaly-alerts \
--region us-east-1
# Абониране на email адрес
aws sns subscribe \
--topic-arn arn:aws:sns:us-east-1:123456789012:cost-anomaly-alerts \
--protocol email \
--notification-endpoint [email protected]
След създаването на SNS темата, конфигурирайте AWS Chatbot от конзолата: изберете Slack workspace, канала за alerts (например #aws-costs) и свържете SNS темата. По този начин всеки cost spike ще генерира незабавно Slack съобщение с детайли за причинителя. Работи безупречно — и екипът спира да игнорира email известия.
Добри практики за прагове
- Стартирайте с $100 минимален праг — филтрира шума при малки флуктуации.
- Комбинирайте абсолютен и процентен праг: alert при 20% над очакваното И минимум $25 — избягва spam при евтини сервиси.
- Преглеждайте праговете тримесечно — при нарастващи разходи $50 праг бързо се превръща в alert flood.
- Давайте обратна връзка чрез бутона "Was this helpful?" в конзолата — подобрява ML модела и намалява false positives.
Съвместно използване на трите инструмента
AWS Budgets и Cost Anomaly Detection не са конкуренти — те са взаимно допълващи се инструменти, всеки с различна роля:
- Cost Explorer — вашият ежеседмичен инструмент за ретроспективен анализ: „Какво се случи с разходите миналия месец и защо?"
- AWS Budgets — статични ограничения за известни разходи: „Prod EC2 не трябва да надхвърля $2 000 месечно."
- Cost Anomaly Detection — динамична защита от непознати аномалии: „Нещо неочаквано се случи тази нощ — трябва да реагираме."
Зрелите FinOps организации прилагат структуриран оперативен цикъл:
- Ежедневно: преглед на Cost Anomaly Detection alerts в Slack
- Седмично: анализ в Cost Explorer по услуги, региони и тагове
- Месечно: преглед на Budget utilization и прогнози за следващия месец
- Тримесечно: стратегически преглед — нови Savings Plans или Reserved Instances за покриване на базовото натоварване
За оптималното управление на commitment-базирани отстъпки разгледайте нашето сравнение на Savings Plans срещу Reserved Instances за AWS, Azure и GCP, което ще ви помогне да намалите разходите допълнително с 30–72%.
Автоматизиран седмичен cost report с Python
Следният скрипт генерира седмичен отчет на топ-10 AWS сервиса по разходи. Изключително удобен за изпращане в Slack или email всеки понеделник сутринта — екипът влиза в офиса вече с числата пред очи:
import boto3
from datetime import datetime, timedelta
def get_weekly_cost_report():
ce = boto3.client('ce', region_name='us-east-1')
end = datetime.today().strftime('%Y-%m-%d')
start = (datetime.today() - timedelta(days=7)).strftime('%Y-%m-%d')
response = ce.get_cost_and_usage(
TimePeriod={'Start': start, 'End': end},
Granularity='DAILY',
Metrics=['BlendedCost'],
GroupBy=[{'Type': 'DIMENSION', 'Key': 'SERVICE'}]
)
totals = {}
for day in response['ResultsByTime']:
for group in day['Groups']:
service = group['Keys'][0]
cost = float(group['Metrics']['BlendedCost']['Amount'])
totals[service] = totals.get(service, 0) + cost
sorted_totals = sorted(totals.items(), key=lambda x: x[1], reverse=True)
print(f"Weekly AWS Cost Report ({start} to {end})")
print("-" * 55)
for service, cost in sorted_totals[:10]:
print(f"{service:45s}: ${cost:.2f}")
total = sum(totals.values())
print("-" * 55)
print(f"{'TOTAL':45s}: ${total:.2f}")
get_weekly_cost_report()
Най-добри практики за 2026
- Активирайте Cost Explorer веднага при създаване на акаунт — историческите данни не могат да бъдат върнати назад за периода преди активирането.
- Задайте бюджети от самото начало — дори $10 бюджет на тестов акаунт ви предпазва от забравени ресурси.
- Тагвайте системно — без cost allocation тагове нито Cost Explorer, нито Anomaly Detection могат да предоставят granularna видимост по проект или среда.
- Не разчитайте само на един инструмент — AWS Budgets улавя известни прагове, Anomaly Detection улавя неочаквани поведения, а Cost Explorer дава контекста за анализ.
- Интегрирайте alerts в Slack — email известията лесно се пропускат; cost alert каналът в Slack трябва да е в директния изглед на DevOps и FinOps екипа.
- Прилагайте rightsizing препоръките редовно — ежемесечен преглед на EC2 rightsizing в Cost Explorer може да намали compute разходите с 20–30% без архитектурни промени.
- Използвайте Cost Explorer API за автоматизация — интегрирайте седмичен cost report в CI/CD pipeline или Slack bot за проактивна видимост на целия инженерен екип.
Често задавани въпроси
Безплатен ли е AWS Cost Explorer?
Ползването на Cost Explorer чрез AWS конзолата е безплатно. API достъпът (чрез boto3 или AWS CLI) струва $0,01 на заявка — незначителна сума за ръчна употреба, но трябва да се вземе предвид при автоматизирани отчети с висока честота на извикване.
Каква е разликата между AWS Budgets и Cost Anomaly Detection?
AWS Budgets използва статични прагове, зададени предварително от вас — идеално за известни ограничения. Cost Anomaly Detection изгражда динамичен ML базов модел и улавя непредвидени поведения, дори ако са под бюджетния ви лимит. Препоръчително е да използвате и двата инструмента едновременно за пълно покритие.
Колко бързо реагира Cost Anomaly Detection при ценови скок?
Системата анализира данните приблизително три пъти дневно. При настройка на Individual alerts можете да получите известие в рамките на часове след появата на аномалия — за разлика от месечните отчети, където проблемът се открива твърде късно.
Как да получавам AWS cost alerts в Slack?
Създайте SNS тема и я свържете с AWS Chatbot от конзолата. Конфигурирайте Chatbot с вашия Slack workspace и целевия канал. След това използвайте ARN-а на SNS темата при настройка на AWS Budgets alerts или Cost Anomaly Detection subscriptions.
Мога ли да ползвам тези инструменти за multi-account AWS Organizations?
Да — всички три инструмента поддържат AWS Organizations. Cost Explorer и Anomaly Detection трябва да се активират от management акаунта (payer account), откъдето имате консолидирана видимост върху разходите на всички linked акаунти в организацията.
Article changelog (1)
- — SEO meta refreshed (title and description updated)


