2026-03-22 · AWS Cost
How to Set Up AWS Billing Alerts
AWS does not send you a warning when your bill is about to get painful. By default, you find out at the end of the month when the invoice arrives. Billing alerts fix that, and they take about ten minutes to set up.
There are two tools worth knowing: CloudWatch Billing Alarms and AWS Budgets. They serve slightly different purposes and work best together.
CloudWatch Billing Alarms
CloudWatch billing alarms watch your estimated monthly charges and trigger when the total crosses a threshold you set. They are the simplest option and good for catching absolute cost overruns.
To set one up, go to CloudWatch in the console. Make sure you are in us-east-1, as billing metrics are only available in that region. Go to Alarms, then Create Alarm. Under the metric browser, select Billing, then Total Estimated Charge. Set your threshold, choose SNS as the notification method, and create or select a topic with your email address.
You will get an email confirmation for the SNS subscription. Confirm it, and the alarm is live.
The main limitation is that CloudWatch billing alarms only fire when the total crosses the threshold, not when spend is trending toward it. You also have to create a separate alarm for each service if you want per-service visibility.
AWS Budgets
AWS Budgets is more flexible. You can create alerts based on actual spend, forecasted spend, or usage. Forecasted alerts are particularly useful because they fire before you hit the threshold, giving you time to act.
To create a budget, go to AWS Billing in the console and select Budgets. Create a new budget, choose Cost Budget, and set your monthly amount. Under alert thresholds, add one at 80 percent of actual spend and another at 100 percent of forecasted spend. Put your email in the notification settings.
The forecasted alert at 100 percent is the one that actually helps. If AWS predicts you will overspend based on the current month's trajectory, you get the alert mid-month rather than after the damage is done.
AWS Budgets also lets you filter by service, account, tag, or region. If you want separate alerts for EC2 and RDS, you can set that up with two budgets and different filters applied.
Cost Anomaly Detection
Both of the above tools work against fixed thresholds. Cost Anomaly Detection is different. It uses machine learning to learn your normal spend patterns and alerts you when something deviates, regardless of whether you set a threshold.
This is useful for catching unexpected spikes that are large relative to your baseline but might not cross a fixed threshold. A service that normally costs $50 per month suddenly hitting $400 would trigger an anomaly alert even if your total budget alert is set at $5,000.
To enable it, go to AWS Cost Management and select Cost Anomaly Detection. Create a monitor for AWS services or filter by specific services, linked accounts, or cost categories. Set a subscription with a dollar threshold for what counts as worth alerting on. Zero works but will generate noise on small accounts.
What threshold to use
A common setup that works for most teams: a CloudWatch alarm at a hard ceiling you never want to cross, a Budget alert at 80 percent of your expected monthly spend, a forecasted Budget alert at 100 percent, and a Cost Anomaly Detection monitor at whatever dollar amount represents a meaningful surprise for your account size.
If your typical bill is $2,000 per month, you might set the hard ceiling at $4,000, the budget alert at $1,600, the forecast alert at $2,000, and the anomaly threshold at $200.
What alerts do not do
Billing alerts tell you that spend is high or trending high. They do not tell you which service caused it or why it happened. When an alert fires, your next step is still the investigation: Cost Explorer to see which service increased, then your Cost and Usage Report for the root cause.
If you want to skip the manual investigation, BillSpike automates the diagnosis. Upload your CUR and you get a breakdown of exactly which services drove the increase and whether it was usage, pricing, or a shift in your workload mix.
Analyze your own AWS cost spike at billspike.io