AWS Budgets: The Advanced Architect’s Guide

AWS Budgets: The Advanced Architect's Guide

A production-grade deep dive into budget actions, forecasting internals, multi-account cost governance, and the security implications of letting a threshold alert automatically change infrastructure.

AWS Budgets is usually explained as “set a spending limit and get an email when you’re close to it.” That description undersells what the service actually is at an advanced level: a rules engine sitting on top of your organization’s cost and usage data, capable of not just alerting but automatically attaching IAM policies, applying Service Control Policies, and stopping running resources the moment a threshold is crossed. This guide assumes you already know how to create a basic monthly cost budget. We go straight into what matters for real financial governance at scale: how budget actions actually execute and what can go wrong when they do, how forecasting works under the hood, the multi-account patterns that make budgets useful across an entire AWS Organization, and the security review budget actions genuinely deserve before anyone flips them on in production.

1Advanced Core Concepts

The distinctions that determine what a budget can actually see and do: budget types beyond cost, budget actions as automated infrastructure changes, and cost categories as the real scoping mechanism.

Budget Types Answer Fundamentally Different Questions

A Cost Budget tracks spend against a dollar threshold. A Usage Budget tracks a specific metric — data transfer, compute hours — independent of price changes, which matters when the goal is capping consumption itself rather than dollars, such as enforcing an internal fair-use policy for a shared service. RI Utilization and RI Coverage budgets, along with their Savings Plans equivalents, answer a completely different question: not “are we spending too much” but “are we actually using the commitments we already paid for.” A team can be well under their cost budget while simultaneously wasting money on unused Reserved Instance capacity — these are orthogonal signals, and mature FinOps practice tracks both, not just the cost budget most teams default to.

Analogy

A Cost Budget is like watching your total grocery bill. A Utilization Budget is like checking whether you’re actually eating the meal-prep subscription you already paid for. You can be under budget on groceries while still wasting the money you already committed to the subscription.

Budget Actions: An Alert That Can Change Infrastructure

Budget Actions extend a threshold breach beyond notification into automated remediation: attaching a restrictive IAM policy to a role, applying a Service Control Policy at the account or organizational unit level, or stopping specified EC2 or RDS instances. This is the single most powerful and most dangerous capability in the service — it converts a passive alerting tool into something that can autonomously restrict what an engineering team is able to do the moment a dollar threshold is crossed, with real operational consequences if the action target or IAM policy is misconfigured.

Cost Categories and Filters Are the True Scoping Layer

A budget’s usefulness is entirely bound by how precisely it’s scoped. Cost allocation tags provide basic filtering, but Cost Categories let you define rule-based groupings that map cleanly onto how the business actually thinks about cost — by product line, by team, by environment — even when the underlying tagging is inconsistent or was applied after the fact. Advanced FinOps teams invest in Cost Category definitions before building out budgets, because a budget scoped to a poorly defined category will either under-alert (missing real spend that falls outside the category’s rules) or over-alert (capturing unrelated spend that happens to match a filter), and no amount of budget configuration can fix an upstream scoping problem.

Cost Budget

Dollar Threshold Tracking

Tracks actual and forecasted spend against a defined dollar limit over a chosen time period.

Usage Budget

Consumption Tracking

Tracks a specific usage metric independent of price, useful for enforcing consumption caps rather than spend caps.

RI / SP Utilization & Coverage

Commitment Efficiency

Tracks whether existing Reserved Instance or Savings Plans commitments are actually being used effectively.

Budget Actions

Automated Remediation

IAM policy attachment, SCP application, or resource stop actions triggered directly by a threshold breach.

Forecasted vs. Actual Alert Types

A budget alert can trigger on actual spend crossing a threshold, or on forecasted spend projected to cross it by the end of the budget period. Advanced usage leans on forecasted alerts specifically to get ahead of overruns — an actual-spend alert at 100% of a monthly budget fires only once the money is already gone, while a forecasted alert at 80% projected can surface a trend early enough for a team to actually intervene before the period ends, which is the entire point of budgeting as a governance tool rather than a retrospective report.

2Internal Working

How a budget actually calculates its numbers, how forecasting is derived, and what happens internally when an action triggers.

