Skip to main content

How to set Azure OpenAI, Bedrock and Vertex AI spend limits.

Azure OpenAI has no hard spending limit, Bedrock needs a budget action, and Google Cloud can pause one service in one project. How to set each, and how to see cost by team.

Topic
AI cost
Product
Novie Control
Format
Guide
Reading time
9 min
Published
29 October 2026
In short

Azure OpenAI has no native spending limit: Cost Management budgets send alerts, and stopping usage needs automation you build. Amazon Bedrock cost control works through AWS Budgets actions that apply a deny policy. Google Cloud's spend cap budgets can pause Vertex AI, now Gemini Enterprise Agent Platform, or the Gemini API in one project.

We checked each step against Microsoft's, AWS's and Google's own documentation on 29 October 2026. The clouds give you three kinds of control: budgets that alert or trigger automation, quotas that limit throughput, and tags that show who spent what. Our comparison of AI spending limits sets them beside OpenAI, Anthropic and the coding tools.

Can you set a hard spending limit on Azure OpenAI, Bedrock or Vertex AI.

Only Google offers one natively, and only for a single project and a single service. On AWS you build a stop from a budget action, and on Azure you build it from an action group and your own code.

CloudBudget behaviourCan it stop spendQuotasCost by team
Azure OpenAI (Microsoft Foundry)Cost Management budgets alert on actual or forecast cost.Only through an action group that runs automation you write.Tokens per minute per model, region and deployment type.Resource tags, and project-level attribution in preview for models sold by Azure.
Amazon BedrockAWS Budgets alert on actual or forecast cost.A budget action can apply an IAM policy or SCP, automatically or after approval.Tokens per minute per model, tracked separately for each endpoint.IAM principal attribution, application inference profiles, projects and workspaces.
Google Cloud (Vertex AI and Gemini API)Alerts-only budgets, plus spend cap budgets.A spend cap budget pauses new usage of one service in one project.Gemini on Standard PayGo has usage tiers that prioritise traffic and set no fixed cap.Labels on API calls, and project or label filters in billing reports.

TakeawayExpect alerts by default on every cloud, and plan the stop yourself on Azure and AWS.

How to set an Azure OpenAI spending limit.

Microsoft's Foundry cost documentation says that Azure OpenAI does not provide the hard limits OpenAI offers, and that starting automation from a budget's action group needs additional custom development. The closest thing to a limit is a Cost Management budget with an action group behind it.

  1. In the Azure portal, open the subscription or resource group that holds your Azure OpenAI resources and select Budgets.
  2. Click Add, check the scope, and add filters so the budget counts only the costs you mean, such as one resource group or service.
  3. Name the budget, choose a monthly, quarterly or annual reset period, set an expiration date and enter the amount.
  4. Add alert conditions as a percentage of the budget, on actual or forecast cost. A budget takes up to five thresholds and five email addresses.
  5. Under action groups, choose Manage action group and add one. An action group can call automation such as an Azure Function or a webhook, which your team writes to do the stopping.

Timing matters here. Cost and usage data typically arrives within 8 to 24 hours, and budgets are evaluated every 24 hours, so spend can run well past a threshold before an alert or action fires. Action groups work only at subscription and resource group scope.

Quotas limit throughput.

Azure OpenAI quota is assigned per subscription, region, model and deployment type in tokens per minute. You give each deployment a share of it, and requests past the deployment's limit return a 429 error until the minute resets. A low quota slows a runaway workload, though it sets no ceiling on the month's bill. Manage it in the Foundry portal under Manage, then Quota.

TakeawayPair an Azure budget with tight deployment quotas, and treat the action group as the only real stop.

How to track Azure OpenAI cost per team.

Give each team its own resource or Foundry project, then filter Cost Management by resource, meter or tag. Azure OpenAI appears under the Cognitive Services classification, so filter on Service tier: Azure OpenAI to isolate it across a subscription.

  • By resource. In Cost analysis, choose Cost by resource, then group by Meter to see input and output charges for each model on each resource.
  • By tag. Apply the same tags to every resource a team uses and filter on them. Microsoft's troubleshooting advice is to check that tags are applied and inherited consistently when results look incomplete.
  • By project, in preview. For models sold by Azure, including Azure OpenAI, Foundry tags project usage automatically with a project tag. In the resource's Cost analysis, add a filter on the project tag to see spend for each project sharing the resource.
  • Read access. The Cost Management Reader role at the right scope lets finance see costs without changing anything.

Our guide to LLM cost tracking per team covers the same exercise across every provider, including how to name teams so the numbers add up.

