Set Up a Billing Alarm and Budget
Create cost guardrails: a monthly budget with alerts, a billing alarm, and learn where to analyze spend — the core of the Billing, Pricing, and Support domain.
1. Console → click your account name → Billing and Cost Management
2. Review: Spend summary, Month-to-date top services, Free Tier usage
3. Open Cost Explorer → set the date range to "Last 3 months"
Note which service dominates your bill (usually EC2 or S3 in labs).
1. Billing console → Budgets → Create budget
2. Budget type: Custom (Template)
3. Choose "Monthly cost budget"
4. Amount: $5 (or your comfort level)
5. Alert 1: Actual spend ≥ 80% ($4)
6. Alert 2: Forecasted spend ≥ 100%
7. Email recipients: your email → Create
1. Check your inbox for the confirmation email (AWS Budgets)
2. Open the budget → view its filters (scope: all services, all accounts)
3. Optionally add a second budget scoped to ONE service: e.g., Amazon S3 with a $1 limit
1. CloudWatch (us-east-1 ONLY — billing metrics live there) → Alarms → All alarms → Create alarm
2. Metric: Billing → Total estimated charge
3. Condition: > $5 USD
4. Notification: create/select an SNS topic with your email, confirm the subscription email
5. Create alarm
# Equivalent CLI (run from any terminal):
aws cloudwatch put-metric-alarm \
--alarm-name "TotalEstimatedCharges" \
--metric-name EstimatedCharges \
--namespace AWS/Billing \
--statistic Maximum \
--period 21600 \
--threshold 5 \
--comparison-operator GreaterThanThreshold \
--dimensions Name=Currency,Value=USD \
--evaluation-periods 1 \
--region us-east-1
1. Budgets → select budget → Delete
2. CloudWatch → Alarms → delete the alarm
3. SNS → Topics → delete the topic (and its subscription)