AWS Budgets is built on top of the same underlying cost and usage data that powers Cost Explorer and the Cost and Usage Report, refreshed on a periodic cycle rather than in true real time — meaning a budget’s displayed spend can lag actual resource usage by several hours. Forecasted values are derived using historical spend patterns within the current budget period combined with recent trend data, projecting where spend is likely to land by the period’s end. This is a statistical projection, not a guarantee, and its accuracy degrades meaningfully for accounts with highly irregular or seasonal spend patterns, where a short historical window doesn’t represent the actual variance well.

flowchart LR
    CUR[Cost & Usage Data] --> REFRESH[Periodic Budget Refresh Cycle]
    REFRESH --> CALC[Actual + Forecasted Spend Calculation]
    CALC --> EVAL[Threshold Evaluation]
    EVAL -->|Breach: Notification Only| SNS[SNS / Email / Chatbot Alert]
    EVAL -->|Breach: Action Configured| ACT[Budget Action Triggered]
    ACT -->|IAM Policy| IAM[Attach Restrictive IAM Policy]
    ACT -->|SCP| ORG[Apply Service Control Policy]
    ACT -->|Resource Stop| EC2[Stop EC2 / RDS Instances]
        
FIG 2.1 — From cost data refresh through threshold evaluation to an executed budget action

Budget Actions Require Explicit Approval Workflow by Default

An important internal detail: a budget action can be configured to execute automatically or to require manual approval before taking effect. Automatic execution is appropriate for well-understood, low-risk guardrails (stopping non-production instances after hours if cost exceeds a threshold); manual approval is the safer default for anything touching production-adjacent IAM policies or SCPs, since it inserts a human checkpoint before an automated system restricts what an engineering team can do, catching a misconfigured filter or an unusually legitimate spend spike before it triggers an unwanted lockout.

!
Common Misconception

“Budget actions only send stronger alerts” is a dangerous misunderstanding. A budget action configured for automatic execution genuinely changes IAM permissions, applies organizational policy, or stops running infrastructure — it is an infrastructure-modifying operation, not an enhanced notification.

Multi-Account Budgets Aggregate, They Don’t Micromanage

An AWS Organizations management account can create budgets that span linked accounts, aggregating spend across the organization or a subset of accounts. Internally, this aggregation still relies on each linked account’s underlying cost data being available and properly tagged — a budget spanning fifty accounts is only as accurate as the least-consistently-tagged account within that scope, which is why tagging governance is a prerequisite for meaningful organization-wide budgeting, not an afterthought.

3Data Flow & Lifecycle

Following a budget from definition through refresh cycles to a triggered action and its downstream consequences.

1

Budget Definition

A budget is created with a type, scope (filters or a cost category), time period, and one or more threshold-based alert or action configurations.

2

Periodic Refresh

Underlying cost and usage data is periodically re-evaluated against the budget’s scope, updating both actual and forecasted spend figures.

3

Threshold Evaluation

Each configured threshold — actual or forecasted — is checked against the latest refreshed figures on every evaluation cycle.

4

Notification or Action Dispatch

A breached threshold triggers configured notifications (email, SNS, chatbot integrations) and, if configured, a budget action either awaiting approval or executing automatically.

5

Downstream Effect & Reset

Once an action executes, the resulting infrastructure change (a stopped instance, an attached policy) persists until manually reversed; the budget itself resets its tracked period at the next cycle boundary.

Actions Don’t Auto-Reverse When Spend Drops Back Below Threshold

A critical lifecycle detail advanced teams must plan for: once a budget action executes — stopping an instance, attaching a restrictive policy — it does not automatically reverse itself if spend later drops back under the threshold or the budget period resets. Reversal requires either a separate automation (a Lambda function watching for the reset and removing the applied restriction) or manual intervention. Treating budget actions as “self-healing” without building the reversal path is a common gap that leaves resources stopped or policies attached long after the original condition that triggered them has resolved.

Production Example — Sandbox Account Auto-Shutdown

Organizations running developer sandbox accounts commonly pair a usage budget with an automatic-execution budget action that stops all non-critical EC2 instances once daily spend exceeds a small threshold, paired with a scheduled Lambda function that restarts eligible instances at the start of the next business day rather than relying on the budget cycle to reverse anything on its own.

4Advantages, Disadvantages & Trade-offs

Where Budgets earns its place in a FinOps toolchain, and where its data-lag and forecasting limitations show.

