Per-model, not per-USAGE_TYPE
CostMon parses Bedrock's Cost Explorer usage types back into model IDs and merges them with CloudWatch's per-model token metrics, so you see cost by model instead of one opaque Bedrock line.
Amazon Bedrock cost monitoring
CostMon joins AWS Cost Explorer's Bedrock spend with CloudWatch's per-model token metrics, so a model swap that changes your per-token rate, or a Provisioned Throughput commitment burning budget with no traffic, shows up in days instead of buried in next month's Cost Explorer export.
Cost Explorer groups Bedrock spend by USAGE_TYPE, which doesn't cleanly separate per-model, per-token attribution. It can't tell you that last week's spend jump was a switch from Claude Haiku to Claude Opus rather than a traffic increase. Provisioned Throughput compounds the problem: it bills hourly for committed capacity whether or not it's handling any traffic at all, and Cost Explorer alone won't show you the utilization gap. By the time a model swap or an idle commitment reconciles onto the AWS invoice, the spend is already sunk.
Cost anatomy
Why CostMon
CostMon parses Bedrock's Cost Explorer usage types back into model IDs and merges them with CloudWatch's per-model token metrics, so you see cost by model instead of one opaque Bedrock line.
A workload moved to a bigger or pricier model shows up as a step-change in that model's daily line the day it ships, not weeks later blended into a monthly Bedrock total.
Bedrock spend lands in the same normalized daily table as Anthropic, OpenAI, and every other connected provider, so finance sees one honest AI total instead of a Bedrock line buried inside the AWS bill.
CostMon connects with AWS credentials scoped to ce:GetCostAndUsage and CloudWatch's ListMetrics and GetMetricData only. It's read-only and never touches your Bedrock models, prompts, or infrastructure.
Getting started
Grant CostMon a role scoped to Cost Explorer and CloudWatch read access only, the same read-only pattern as the AWS connector. CostMon never touches your Bedrock models or infrastructure.
Cost Explorer's Bedrock usage-type spend is parsed back into model IDs and merged with CloudWatch's per-model input and output token counts on the same day, so cost and usage line up per model.
Open a daily, per-model view of Bedrock spend and catch a costly model swap or an idle Provisioned Throughput commitment before it compounds into a bigger bill.
FAQ
Through the same read-only AWS role as the AWS Cost Explorer connector, scoped to ce:GetCostAndUsage plus CloudWatch's ListMetrics and GetMetricData. CostMon never requests access to your Bedrock models, prompts, or completions.
Cost Explorer's Bedrock usage types are parsed back into model IDs and merged with CloudWatch's per-model InputTokenCount and OutputTokenCount metrics, so cost and token usage line up per model, per day.
Bedrock spend still syncs from Cost Explorer either way. Token-level detail is best-effort enrichment, so a gap in CloudWatch metrics means less granularity, not a missing cost row.
Provisioned Throughput commitments bill hourly regardless of traffic and show up as cost with little or no corresponding token usage. That's the pattern that flags an idle or over-provisioned commitment.
A flat monthly rate per plan. CostMon never takes a percentage of your Bedrock spend or the savings it helps you find. Free includes 2 connectors; Professional and Enterprise include unlimited connectors.
Connectors
AWS, GCP, and Azure for cloud; Anthropic, OpenAI, Amazon Bedrock, Vertex AI / Gemini, and Helicone for AI and LLM spend; Snowflake and Databricks for the data cloud; Datadog, GitHub, and Vercel for the rest of the stack. Add CSV import for any tool without a native connector. That's 14 connectors, all normalized into the same unified view.
Connect your first provider and CostMon normalizes it alongside everything else you run. Your team gets one number everyone can check.