SAA-C03Chapter 33 of 189Objective 4.4

AWS Cost Explorer and Budgets

This chapter covers AWS Cost Explorer and AWS Budgets, two core tools for cost management and optimization in AWS. For the SAA-C03 exam, understanding how to analyze costs, set budgets, and configure automated actions is critical, as roughly 5–10% of questions touch on cost management. You will learn the exact mechanisms, default values, and integration points that the exam tests, including how to use Cost Explorer for historical analysis and forecasting, and how AWS Budgets can trigger actions based on thresholds.

25 min read
Intermediate
Updated May 31, 2026

AWS Budgets as Personal Finance Apps

Imagine you have a personal finance app that tracks your spending across multiple credit cards and bank accounts. You set a monthly budget of $2,000 for dining out. The app monitors every transaction in real time. When you've spent 80% of your budget, it sends you a push notification. When you hit 100%, it locks your dining card. Similarly, AWS Cost Explorer is like a detailed spending report that shows you exactly where your money went last month, broken down by category (restaurants, groceries, etc.), and lets you forecast next month's spending based on past trends. AWS Budgets is the proactive alert system: you set thresholds (e.g., $10,000 monthly spend) and define actions (e.g., send an SNS email, or apply an IAM policy to restrict resource creation) when actual or forecasted costs exceed those thresholds. Just as your finance app can automatically stop you from overspending, AWS Budgets can integrate with AWS services to enforce governance. Cost Explorer shows you the past; Budgets warns you about the future.

How It Actually Works

What Are AWS Cost Explorer and Budgets?

AWS Cost Explorer is a visual tool that allows you to view, analyze, and forecast your AWS costs and usage over time. It provides default reports (e.g., cost by service, linked account, or region) and lets you create custom reports with filters and grouping. AWS Budgets is a complementary service that enables you to set custom budgets for cost or usage and receive alerts when actual or forecasted costs exceed your thresholds. Budgets can also trigger automated actions to control spending.

How Cost Explorer Works Internally

Cost Explorer queries the AWS Cost and Usage Reports (CUR) data stored in Amazon S3. The CUR is a detailed, hourly or daily CSV file that contains all cost and usage data for your account. Cost Explorer aggregates this data and presents it in a precomputed, indexed manner for fast retrieval. The tool supports: - Time granularity: Hourly, daily, or monthly. - Grouping: By service, linked account, region, instance type, tag, or custom dimension. - Filters: By date range, service, region, etc. - Forecasting: Uses machine learning to predict future costs based on historical trends (up to 12 months of data).

Default reports include:

Monthly costs by service

Daily costs by linked account

Hourly costs for EC2 instances

Key Features and Defaults

Data retention: Cost Explorer retains data for the last 12 months.

Forecast accuracy: Typically within 10% for the next month.

API: The Cost Explorer API (awsce) allows programmatic access.

Cost allocation tags: You can tag resources and group costs by those tags. AWS-generated tags (e.g., aws:createdBy) and user-defined tags are supported.

Savings Plans and Reserved Instance recommendations: Cost Explorer provides recommendations for purchasing Savings Plans or Reserved Instances based on your usage patterns.

How AWS Budgets Works

AWS Budgets lets you set a budget amount (cost or usage) and define up to 5 budget thresholds (e.g., 50%, 80%, 100%, 150% of budget). For each threshold, you can specify an action: - SNS notification: Sends an email or SMS via Amazon SNS. - Lambda action: Invokes a Lambda function to perform custom actions (e.g., stop instances). - IAM policy action: Applies an IAM policy to a user or role to restrict permissions (e.g., deny creating new resources).

Budgets are evaluated every 6 hours (for cost budgets) or hourly (for usage budgets). The evaluation is based on actual costs/usage and forecasted costs/usage. You can also set budget alerts for forecasted costs.

Types of Budgets

Cost budgets: Monitor total costs or costs filtered by service, tag, etc.

Usage budgets: Monitor usage of specific services (e.g., EC2 hours, S3 GB storage).

RI utilization budgets: Monitor utilization of Reserved Instances.

RI coverage budgets: Monitor coverage of Reserved Instances.

Savings Plans utilization budgets: Similar to RI.

Savings Plans coverage budgets: Similar to RI.

Integration with Other Services

AWS Cost Anomaly Detection: Uses machine learning to detect anomalous spend and can trigger alerts.

AWS Organizations: You can set budgets at the master account level to monitor all linked accounts.

AWS Config: Can be used to enforce tagging policies that feed into cost allocation.

CloudWatch: Budget alerts can be published as CloudWatch metrics.

CLI and Console Examples

To view costs with Cost Explorer via CLI:

aws ce get-cost-and-usage \
    --time-period Start=2023-01-01,End=2023-01-31 \
    --granularity MONTHLY \
    --metrics "BlendedCost" "UsageQuantity"

To create a budget:

aws budgets create-budget \
    --account-id 123456789012 \
    --budget file://budget.json

Example budget.json:

