Skip to content
  • Independent cloud account marketplace
  • Options and USD prices shown before checkout
  • Support available before and after ordering
Cloud Fundamentals

Setting Budgets and Billing Alerts on Any Cloud Provider

How to set budgets and billing alerts on AWS, Google Cloud, and Azure, what DigitalOcean and Hetzner offer instead, how to wire alerts to automated actions, and which thresholds actually give you time to react.

A cloud bill has no natural ceiling. Resources keep running and metering until someone stops them, and the invoice arrives after the fact. Budgets and billing alerts are the controls that close that gap: they watch spend as it accrues and tell you, or a script, when it crosses a line you chose. This guide walks through how budgets work on AWS, Google Cloud, and Azure, what the smaller providers offer instead, and how to set thresholds that catch problems without drowning you in email.

Budgets, alerts, and anomaly detection are three different tools

The terms overlap in conversation, so it helps to separate them. A budget is a spending target for a scope and a period, typically a monthly dollar amount for an account, project, or subscription. An alert is a notification rule attached to a budget: when actual or forecast spend reaches a percentage of the target, send an email or a message to a webhook. Anomaly detection is a separate service that learns your normal spending pattern and flags unusual jumps even when the total is still under budget.

None of these stop spending by themselves. A budget is a measurement, not a cap. If you need spend to stop, you build an action on top of the alert, and every provider has its own way to do that.

Budget
A target amount for a scope and period
Alert
A notification fired at a threshold of that target
Anomaly detection
Pattern-based flagging of unexpected increases
Action
An automated response you wire up yourself

AWS: Budgets, Cost Anomaly Detection, and budget actions

AWS Budgets lives in the Billing and Cost Management console. You can create cost budgets, usage budgets, and budgets that track Reserved Instance or Savings Plans utilization and coverage. Each budget supports several alert thresholds based on actual or forecasted spend, and each threshold can notify email addresses or an Amazon SNS topic. Sending to SNS is what lets you connect a budget to Slack, PagerDuty, or a Lambda function.

Budget actions go one step further. When a threshold is crossed, a budget action can apply an IAM policy that denies new resource creation, attach a service control policy in AWS Organizations, or stop specific EC2 and RDS instances. Actions can require manual approval or run automatically.

AWS Cost Anomaly Detection is a separate feature in the same console. It creates monitors on services, accounts, or cost allocation tags and sends alerts when spend deviates from the learned pattern. Enable it on any account you care about; it catches the misconfigured autoscaling group or forgotten data transfer that a monthly budget would only report at the end of the month.

Google Cloud: budgets on a billing account

Google Cloud budgets are created in the Cloud Billing console under Budgets and alerts. A budget belongs to a billing account and can be scoped to all linked projects, specific projects, specific services, or specific labels. The amount can be a fixed figure or the previous period’s spend. You choose whether the budget counts promotional credits, which matters on trial accounts: a budget that ignores credits shows the rate at which you would be billed once the credit is gone.

Alerts fire at percentages of the budget for actual spend and, optionally, forecasted spend. Notifications go to billing administrators and users by default, and you can add Cloud Monitoring notification channels for other recipients. For automation, connect the budget to a Pub/Sub topic. A Cloud Run function subscribed to that topic can then disable billing on a project or scale down resources. Disabling billing stops all paid services in the project, so use it deliberately and test the function before you rely on it.

Azure: Cost Management budgets and action groups

Azure budgets are part of Cost Management + Billing and can be scoped to a management group, subscription, or resource group, with filters on tags, services, or locations. Budgets run monthly, quarterly, or annually with a fixed end date. Alert conditions use actual or forecasted cost at a percentage of the budget amount and can notify email recipients directly or through an Azure Monitor action group. Action groups can trigger Logic Apps, Azure Functions, webhooks, and runbooks, which is how you build an automatic shutdown or a ticket.

Azure also offers cost anomaly alerts at subscription scope that flag unusual daily spend, and Azure Advisor produces recommendations for idle resources and unused reservations. Free accounts and some subscription types carry a spending limit that halts services when the credit is exhausted; removing that limit is part of converting to pay-as-you-go, so know its state before you deploy.

What the developer cloud providers offer

Providers that bill hourly with monthly caps have simpler tooling, but the gap is worth knowing. DigitalOcean offers billing alerts that email you when month-to-date usage exceeds an amount you set. Hetzner Cloud shows a running cost estimate per project in the console and invoices monthly. Vultr, Linode, and UpCloud show current-period usage in their billing pages, and several let you set a notification threshold. None of them provide anomaly detection or automated actions comparable to the hyperscalers, so on these platforms the practical controls are keeping server limits low and checking the billing page regularly.

Provider Budget tool Automation path Anomaly detection
AWS AWS Budgets SNS topic, budget actions Cost Anomaly Detection
Google Cloud Cloud Billing budgets Pub/Sub topic to a function Not a separate product; use budget forecasts
Azure Cost Management budgets Action groups Cost anomaly alerts
DigitalOcean Billing alerts Email only None
Hetzner Console cost estimate None None

Setting thresholds that are useful

A budget with one alert at 100 percent tells you the money is already spent. Layer thresholds so you hear early and often enough to act.

  1. Set the amount from expected usage, not from the credit balance. Estimate what the running resources should cost per month and budget for that.
  2. Add an early actual-spend alert around 50 percent to confirm the month is tracking normally.
  3. Add a forecast alert at 100 percent. Forecast alerts fire when the provider projects you will exceed the budget by period end, which gives you days rather than hours.
  4. Add a final actual-spend alert above 100 percent as a backstop in case the forecast was wrong.
  5. Send alerts to more than one person and to a channel that is read daily. An alert to a mailbox nobody checks is not an alert.
  6. Enable anomaly detection where it exists, and review its findings weekly until you trust it.

Revisit the budget whenever the workload changes. A budget set for a two-server staging environment will fire constantly once production launches, and a budget nobody trusts is soon ignored.

Where to go next

Set a budget in the first session on any account you take over. The listed variants for the three hyperscalers are on the Buy AWS Accounts page, the Buy Google Cloud Accounts page, and the Buy Azure Accounts page.

Related reading in the Cloud Library:

Browse every guide in the Cloud Library.

More from the Cloud Library

Telegram