AWSAmazon Managed Service for PrometheusObservability

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.

DimensionUnitWhat's being charged
Samples ingestedper 10M samplesThe 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 storageper GB-monthActive metrics retained in the workspace, billed per GB-month.
$0.03/GB-month → 100 GB = $3/month
Query samplesper billion processedSamples 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.00

Optimization tips

Common ways to reduce aws_prometheus_workspace cost without changing the workload.

Drop high-cardinality and unused metrics at ingest

Proportional to series dropped

Ingestion 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 change

Samples = 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 reduced

Storage 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-dependent

Query 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.