AWS Billing Alerts Not Working? How to Fix
You set up AWS Budgets but alerts never arrived. Here's how to fix the most common issues and get alerts working.
What this problem means
You configured AWS Budgets for billing alerts, but you never received an email when the bill spiked. Alerts can fail for several reasons: Cost Explorer not enabled, SNS issues, IAM permissions, or wrong budget configuration.
Why this is dangerous
- No warning: Without alerts, you often discover the problem when the invoice arrives.
- Compounding: Issues like runaway Lambda or scrapers can scale costs in days.
- False confidence: "We have alerts" means nothing if they don't fire.
Real-world example
A startup set up AWS Budgets with alerts at 80% and 100% of their expected spend. When their bill spiked to $12,000 (from a leaked API key), they never got an email. The SNS topic was configured but the subscription wasn't confirmed. They discovered the breach when the invoice arrived.
How to fix it
1. Enable Cost Explorer: Budgets require Cost Explorer data. Enable it in Billing & Cost Management.
2. Verify SNS: Ensure your SNS topic has a confirmed email subscription. Check your inbox for the confirmation link.
3. IAM permissions: The budget needs permissions to publish to SNS. Use the AWS-managed policy or create a custom one.
4. Budget type: Use "Cost" budget, not "Usage" or "Reservation" unless that's what you need.
5. Test: Trigger a test alert by setting a very low threshold.
Tools and configurations
- AWS Budgets: Set up in Billing & Cost Management.
- SNS: Create a topic, add email subscription, confirm it.
- Cost Explorer: Must be enabled for Cost budgets.
- IAM: Ensure `budgets:ViewBudget` and SNS publish permissions.
Common mistakes
- Not confirming the SNS email subscription.
- Cost Explorer not enabled.
- Wrong budget type (Usage vs Cost).
- Setting thresholds too high (e.g., 100% only—you get alerts too late).
Quick checklist
- [ ] Enable Cost Explorer in Billing & Cost Management
- [ ] Confirm SNS email subscription (check spam)
- [ ] Verify IAM permissions for Budgets
- [ ] Use Cost budget for spend alerts
- [ ] Set alerts at 50%, 80%, and 100%
- [ ] Test with a low threshold
Need help with production readiness? Get a free 30-minute audit.
Book Free 30-Min Production AuditCheck if your system has this risk
Take the 60-second production readiness assessment to identify gaps in your infrastructure.
Start AssessmentFrequently asked questions
- Why aren't my AWS billing alerts working?
- Common causes: SNS email subscription not confirmed, Cost Explorer not enabled, wrong budget type, or IAM permissions. Check each and test with a low threshold.
- How do I enable AWS Cost Explorer?
- Go to Billing & Cost Management > Cost Explorer. Click Enable. It may take up to 24 hours for data to appear. Budgets require Cost Explorer.
- Do I need to confirm SNS for AWS Budgets?
- Yes. When you add an email to an SNS topic, you must click the confirmation link in the email. Until then, alerts won't be delivered.