Billing, Budget, and Cost Management (Task 4.2)
Billing, Budget, and Cost Management Resources
Source: https://docs.aws.amazon.com/cost-management/latest/userguide/what-is-cost-management.htmlThe exam maps questions to tools: estimate vs analyze vs alert vs raw data. Senior engineers build a LOOP: estimate (Calculator) → observe (Cost Explorer) → alert (Budgets/Anomaly Detection) → attribute (tags/CUR) → optimize (rightsizing, commitments) — repeated monthly, this loop is the discipline called FinOps.
The Cost Management Toolkit
| Tool | Question It Answers | Key Fact |
|---|---|---|
| AWS Pricing Calculator | What WILL this cost before I build it? | Estimate service-by-service before deployment |
| AWS Cost Explorer | What DID / WILL we spend? | 12 months of history + 12-month forecast; filter by service/tag/account; RI/SP recommendations |
| AWS Budgets | Alert me at thresholds | Actual OR forecasted spend; cost, usage, RI coverage, RI utilization budgets; alerts via email/SNS/Chatbot |
| AWS Cost and Usage Report (CUR) | Every billing line-item for deep analysis | Most granular dataset; delivered to S3 (hourly/daily); query with Athena |
| AWS Billing Conductor | Showback / custom billing views | Re-invoice and allocate costs across business units with custom rates |
| Cost Anomaly Detection | Did something spike unexpectedly? | ML-based alerts on unusual spend |
Decision pattern: "plan/estimate" → Pricing Calculator; "analyze/visualize/forecast" → Cost Explorer; "notify/alert/limit" → Budgets; "raw data for my own BI" → CUR.
How Budgets work
Brief: Threshold-based alerts on cost, usage, RI coverage, or RI utilization — with 2 actionable budgets free.
How it works: A budget compares ACTUAL (or forecasted) spend against a threshold you set and notifies email/SNS/Chatbot when crossed. Forecast alerts fire EARLY — a forecasted 100% alert on day 12 catches a runaway workload while $8k of the damage is still avoidable; an actual-only alert on day 12 is just news.
Real use-case: A dev account gets a $500/month budget with forecast alerts at 80%. A forgotten 40-instance ASG test on the 5th triggers the forecast alert by lunchtime — deleted the same day instead of surfacing in a month-end bill review.
Gotchas & interview notes: Budgets ALERT; they do not STOP spend (that takes SCPs or permission changes). Four budget TYPES exist — cost, usage, RI coverage, RI utilization — the exam lists them as answer options.
How the CUR works
Brief: The most granular billing data AWS offers — every line item with resource IDs, tags, and pricing details, delivered as files to S3.
How it works: The CUR updates hourly or daily into S3 (CSV/Parquet); Glue catalogs it; Athena/QuickSight query it for answers Cost Explorer cannot slice (per-resource margins, per-customer showback, unit economics). Cost Explorer is the friendly summary; the CUR is the source of truth.
Real use-case: A SaaS company computes per-customer infrastructure cost from the CUR (tag every resource by customer ID) — showing engineering AND sales which customers are profitable at which tier, refreshed nightly in QuickSight.
AWS Organizations — Consolidated Billing
Brief: One payer account pays for all member accounts in a hierarchy (root → OUs → accounts).
How it works: Usage rolls up to the payer, so tiered pricing thresholds (S3, EBS) are reached faster with aggregated volume. RI and Savings Plans benefits are shared automatically across all accounts — a reservation bought by the payer covers matching usage in any member. Governance arrives with the billing: SCPs restrict what accounts can do (deny Region changes, deny disabling CloudTrail), and cost visibility exists per account.
Real use-case: A 30-account company buys RIs against the org-wide steady-state usage instead of per-account guessing; the shared coverage eliminates the "we bought reservations nobody used" failure mode and cuts the consolidated bill 30%.
Gotchas & interview notes: consolidated billing + shared RI/SP benefit is the classic exam pairing. The payer sees ALL costs; members see only their own — a governance decision, not a technical one.
Cost Allocation Tags
Brief: Tags (key:value labels) become BILLING dimensions once activated in the Billing console.
How it works: AWS-generated tags (e.g., aws:createdBy) and user-defined tags (Project:Alpha, CostCenter:Finance) attach to resources; only ACTIVATED user tags flow into Cost Explorer and the CUR. Tag Editor and Resource Groups apply tags in bulk; tag policies (Organizations) enforce consistent keys.
Real use-case: A company tags every resource Team= at provisioning (enforced by IaC templates — resources without the tag fail the pipeline), activates the tag, and produces a spend-by-team view that Finance now treats as the official showback report.
Gotchas & interview notes: tags must be ACTIVATED to appear in billing — the exam's exact wording. Tag at CREATION (IaC), not retroactively: tagging 3,000 existing resources by hand is how nobody spends a Friday.
Worked Example: Cost Governance Rollout
A 15-account organization wants cost control:
- Pricing Calculator validates the launch design (~$9k/month estimate)
- Budgets: a monthly $10k actual-spend budget with alerts at 80%/100%, plus per-team budgets via tags
- Cost Explorer weekly review shows EC2 growing 12%/month → forecast budget set to catch it
- CUR lands in S3, Glue-cataloged, queried in Athena for per-product margins
- Billing Conductor issues internal invoices: 40% to Platform, 35% to Payments, 25% to Data
- Organizations consolidated billing lets the ERP's Reserved Instances cover spikes in any account
- An anomalous 3 AM Lambda bill spike is caught by Cost Anomaly Detection before month-end