TakeawayOne resource or project per team makes Azure OpenAI cost tracking per team a filter, where shared resources make it a spreadsheet.

How to control Amazon Bedrock cost with AWS Budgets.

Bedrock has no spend cap of its own. Create a cost budget for Bedrock in AWS Budgets, and attach a budget action that applies a policy denying model calls when the threshold is crossed.

  1. In AWS Budgets, create a cost budget and filter it to Amazon Bedrock.
  2. At Configure alerts, add an alert threshold as an absolute amount or a percentage, on actual or forecast spend, with email or Amazon SNS recipients.
  3. Under Attach actions, choose Add Action and select an IAM role that allows AWS Budgets to act for you.
  4. Choose the action type: apply an IAM policy, or attach a service control policy, which only a management account can do.
  5. Choose whether the action runs automatically or waits for manual approval on the Alert details page.

AWS Budgets information updates up to three times a day, typically 8 to 12 hours apart, and AWS warns that costs can pass a threshold before the notification arrives. Size the action threshold below the amount you cannot exceed.

Bedrock quotas.

Model inference in Bedrock is limited by token quotas per model, and the bedrock-runtime and bedrock-mantle endpoints track separate quotas even for the same model. View the values that apply to your account in Service Quotas. They protect throughput, and leave the dollar total open.

TakeawayA budget action with a deny policy is the Bedrock stop, so test it before you need it.

How to set up Amazon Bedrock cost allocation.

Bedrock now offers several ways to attribute spend, and the right one depends on the API your teams call. Each sends billed dollars to Cost Explorer and the Cost and Usage Report, aggregated per usage type per day.

MethodAttributes cost byWorks with
IAM principal attributionThe IAM user or role that made the call, plus optional principal or session tags.Both endpoints, with no code changes.
Application inference profilesTags on a profile that wraps one model.InvokeModel and Converse on bedrock-runtime.
ProjectsTags on a project, set on the client.Responses and Chat Completions on bedrock-mantle.
WorkspacesTags on a workspace, set with a request header.The Anthropic-compatible Messages API on bedrock-mantle.
Per-request metadataKey-value tags on each call, in invocation logs.Token counts per request, which you convert to cost.
  1. Choose the method for each workload. For dollars by person or team, AWS recommends IAM principal attribution. For dollars by application, use inference profiles or projects.
  2. Apply tags such as Team, Application and CostCenter to the principals, profiles or projects.
  3. In the Billing and Cost Management console, open Cost allocation tags, select the tags and choose Activate.
  4. Wait up to 24 hours, then filter or group by tag in Cost Explorer.

Activated tags are not retroactive, so only costs after activation carry them. Each application inference profile is tied to one model, so profile counts grow fast. AWS suggests tagging at team or cost centre level and using projects or IAM attribution where that is simpler.

TakeawayActivate cost allocation tags on day one, because Bedrock cost allocation only starts from the moment they are on.

How to set a Vertex AI spending limit.

Google Cloud's spend cap budgets pause new usage of one eligible service in one project once estimated spend passes the budget. Eligible services include Gemini Enterprise Agent Platform, formerly Vertex AI, and the Gemini API, which makes this the closest thing to a Google AI spend limit.

  1. In the Google Cloud console, open Budgets and alerts and click Create new budget.
  2. Under Define, select Spend cap enforcement in place of Alerts only, name the budget and click Next.
  3. Under Scope, pick a single project and a single eligible service. The time range is fixed to monthly.
  4. Under Amount, enter the target. Google advises setting it slightly below your absolute limit.
  5. Click Finish. Billing administrators and project owners get alerts at 50, 80 and 100 percent, and these cannot be changed.

When the cap is enforced, new requests to that service in that project pause for the rest of the month, while in-flight requests finish and are charged. The cap uses gross estimated cost at list price, without savings or credits. Someone with the configure spend cap permission can lift it from the budget, and it resets on the first of the next month. An existing alerts-only budget cannot be converted, so create a new one.

Budgets, quotas and labels.

Alerts-only budgets can cover a billing account, projects, folders, services or one label, with default thresholds at 50, 90 and 100 percent, and Pub/Sub notifications can trigger your own automation. They do not cap usage. Quotas are a weak control for Gemini: on Standard PayGo, Google sets organisation-level usage tiers that prioritise traffic up to a threshold and serve more when capacity allows. For cost by team, add labels such as team:research to generateContent calls, which Google forwards to billing for PayGo requests.

TakeawayPut a spend cap budget on every project that calls Gemini, and label every call with its team.

When do you need one budget across clouds and providers.

