CLF-C02 Beginner 15 min

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.

AWS BudgetsAmazon CloudWatchCost Explorer
Progress: 0 / 5 steps
Step 1
Explore the Billing Dashboard

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).

Tip: Cost Explorer needs 24h of data before charts appear on brand-new accounts.
Step 2
Create a Monthly Cost Budget

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

Tip: Forecasted alerts catch runaway spend EARLY in the month — often the difference between a $4 surprise and a $400 one.
Step 3
Verify and Test the Alert Channel

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

Tip: Budgets can track cost, usage, RI coverage, and RI utilization — the exam expects you to know all four budget types exist.
Step 4
Create a CloudWatch Billing Alarm

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

bash
# 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
Tip: Billing alarms only exist in us-east-1 — a classic exam and real-world gotcha.
Step 5
Clean Up

1. Budgets → select budget → Delete
2. CloudWatch → Alarms → delete the alarm
3. SNS → Topics → delete the topic (and its subscription)

Tip: Budgets (2 actionable) and alarms are free — keep at least one budget permanently on every account you own.