AWS Bedrock Cost Optimization Guide
Bedrock has several pricing modes and several resource types that cost money when nobody is using them. Know which is which.
Amazon Bedrock is AWS’s managed service for calling foundation models from Anthropic, Meta, Mistral AI, Amazon, and others through one API. Its bill has two very different shapes. Usage-priced inference is metered per token or per image, so it costs nothing when idle. Provisioned capacity and some supporting resources bill by the hour or the month whether or not anything calls them. Optimizing Bedrock starts with knowing which shape each line of the bill has.
How Bedrock charges
- On-demand inference: priced per input and output token (or per image for image models).
- Batch inference: prompts are submitted as files in S3 and processed asynchronously, with results written back to S3. AWS offers select foundation models for batch inference at 50% of the on-demand price.
- Service tiers: Bedrock lists Standard, Flex, Priority, and Reserved tiers, each with its own pricing, for trading latency against cost.
- Provisioned Throughput: capacity bought in model units, billed hourly. Each model unit delivers a fixed number of input and output tokens per minute for the chosen model. Terms are no commitment, 1 month, or 6 months; longer terms lower the hourly price.
Provisioned Throughput is where idle cost hides
Three properties of Provisioned Throughput drive most avoidable Bedrock spend:
- Billing continues until it is deleted. An unused Provisioned Throughput bills every hour it exists.
- Committed terms cannot be cut short. A 1-month or 6-month Provisioned Throughput cannot be deleted until its term is over, so size it for measured traffic before committing.
- Customized models require it. If you customized a model, you must purchase Provisioned Throughput to use it, so a fine-tuning experiment can leave hourly capacity behind.
Before deleting one, check what calls it: applications invoke a provisioned model by its own ARN, so they need to be pointed back at the on-demand model first.
Other resources to review
- Custom and imported models that nobody calls, and knowledge bases whose backing vector store keeps running, are worth an inventory pass; check the pricing of the store you chose, since it bills separately from Bedrock.
- Model invocation logging is disabled by default. Without it you have no per-request record for attributing or investigating spend. Destinations are CloudWatch Logs or S3.
Cheaper ways to run the same work
Move non-interactive jobs to batch. Use prompt caching, which Bedrock documents as reducing latency and input token cost, for long, repeated prompt prefixes. Try intelligent prompt routing, which routes each request between models in the same family based on predicted response quality, to balance quality and cost.
What ZopNight checks
ZopNight’s AWS Bedrock recommendation rules include:
- Provisioned Throughput idle: no invocations over a 30-day window.
- Provisioned Throughput underutilized: traffic well below one model unit’s capacity; the saving is priced from the real no-commitment model-unit rate, and the rule abstains for committed terms.
- Provisioned Throughput on an older model generation: prices the rate difference to the in-family successor, again only for no-commitment terms.
- Break-even against on-demand: compares Provisioned Throughput with on-demand pricing, and shows no dollar figure where it cannot price the comparison, rather than a guessed one.
- Orphaned custom models, idle imported models, idle knowledge bases, unused guardrails, and invocation logging disabled. The agent-idle rule abstains unless an invocation series is actually present, to avoid flagging busy agents.
Rules that cannot price a saving honestly abstain rather than show a number. Bedrock can also be connected as a provider in ZopNight’s AI Gateway capability, which adds per-team virtual keys and budgets.
See also LLM cost governance.
Questions we get a lot.
If yours isn't here, email us and we'll answer directly.
Can I delete a Provisioned Throughput at any time?
Only on the no-commitment term. With a 1-month or 6-month commitment you cannot delete it until the term is over, and billing continues until it is deleted.
Do I need Provisioned Throughput for a fine-tuned model?
AWS states that if you customized a model, you must purchase Provisioned Throughput to use it. Pricing is the same as for the base model it was customized from.
Is invocation logging on by default?
No. Model invocation logging is disabled by default and must be configured with a CloudWatch Logs or S3 destination.