aws_prometheus_workspace cost estimation
Managed Prometheus billed by samples ingested and metrics stored — no node cost. 1B samples + 100 GB storage is ~$93/month, and the bill scales with metric cardinality.
An aws_prometheus_workspace is fully-managed Prometheus metrics storage and querying. Unlike self-hosted Prometheus, there's no instance to run — cost is usage-based: ~$0.90 per 10 million samples ingested, plus ~$0.03/GB-month for metrics storage, plus a per-query-sample charge. Ingesting 1 billion samples a month with 100 GB stored is ~$90 + $3 = $93.
The dominant cost is ingestion, and ingestion is driven by metric cardinality and scrape frequency. Every unique time series (a metric × its label combinations) scraped every interval is a stream of samples. High-cardinality labels — per-pod, per-request-path, per-customer — multiply series count and therefore samples and cost, exactly like CloudWatch custom metrics.
The levers: drop high-cardinality and unused metrics at scrape/ingest time (relabeling), lengthen scrape intervals where fine granularity isn't needed, and set sensible retention. There's no instance to right-size — it's all about what you ingest.
c3x prices the workspace from monthly_samples_millions and storage_gb, so projected ingestion and storage cost is visible before deployment.
Terraform example
A minimal but realistic configuration that C3X can estimate.
resource "aws_prometheus_workspace" "metrics" {
alias = "production-metrics"
tags = {
Environment = "production"
}
}Pricing dimensions
What you actually pay for when you provision aws_prometheus_workspace.
| Dimension | Unit | What's being charged |
|---|---|---|
| Samples ingested | per 10M samples | The dominant cost, driven by metric cardinality × scrape frequency. Each unique time series scraped each interval is a stream of samples. $0.90 per 10M samples → 1B samples ≈ $90/month |
| Metrics storage | per GB-month | Active metrics retained in the workspace, billed per GB-month. $0.03/GB-month → 100 GB = $3/month |
| Query samples | per billion processed | Samples processed by queries are billed per billion. Usage-based. |
Sample C3X output
1 billion samples ingested + 100 GB stored in a month:
aws_prometheus_workspace.metrics
├─ Samples ingested (1B) 100 × 10M-samples $90.00
└─ Metrics storage 100 GB-month $3.00
Monthly $93.00Optimization tips
Common ways to reduce aws_prometheus_workspace cost without changing the workload.
Drop high-cardinality and unused metrics at ingest
Proportional to series droppedIngestion cost tracks the number of time series. Use relabel/metric_relabel rules to drop high-cardinality labels (pod IDs, request paths) and metrics nothing queries before they're ingested. The biggest lever, just like CloudWatch metric cardinality.
Lengthen scrape intervals where fine granularity isn't needed
Proportional to interval changeSamples = series × scrapes. Scraping every 15s instead of 60s quadruples samples for the same metrics. Use tight intervals only where you genuinely need the resolution.
Set sensible retention
Per GB-month reducedStorage bills per GB-month of retained metrics. Keep high-resolution data only as long as you query it; longer-term trends can live at lower resolution or in cheaper storage.
Be selective with recording-rule and query volume
Query-volume-dependentQuery samples are billed too. Heavy dashboards refreshing constantly over wide ranges add query cost — cache and scope dashboards sensibly.
FAQ
How is Amazon Managed Prometheus billed?
By usage, not instances: ~$0.90 per 10 million samples ingested, ~$0.03/GB-month for metrics storage, and a per-billion charge for query samples. There's no node to provision — ingestion volume drives the bill.
Why is my Managed Prometheus bill high?
Metric cardinality and scrape frequency. Every unique time series (metric × label combination) scraped each interval is a stream of samples at $0.90/10M. High-cardinality labels and tight scrape intervals multiply samples fast — drop them at ingest to cut cost.
How does c3x estimate the cost?
From monthly_samples_millions and storage_gb, pricing ingestion and storage. Set them to your expected volumes; query samples are modelled as usage.
Related resources
Estimate this resource in your own Terraform
Free, open source, no API key. C3X parses your Terraform and shows line-item cost for every resource, including aws_prometheus_workspace.