Advantages

  • Native, no-additional-infrastructure integration with existing cost and usage data
  • Budget Actions provide genuine automated guardrails, not just alerting, without custom Lambda glue code for common scenarios
  • Organization-wide, multi-account budgeting built directly into the management account experience
  • Distinct RI/Savings Plans utilization and coverage budgets surface commitment waste that cost-only tracking would miss entirely

Disadvantages & Limits

  • Data refresh lag means a budget is never a perfectly real-time view of current spend
  • Forecasting accuracy degrades for accounts with irregular or seasonal usage patterns
  • No native anomaly detection — a budget only fires on a defined threshold, not on an unusual pattern that stays under it
  • Reversal of triggered budget actions is not automatic and must be separately engineered

Budgets vs. Cost Anomaly Detection — Complementary, Not Redundant

Budgets answer “did we cross a threshold we defined in advance.” Cost Anomaly Detection answers a fundamentally different question — “does this spending pattern look statistically unusual for this workload,” even if it never crosses any fixed dollar amount. A gradual cost creep that stays under every configured budget threshold but represents genuinely wasteful and unexpected spend is exactly the blind spot Cost Anomaly Detection is designed to catch, which is why mature FinOps practices run both tools together rather than treating budgets as a complete cost-governance solution on their own.

5Performance & Scalability

How budget granularity and account count interact with refresh cadence and quota limits.

AWS Budgets scales to hundreds of individual budgets per account and organization-wide budgets spanning very large numbers of linked accounts, but scalability here is less about raw throughput and more about the practical governance overhead of maintaining a large, granular budget set. A budget-per-team-per-environment-per-project matrix quickly produces hundreds of individual budgets, each needing its own filter or cost category maintenance as the organization’s account and tagging structure evolves.

Hours
TYPICAL DATA
REFRESH LAG
Org-Wide
MULTI-ACCOUNT
BUDGET SCOPE SUPPORTED
Per-Account
SOFT QUOTA ON
NUMBER OF BUDGETS

Granularity Is a Trade-off Between Signal and Maintenance Burden

A single organization-wide cost budget is easy to maintain but gives almost no actionable signal about which team or workload is actually driving an overrun. A budget per team per project gives precise attribution but multiplies maintenance overhead — every new project needs a new budget, every reorganization needs budget scope updates, and stale budgets left pointing at decommissioned cost categories quietly stop providing any useful signal at all. Advanced FinOps design finds a middle tier: budgets scoped to meaningful cost centers (a product line, a major shared service) rather than either extreme.

Analogy

One company-wide budget is like a single smoke detector for an entire office building — it’ll eventually tell you something’s on fire, but not which floor. A detector in every single room gives perfect precision but is exhausting to maintain and replace batteries in. The right answer is usually one per floor or department, not one extreme or the other.

Refresh Lag Sets a Floor on Response Time

Because budget data refresh isn’t instantaneous, budget actions and alerts are not suitable as a real-time cost circuit breaker for a runaway process burning money in minutes — by the time a threshold breach is detected and an action executes, meaningful spend may already have occurred. For genuinely time-critical cost containment (a misconfigured auto-scaling group spinning up hundreds of instances in minutes), service-level guardrails like account-level service quotas or resource tagging enforcement at creation time are a necessary complement, not a replacement, for budget-based alerting.

6High Availability & Reliability

What happens when a notification fails to deliver or a budget action doesn’t execute as expected.

AWS Budgets is a managed, highly available service, but reliability at the governance layer depends heavily on the delivery paths configured around it — an SNS topic with no working subscriber, an email alert routed to a distribution list nobody actively monitors, or a chatbot integration that’s silently stopped forwarding messages all produce the same outcome as no alert existing at all: a threshold breach nobody actually saw.

Reliability Rule of Thumb

Treat every budget’s notification path as a piece of production infrastructure that needs periodic validation — a scheduled test alert or a documented review cadence confirming subscribers are still active — rather than a fire-and-forget configuration set once and never revisited.

Action Execution Failures Need Their Own Alerting

A budget action can itself fail to execute — an IAM permission gap preventing the action’s service role from attaching a policy, or a targeted resource that no longer exists. This failure is a distinct event from the underlying budget threshold breach and needs its own visibility; a team that only monitors the budget threshold notification and assumes the paired action always succeeded can be caught by surprise when a supposed automatic safeguard silently failed to actually apply.

Redundant Notification Channels for Critical Budgets