As soon as AI spend lands on more than one bill. Each cloud's budget sees only its own account, and none of them sees OpenAI, Anthropic or a coding tool billed elsewhere.

  • Several clouds. Azure, AWS and Google each count their own spend on their own schedule, from hours to a day behind.
  • Several projects. Google's cap covers one project and one service, so a team spread across projects has no single cap.
  • Agents on shared resources. Tags and profiles report cost a day later, aggregated per day, which is too late to stop one agent mid-run.
  • Exceptions. None of the three clouds has a route for a team to ask for more and a named person to approve it with an end date.

That total is what AI spend management tracks: one budget above every account, set per team and per agent, with the native controls kept underneath as a backstop. Our guide to token budgets for AI agents covers what should happen at each limit.

TakeawayKeep each cloud's budget as a backstop, and hold the real budget in one place above them.

Common mistakes.

  • Calling an alert a limit. Azure budgets, AWS Budgets without an action, and Google's alerts-only budgets all leave usage running.
  • Setting thresholds at the real limit. Every cloud reports cost hours behind, so set alerts and actions below the amount you cannot exceed.
  • Never testing the stop. An AWS budget action with a missing IAM permission, or an Azure action group with no working automation, fails silently when it matters.
  • Activating tags late. AWS cost allocation tags are not retroactive.
  • Mixing teams in one resource. Shared Azure resources and shared Bedrock roles hide who spent what.
  • Using quotas as budgets. Tokens per minute slows traffic and leaves the monthly bill open.

TakeawayTest every stop before you need it, and tag resources before the first call.

How Novie Control does it

You can see what AI costs to build.Can you see what it costs to run?

See how Novie Control helps.

Sources

  1. Microsoft Learn, Plan and manage costs for Microsoft Foundry (checked 29 October 2026)
  2. Microsoft Learn, Tutorial: Create and manage budgets (checked 29 October 2026)
  3. Microsoft Learn, Manage Azure OpenAI in Microsoft Foundry Models quota (checked 29 October 2026)
  4. AWS, Managing your costs with AWS Budgets (checked 29 October 2026)
  5. AWS, Configuring a budget action (checked 29 October 2026)
  6. AWS, Track usage and costs in Amazon Bedrock (checked 29 October 2026)
  7. AWS, Amazon Bedrock application inference profiles (checked 29 October 2026)
  8. AWS, Amazon Bedrock IAM principal attribution (checked 29 October 2026)
  9. AWS, Amazon Bedrock projects (checked 29 October 2026)
  10. AWS, Quotas for Amazon Bedrock (checked 29 October 2026)
  11. Google Cloud, Manage spend cap budgets (checked 29 October 2026)
  12. Google Cloud, Create, edit, or delete budgets and budget alerts (checked 29 October 2026)
  13. Google Cloud, Standard PayGo (checked 29 October 2026)
  14. Google Cloud, Custom metadata labels (checked 29 October 2026)

Other articles

Frequently asked questions

Can you set a spending limit on Azure OpenAI?

Microsoft's documentation says Azure OpenAI does not provide a hard spending limit. Cost Management budgets send alerts on actual or forecast cost, and stopping usage needs an action group that runs automation you write. Deployment quotas limit tokens per minute, which slows usage without capping the bill.

How do I track Azure OpenAI cost per team?

Give each team its own resource or Foundry project and filter Cost Management by resource, meter or tag. For models sold by Azure, Foundry tags usage with a project tag automatically, a feature in preview. Filter on Service tier: Azure OpenAI to isolate it across a subscription.

How do I stop Amazon Bedrock spend at a budget?

Create an AWS cost budget filtered to Bedrock and attach a budget action that applies an IAM policy or service control policy denying model calls. The action can run automatically or wait for approval. Budget data updates up to three times a day, so set the threshold below your true limit.

What is the best way to do Amazon Bedrock cost allocation?

For dollars by person or team, use IAM principal attribution, which needs no code changes. For dollars by application, use application inference profiles on bedrock-runtime or projects on bedrock-mantle. Activate the tags as cost allocation tags first, because they only apply from activation.

Does Vertex AI have a spending limit?

Yes, through a Google Cloud spend cap budget, which covers Gemini Enterprise Agent Platform, formerly Vertex AI, and the Gemini API. It applies to one project and one service, runs monthly, and pauses new usage once estimated spend passes the target. Alerts-only budgets only notify.

Do cloud AI quotas limit spending?

They limit throughput, which slows spend without capping it. Azure OpenAI and Bedrock set tokens per minute per model, and Gemini on Standard PayGo uses usage tiers that prioritise traffic up to a threshold. A month of steady traffic under quota can still exceed your budget.

Build the intelligenceyour organisation compounds.