Skip to content

AWS Regular OpenCost (in-cluster costs)

Opencost gets the following information

  • Kubernetes Resource Usage Metrics (via Prometheus)

OpenCost queries Prometheus for historical usage data so you need metrics from kubelet, node-exporter or kube-state-metrics)

  • AWS Instance Information (from Kubernetes Node Metadata)

It also get aws instance information like instance type, AWS region, Availability zone, Provider ID

  • AWS Pricing Data (from Public AWS Pricing API)

It gets EC2 on-demand instance pricing (per instance type, per region), CPU pricing (per vCPU-hour), Memory pricing (per GB-hour), EBS storage pricing, Network egress pricing (inter-AZ and internet)

It automatically detects AWS as the cloud provider and fetches pricing from AWS public pricing endpoint:

https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonEC2/current/${node_region}/index.json

Limitations Without CUR

  • Uses list prices - not your actual negotiated AWS rates
  • No reserved instance discounts - cannot track RI or Savings Plans
  • Spot pricing is estimated - not actual billed spot prices
  • No other AWS services - only EC2/EBS visible (no S3, RDS, etc.)
  • No reconciliation - costs are estimates until CUR data is integrated