For budgets tied to genuinely critical spend thresholds (a hard organizational cost ceiling, a compliance-driven usage cap), configuring more than one notification channel — email plus an SNS-driven chat integration, for example — provides redundancy against a single channel’s delivery failure, the same defense-in-depth principle applied to any other critical alerting path in a production system.

7Security

Why budget actions deserve the same security review as any other automation capable of changing IAM policy or organizational controls.

The Budget Action’s Service Role Is a Privileged Identity

A budget action that attaches IAM policies or applies SCPs executes under a service-linked role with genuinely privileged permissions — the ability to modify what other roles and accounts can do. Advanced security reviews treat this role’s permission scope with the same scrutiny as any other automation capable of altering IAM state, because a misconfigured filter that unintentionally scopes an action too broadly (applying a restrictive SCP at the wrong organizational unit, for instance) can lock out far more of the organization than intended.

ADR-BG-008 Anti-Pattern
Context

A platform team wants to enforce a hard organizational spending ceiling by applying a restrictive Service Control Policy automatically when total organization spend crosses a threshold.

Anti-Pattern

Configuring the budget action for automatic execution, applying the SCP at the entire Organization root, without first running it in manual-approval mode to validate behavior against real spend patterns.

Why It Fails

An unexpectedly high legitimate spend event — a planned large-scale migration, a seasonal traffic spike already accounted for in the business plan — can trigger the same automatic SCP application, halting productive work organization-wide with no human review step to distinguish a legitimate spend event from a genuine anomaly.

Cross-Account Visibility in Organizations Has Its Own Boundary

Organization-wide budgets viewed from the management account expose aggregate and, depending on configuration, per-account cost detail across every linked account. This visibility itself is a sensitive capability — not every principal within the management account necessarily needs to see granular per-team spend across the entire organization, and IAM policies scoping who can view versus who can modify organization-wide budgets should be treated as deliberately as any other sensitive cross-account data access.

Manual Approval as a Security Control, Not Just an Operational One

Requiring manual approval for budget actions that touch IAM or SCPs functions as a genuine security control, not merely a caution against operational mistakes — it prevents a compromised or misused cost-management workflow (an over-privileged automation, a misconfigured Infrastructure-as-Code deployment) from being able to autonomously alter organizational security posture through the budget-action path.

Security ControlProtects AgainstWhere It’s Configured
Manual approval on IAM/SCP-modifying actionsAutonomous, unreviewed changes to organizational security postureBudget action configuration
Scoped action target (account/OU precision)Overly broad SCP or IAM application beyond intended scopeBudget action target definition
IAM policy on who can view/edit org-wide budgetsUnintended exposure of granular per-account cost dataManagement account IAM
Redundant notification channelsMissed threshold breaches due to single-channel delivery failureBudget alert subscriptions

8Monitoring, Logging & Metrics

The signals that reveal whether budgets are actually functioning as intended, not just configured.

CloudTrail Action Logs

Audit Trail for Executed Actions

Records every budget action execution, including the IAM policy or SCP applied, essential for post-incident review of an unexpected restriction.

Budget vs. Actual Variance

Forecasting Accuracy Signal

Comparing forecasted spend against what actually occurred reveals whether a given budget’s forecasting is trustworthy for that specific workload’s pattern.

Action Execution Failures

Automation Health Signal

Distinct from threshold breaches — tracks whether configured actions actually executed successfully when triggered.

Notification Delivery Confirmation

Alert Path Validation

Confirms SNS, email, or chatbot subscribers are actively receiving alerts, not just configured to receive them.

Reviewing Forecast Accuracy Periodically Builds Trust in the Tool

A budget whose forecasted alerts are consistently wildly off from actual outcomes for a specific workload erodes team trust in the entire budgeting system, leading to alert fatigue and eventual ignoring of legitimate warnings. Periodically reviewing forecast-versus-actual variance per budget, and adjusting thresholds or accepting that a particular workload’s spend pattern is too irregular for reliable forecasting, keeps the signal meaningful rather than becoming background noise.

“A budget alert nobody trusts is worse than no budget alert at all — it creates the illusion of governance while training people to ignore the warning.”

9Deployment & Cloud

Managing budgets as versioned infrastructure across a growing multi-account organization.