{
    "BudgetName": "MonthlyCostBudget",
    "BudgetLimit": {
        "Amount": "10000",
        "Unit": "USD"
    },
    "TimePeriod": {
        "Start": "2023-01-01",
        "End": "2023-12-31"
    },
    "TimeUnit": "MONTHLY",
    "BudgetType": "COST",
    "CostFilters": {
        "Service": ["AmazonEC2"]
    }
}

Best Practices

Enable cost allocation tags and tag resources consistently.

Set up budgets at the start of a project to avoid surprise bills.

Use multiple thresholds: e.g., 80% for warning, 100% for critical, 150% for emergency.

Combine with AWS Budget Actions to automate remediation (e.g., stop non-production instances).

Use Cost Explorer to identify underutilized resources and adjust capacity.

Walk-Through

1

Enable Cost Explorer

Navigate to the AWS Billing and Cost Management console and enable Cost Explorer. This triggers the creation of the necessary data pipeline to aggregate cost and usage data from CUR. Once enabled, data becomes available within 24 hours. There is no additional cost for the Cost Explorer console; API calls are charged per request (e.g., $0.01 per request).

2

Create a Budget

In the Budgets console, click 'Create budget'. Choose budget type (cost, usage, RI, or Savings Plans). Set the budget amount (e.g., $10,000) and time period (monthly, quarterly, yearly). Optionally, add filters (e.g., only EC2 costs) and cost allocation tags. Define up to 5 alert thresholds with actions (e.g., email SNS). The budget becomes active immediately.

3

Set Alert Thresholds

For each threshold, specify a percentage of the budget (e.g., 80%). Choose the action: send notification via SNS, invoke Lambda, or apply IAM policy. The evaluation occurs every 6 hours for cost budgets. If actual or forecasted costs exceed the threshold, the action triggers. For example, at 100%, you could invoke a Lambda that stops all non-production EC2 instances.

4

Analyze with Cost Explorer

Open Cost Explorer and select a date range (up to 12 months). Choose granularity (daily or monthly). Group by service, region, or tag. Apply filters to narrow down. The chart displays costs over time. You can export the data to CSV. The forecast tab shows predicted costs for the next month. Use this to identify cost drivers and adjust budgets.

5

Review Cost Anomaly Detection

Enable AWS Cost Anomaly Detection to get alerts for unusual spend. This service uses ML to establish a baseline and sends alerts when spend deviates. You can link it to a budget for additional monitoring. For example, if a new EC2 instance type spikes costs unexpectedly, you receive an alert and can investigate.

What This Looks Like on the Job

Enterprise Scenario 1: Multi-Account Cost Governance

A large enterprise uses AWS Organizations with 50+ linked accounts. The finance team wants to ensure no single account exceeds $5,000 per month. They create a cost budget at the master account level for each linked account using the 'LinkedAccount' dimension. They set thresholds at 80% (SNS email to account owner), 100% (Lambda function to apply an IAM policy that denies RunInstances), and 150% (emergency notification to the cloud team). Cost Explorer is used monthly to review spend by business unit using cost allocation tags. Performance: budgets scale to hundreds of accounts with no latency issues. Misconfiguration: forgetting to enable cost allocation tags leads to untracked spend; applying an overly restrictive IAM policy at 100% can block legitimate production deployments.

Enterprise Scenario 2: Reserved Instance Optimization

A SaaS company runs a fleet of 100 EC2 instances. Using Cost Explorer's RI recommendations, they identify that purchasing 50 Standard RIs for a 1-year term could save 30%. They set a usage budget for EC2 hours to monitor coverage. They also create an RI utilization budget to ensure they use at least 90% of their RIs. If utilization drops below 90%, they get an alert to modify instance sizes or sell unused RIs on the Reserved Instance Marketplace. Common mistake: not updating budgets after purchasing RIs, leading to false alerts.

Enterprise Scenario 3: Automated Cost Control for Dev/Test

A startup uses a single account for dev and test. They set a cost budget of $1,000 per month. At 100%, a Lambda action stops all EC2 instances tagged with 'Environment=Dev'. At 150%, it also stops RDS instances. Cost Explorer is used to track daily spend by service. Issue: if the budget is set too low, development work is interrupted; proper tuning requires historical data from Cost Explorer.

How SAA-C03 Actually Tests This

What SAA-C03 Tests

Questions on this topic (objective 4.4) focus on:

Differentiating Cost Explorer (historical analysis and forecasting) vs. Budgets (proactive alerts with actions).

Knowing that Budgets can trigger SNS, Lambda, or IAM policy actions.

Understanding that Cost Explorer uses CUR data and retains 12 months of data.

Recognizing that cost allocation tags must be enabled to filter costs in Cost Explorer and Budgets.

Knowing that Budgets evaluate every 6 hours for cost budgets and hourly for usage budgets.

Common Wrong Answers

1.

'Cost Explorer can send alerts.' Wrong – Cost Explorer is for analysis; Budgets send alerts.

2.

'Budgets can automatically stop EC2 instances directly.' Wrong – Budgets trigger Lambda, which can stop instances; they do not directly stop instances.

3.

