AWS Cost Management Tools
Three services cover the everyday work of watching AWS spend: Cost Explorer to look at what happened, AWS Budgets to be told about what is happening, and consolidated billing to make both work across more than one account.
Cost Explorer
Section titled “Cost Explorer”Cost Explorer is the interactive view of cost and usage. It groups spend by service, account, Region, instance type, usage type, cost category or tag, at daily or monthly granularity — hourly and resource-level granularity are available as a paid option. It also forecasts spend for the remainder of the current period.
Its two most useful non-obvious features are the rightsizing recommendations (idle and over-provisioned EC2 instances, sourced from Compute Optimizer) and the Reserved Instance and Savings Plans recommendations, which model a commitment against your actual usage history rather than against a guess.
Cost Explorer answers “where did the money go”. For anything more specific — per-resource attribution, custom joins, a warehouse — use Cost and Usage Reports.
AWS Budgets
Section titled “AWS Budgets”A budget sets a threshold and notifies you when actual or forecast spend crosses it. Six types exist:
| Budget type | Tracks |
|---|---|
| Cost | Spend against a target amount. |
| Usage | Usage of one or more services against a target quantity. |
| RI utilization | Whether the Reserved Instances you own are actually being used. |
| RI coverage | What proportion of eligible instance hours a reservation covers. |
| Savings Plans utilization | Whether committed Savings Plans spend is being consumed. |
| Savings Plans coverage | What proportion of eligible usage a Savings Plan covers. |
Targets can be fixed or vary month to month, and a custom period can be set to match a fiscal year, project or grant rather than a calendar month. Budgets track blended, unblended, net unblended, amortized or net amortized cost, and can include or exclude discounts, refunds, support fees and tax — which matters, because a budget that silently includes tax will fire for reasons nobody understands.
Notifications go to email, to an Amazon SNS topic, or to both. Budget actions go further: on crossing a threshold, Budgets can apply an IAM policy or service control policy, or stop EC2 or RDS instances. That turns a budget from a warning into a control, and it is the mechanism behind most “stop the runaway dev account” designs.
Two caveats. Budget data refreshes up to three times a day, typically 8–12 hours apart, and there is a further lag between using a resource and being billed for it — so spend can overshoot a threshold before the notification arrives. And budgets are visible only within the account that created them; a management-account budget tracking a member account’s spend is not visible to that member account.
For a cross-account alerting design that routes budget alerts back into the accounts that caused them, see cross-account cost management.
Consolidated billing
Section titled “Consolidated billing”Consolidated billing rolls every member account’s charges up to the organization’s management account. Beyond the convenience of one invoice and one payment method, it changes the arithmetic in two ways:
- Tiered pricing aggregates. Services that charge less per unit as monthly volume rises — S3 storage and data transfer are the clearest examples — compute the tier across the organization’s combined usage, not per account. Three accounts each sitting just inside the most expensive tier will, consolidated, spend part of their volume in a cheaper one.
- Commitments are shared. Reserved Instances and Savings Plans purchased in one account apply to matching usage anywhere in the organization by default, so unused commitment in one account offsets on-demand usage in another. This can be turned off per account where a team must be billed strictly for what it used.
Both effects only appear if the accounts are in the same organization. Two organizations do not aggregate.
Related
Section titled “Related”- AWS Trusted Advisor — automated cost, security and fault tolerance checks, including Reserved Instance recommendations.
- AWS Compute Optimizer — rightsizing and idle-resource recommendations across fourteen resource types.
- Tagging and resource groups — the prerequisite for attributing any of this to a team or a project.