Budgets, their scopes, and their action configurations are best defined through infrastructure-as-code (CloudFormation or Terraform) rather than console configuration, particularly for organization-wide budgets whose scopes need to track an evolving account and tagging structure over time. A budget silently left pointing at a decommissioned cost category or a since-renamed tag key stops providing any meaningful signal, and this drift is far easier to catch in a reviewable, version-controlled definition than in ad hoc console-managed configuration.

Standardized Budget Templates Per Account Type

Rather than hand-crafting a unique set of budgets for every new account, mature organizations define standard budget templates — a sandbox account template with aggressive low thresholds and automatic-execution stop actions, a production account template with higher thresholds and manual-approval-only actions — deployed automatically as part of the account vending process itself, ensuring every new account gets baseline cost governance from day one rather than depending on someone remembering to configure it manually.

Production Example — Account Vending with Baseline Budgets

Organizations using an automated account factory (via AWS Control Tower or a custom account vending pipeline) attach a standard budget template as part of every new account’s baseline configuration, guaranteeing cost visibility exists before any workload is even deployed into the account.

Coordinating Budget Changes With Organizational Restructuring

When teams reorganize, accounts move between organizational units, or cost categories are redefined, budget scopes must be explicitly updated as part of that change — treating this as a required step in the reorganization runbook, rather than something discovered weeks later when budget reports stop making sense, prevents a long window of silently inaccurate cost governance.

10Design Patterns & Anti-patterns

The patterns that make budgets a genuine governance tool, and the shortcuts that quietly undermine trust in the system.

Pattern: Tiered Thresholds With Escalating Response

Rather than a single threshold triggering a single response, mature budgets configure multiple thresholds with escalating severity — a forecasted-spend alert at 70% for early visibility, an actual-spend alert at 90% requiring manual review, and an automatic action only at a final, near-certain-overrun threshold. This staged approach avoids both under-reacting to genuine risk and over-reacting to normal spend variance.

Pattern: Sandbox Guardrails, Production Visibility

Automatic-execution budget actions are appropriate for low-risk, easily-reversible environments (sandbox and development accounts), while production and revenue-generating environments favor manual-approval actions paired with strong alerting — recognizing that the cost of an unwanted automatic action in production (an accidentally stopped customer-facing service) is categorically higher than in a sandbox.

ADR-BG-015 Anti-Pattern
Context

A team wants consistent cost governance and decides to apply the exact same budget action configuration across every account in the organization, sandbox and production alike, for simplicity.

Anti-Pattern

Copying a sandbox account’s aggressive, automatic-execution “stop instances on threshold breach” action verbatim into every production account’s budget configuration.

Why It Fails

A legitimate production spend increase (a genuine traffic surge, a planned scaling event) triggers the same automatic instance-stopping behavior meant for an idle sandbox, potentially taking down customer-facing infrastructure precisely during a period of high, legitimate demand — the exact opposite of the intended safeguard.

Pattern: Cost Category-Driven Budgeting Over Raw Tag Filters

Building budgets against well-maintained Cost Categories rather than raw tag filters insulates budget scoping from the inevitable inconsistency of manually applied tags across a large organization, and allows the underlying categorization logic to evolve independently of every individual budget that references it.

11Best Practices & Common Mistakes

The habits that keep budgets trustworthy and useful, and the mistakes that quietly turn them into ignored noise.

Best Practice

Use Forecasted Alerts for Early Warning

Actual-spend alerts fire too late to act on; forecasted alerts give teams a genuine window to intervene before a period ends.

Best Practice

Build a Reversal Path for Every Automatic Action

A budget action that stops resources needs a paired mechanism to restart them once the underlying condition resolves.

Common Mistake

Copying Sandbox Guardrails Into Production

Automatic-execution actions appropriate for low-risk environments can cause real customer-facing harm if applied identically in production.

Common Mistake

Letting Budget Scopes Drift From Reality

Reorganizations and tagging changes that aren’t reflected in budget scope definitions silently produce meaningless or misleading budget signal over time.

Review Both Utilization and Cost Budgets Together

A FinOps review that only checks cost budgets misses committed-spend waste entirely. Pairing cost budget reviews with RI and Savings Plans utilization and coverage budget reviews on the same cadence catches both categories of financial inefficiency, rather than optimizing one while remaining blind to the other.

12Real-World & Industry Examples

How organizations apply these advanced budgeting patterns in day-to-day cost governance.

