AWS Budgets
A cost management service that lets you set custom budgets for AWS costs, usage, and Reserved Instance coverage, triggering alerts and automated actions when thresholds are exceeded
Overview
AWS Budgets lets you set custom budgets for AWS spending and usage, monitoring budget overruns and forecast overruns in real time. You can create six types of budgets - cost budgets, usage budgets, RI coverage budgets, RI utilization budgets, Savings Plans coverage budgets, and Savings Plans utilization budgets - and send email, SNS, or Chatbot notifications when thresholds are exceeded. With Budget Actions, you can automatically apply IAM policies or stop EC2/RDS instances when budgets are exceeded.
Budget Types and Practical Configuration Patterns
Of the six budget types, cost budgets are the most commonly used in practice. The standard pattern is to set a monthly cost budget with three threshold alerts: when actuals exceed 80% of budget, when actuals exceed 100%, and when the forecast exceeds 100%. Budgets can be filtered by service, linked account, or tag - not just at the account level. For example, you can set up alerts like "notify when monthly costs for the production environment (env=prod tag) exceed 5,000 USD." Usage budgets set thresholds on specific service usage metrics (EC2 running hours, S3 storage volume, Lambda invocation count, etc.). They're useful when you want to manage by usage rather than cost, and can also monitor free tier consumption. RI coverage and RI utilization budgets help optimize Reserved Instance purchasing strategy. Low coverage (high on-demand ratio) suggests considering additional purchases, while low utilization indicates potential over-purchasing. Equivalent coverage and utilization budgets are available for Savings Plans as well.
Automated Cost Control with Budget Actions
Budget Actions automatically execute actions when budgets are exceeded, preventing cost runaway without human intervention. Three types of actions are available. First, IAM policy application: attach an IAM policy that prohibits resource creation to users or roles when the budget is exceeded, physically blocking new resource creation. Second, SCP (Service Control Policy) application: if using Organizations, apply SCPs to specific OUs or accounts to restrict use of high-cost services. Third, stopping EC2 or RDS instances: the typical pattern is auto-stopping development environment instances when budgets are exceeded. Action execution modes offer "automatic execution" and "approval-required execution." Use approval-required for actions affecting production environments, and automatic execution for stopping development instances. Note that Budget Actions depend on budget evaluation timing (typically three times per day), so they're not suited for real-time control. For real-time cost anomaly detection, use Cost Anomaly Detection in combination.
Choosing Between Cost Explorer and Cost Anomaly Detection
AWS cost management tools serve different roles and should be used in combination. Budgets primarily monitors actuals against plans, tracking spending and forecasts against pre-set budgets. It's suited for monthly, quarterly, and annual budget management, and is used for executive reporting and departmental cost allocation. Cost Explorer primarily analyzes and visualizes historical costs, showing cost trends by service, account, tag, and region in graphical form. It's used for investigating cost increases and reviewing Reserved Instance purchase recommendations. Cost Anomaly Detection automatically detects unusual cost fluctuations, with machine learning models that learn historical cost patterns and automatically identify abnormal cost increases. It works without configuration, catching unexpected cost spikes even for services without budgets. The recommended production setup is a three-layer approach: set monthly budgets with Budgets, enable daily anomaly detection with Cost Anomaly Detection, and perform detailed analysis with Cost Explorer at month-end. The first two budgets are free, and additional budgets cost just 0.02 USD per month each, making this an essential first step for cost management across all accounts.