'Cost Explorer provides real-time data.' Wrong – Data is delayed by up to 24 hours.

4.

'Budgets support only cost budgets.' Wrong – They also support usage, RI, and Savings Plans budgets.

Numbers and Terms on the Exam

12 months data retention for Cost Explorer.

6-hour evaluation interval for cost budgets.

5 alert thresholds per budget.

'BlendedCost', 'UnblendedCost', 'UsageQuantity' as metrics.

'Cost allocation tags' vs. 'AWS-generated tags'.

Edge Cases

Budgets for RI/Savings Plans: Questions may ask about utilization vs. coverage budgets.

Budgets with multiple accounts: Budgets at master account can monitor all linked accounts.

Budget actions: IAM policy action requires a specific policy ARN; the action is applied to a user/role.

Eliminating Wrong Answers

If a question mentions 'forecast', it is likely Cost Explorer. If it mentions 'alert' or 'action', it is Budgets. If it mentions 'automatic remediation', look for Budgets with Lambda or IAM policy. If it mentions 'real-time', it is probably wrong (both have delays).

Key Takeaways

Cost Explorer provides 12 months of historical data with forecasting; no alerts.

AWS Budgets can send SNS notifications, invoke Lambda, or apply IAM policies at thresholds.

Cost budgets evaluate every 6 hours; usage budgets evaluate every hour.

You can set up to 5 alert thresholds per budget.

Cost allocation tags must be activated to use them in Cost Explorer and Budgets.

Budgets can monitor costs, usage, RI utilization, RI coverage, Savings Plans utilization, and Savings Plans coverage.

AWS Cost Anomaly Detection uses ML to detect unusual spend and can integrate with Budgets.

Easy to Mix Up

These come up on the exam all the time. Here's how to tell them apart.

AWS Cost Explorer

Provides historical cost and usage analysis with charts and filters.

Supports forecasting up to 12 months.

Data is delayed by up to 24 hours.

No alerting or automated actions.

Free to use (console), API calls are charged.

AWS Budgets

Sets proactive cost/usage thresholds with alerts.

Can trigger SNS, Lambda, or IAM policy actions.

Evaluated every 6 hours (cost) or hourly (usage).

Supports cost, usage, RI, and Savings Plans budgets.

No cost for budgets, but actions may incur costs (e.g., Lambda).

Watch Out for These

Mistake

Cost Explorer shows real-time costs.

Correct

Cost Explorer data is delayed by up to 24 hours because it relies on the Cost and Usage Reports (CUR) which are generated daily.

Mistake

AWS Budgets can directly stop EC2 instances.

Correct

Budgets cannot directly manage resources. They can invoke a Lambda function, which can then stop instances, or apply an IAM policy to restrict actions.

Mistake

Budgets only monitor costs, not usage.

Correct

Budgets support cost, usage, RI utilization, RI coverage, Savings Plans utilization, and Savings Plans coverage budgets.

Mistake

Cost Explorer can send email alerts.

Correct

Cost Explorer does not send alerts. Alerts are sent by AWS Budgets or Cost Anomaly Detection.

Mistake

You need to enable cost allocation tags for Cost Explorer to work.

Correct

Cost Explorer works without tags, but tags enable filtering and grouping. Tags must be activated in the Billing console to appear in Cost Explorer.

Do You Actually Know This?

Reveal each answer, then mark whether you got it right. Score 60%+ to unlock the next chapter.

Frequently Asked Questions

How long does it take for Cost Explorer to show new data?

Cost Explorer data is updated once per day, typically within 24 hours. There is no real-time data. If you just launched a resource, it will appear in Cost Explorer the next day.

Can AWS Budgets automatically shut down resources when cost exceeds budget?

Yes, but indirectly. You can set a budget action to invoke a Lambda function, which can then stop EC2 instances or delete resources. Alternatively, you can apply an IAM policy that denies actions like RunInstances.

What is the difference between a cost budget and a usage budget?

A cost budget monitors monetary spend (e.g., $10,000). A usage budget monitors resource usage (e.g., 1,000 EC2 hours). Usage budgets are evaluated hourly; cost budgets every 6 hours.

Does Cost Explorer support Reserved Instance recommendations?

Yes, Cost Explorer provides RI and Savings Plans purchase recommendations based on your historical usage. It also shows RI utilization and coverage reports.

Can I set a budget for a specific tag?

Yes, you can filter budgets by cost allocation tags. For example, you can create a budget for all resources tagged with 'Project=Alpha'.

What happens if I exceed my budget?

Nothing automatically unless you configured an action. You will receive alerts if you set thresholds. If you set a Lambda action, it can enforce remediation. AWS does not stop your resources by default.

How do I enable cost allocation tags?

In the Billing and Cost Management console, go to Cost Allocation Tags, select the tag keys, and activate them. It may take up to 24 hours for tags to appear in Cost Explorer.

Terms Worth Knowing

Ready to put this to the test?

You've just covered AWS Cost Explorer and Budgets — now see how well it sticks with free SAA-C03 practice questions. Full explanations included, no account needed.

Done with this chapter?