SaaS Platforms With Per-Customer Cost Attribution

Multi-tenant SaaS platforms use Cost Categories built from customer-specific tagging to create per-customer or per-tier cost budgets, catching individual customer workloads whose infrastructure cost has grown disproportionate to their contract value long before it shows up as an aggregate margin problem.

Enterprises With Centralized FinOps Teams

Large enterprises with a dedicated FinOps function use organization-wide budgets with tiered, escalating thresholds per business unit, combined with standardized account-vending budget templates, so every new account starts with baseline governance without the central team needing to manually configure each one.

Startups Managing Runway-Sensitive Cloud Spend

Early-stage companies closely tracking cloud spend against limited runway use aggressive, low-threshold forecasted alerts on their primary production account, paired with sandbox-account automatic shutdown actions, to catch both gradual creep and sudden misconfiguration-driven spikes before either meaningfully threatens their burn rate.

The Common Thread

Every mature use case treats budget scope quality, forecasted alerting, and the risk profile of automatic actions as deliberate design decisions tied to the specific environment they govern — never a single, one-size-fits-all configuration copied uniformly across every account.

13Frequently Asked Questions

Q1Do budget actions automatically reverse once spend drops below the threshold?
No. A stopped instance stays stopped and an attached policy stays attached until manually reversed or reversed by separate automation you build — the budget itself does not undo the action.
Q2Should budget actions execute automatically or require approval?
It depends on environment risk: automatic execution suits low-risk, easily-reversible environments like sandboxes, while production or anything touching IAM/SCPs should generally require manual approval as a real security control, not just an operational caution.
Q3Why is my budget’s data slightly behind actual current spend?
Budgets refresh on a periodic cycle rather than in true real time, so there’s an inherent lag between actual resource usage and what the budget displays — this makes it unsuitable as a real-time cost circuit breaker for fast-moving overruns.
Q4What’s the difference between a Cost Budget and a Utilization Budget?
A Cost Budget tracks dollar spend against a threshold. RI/Savings Plans utilization and coverage budgets track whether existing commitments are being efficiently used — a team can be well under a cost budget while still wasting money on unused committed capacity.
Q5Can AWS Budgets detect an unusual spending pattern that never crosses my threshold?
No, budgets only react to defined thresholds. A gradual, unexpected cost creep that stays under every threshold is exactly what Cost Anomaly Detection is designed to catch instead — the two tools are complementary.
Q6Should I use raw cost allocation tags or Cost Categories to scope a budget?
Cost Categories are generally more reliable at scale, since they use rule-based logic that can accommodate inconsistent or after-the-fact tagging far better than direct tag filters alone.
Q7What happens if a budget action fails to execute?
The failure is a distinct event from the threshold breach itself and needs separate monitoring — a team watching only the breach notification can wrongly assume a paired safeguard executed successfully when it actually didn’t.
Q8Is it safe to copy the same budget action configuration across every account?
Not without adjusting for risk profile — an aggressive automatic-execution action appropriate for a sandbox account can cause real harm if applied identically to a production, customer-facing account.
Q9Who should be able to view an organization-wide budget’s per-account detail?
This should be scoped deliberately through IAM, since granular per-account or per-team spend visibility across an entire organization is itself sensitive data, not something every principal in the management account necessarily needs.
Q10How often should I review whether my budgets are still accurate?
Tie budget scope review to organizational events — reorganizations, account restructuring, tagging changes — rather than a fixed calendar alone, since scope drift from these events is the most common cause of budgets silently becoming meaningless.

14Summary & Key Takeaways

What to Carry Forward

  • Cost budgets and utilization budgets answer different questions — track both to catch spend overruns and committed-capacity waste separately.
  • Budget actions modify real infrastructure and IAM state, not just send stronger alerts — review them with the same rigor as any privileged automation.
  • Triggered actions don’t auto-reverse; build the reversal mechanism alongside the action itself.
  • Forecasted alerts give a genuine window to act; actual-spend alerts often fire too late to change the outcome.
  • Manual approval on IAM/SCP-modifying actions is a security control, not just an operational safeguard.
  • Budget scope quality is only as good as the underlying Cost Categories and tagging — invest there before building out budgets.
  • Budgets and Cost Anomaly Detection are complementary, not redundant — one catches threshold breaches, the other catches unusual patterns that never cross one.