Elasticsearch vs OpenSearch cost: comparing search cluster bills honestly
Both run the same shaped cluster on the same instances, so the infrastructure bill starts similar. The differences show up in licensing, tiering features, and serverless options. Here is the full comparison.
Quick answer
Infrastructure cost is broadly similar because both run comparable node types. A three data node cluster on r6g.large class hardware with 1 TB of storage costs roughly $490 to $560 a month either way. The differences are structural: managed OpenSearch adds UltraWarm at around $0.238 per hour per node plus $0.024 per GB per month for warm data, and a serverless option at about $0.24 per OCU hour. Elastic's hosted service bundles tiering into its own pricing with commercial features behind subscription tiers. For log heavy workloads the decisive lever on both is tiering old indices out of hot storage, which typically cuts 50 to 70 percent.
Search cluster bills are dominated by one thing: how much data you keep on hot nodes. Every other decision, including which of the two engines you run, is a smaller factor. That said, the two ecosystems price tiering and advanced features differently enough to change the total by a meaningful margin at scale, so the comparison is worth doing properly rather than by headline node price.
The baseline cluster
A typical starting production cluster is three data nodes plus three dedicated master nodes for quorum. On AWS in us-east-1, r6g.large.search runs about $0.167 per hour and m6g.large.search about $0.128. Attached gp3 storage for managed OpenSearch is roughly $0.122 per GB per month.
| Component | Quantity | Monthly cost |
|---|---|---|
| Data nodes, r6g.large class | 3 | ~$366 |
| Dedicated master nodes, m6g.large class | 3 | ~$280 |
| Storage, 1 TB gp3 class | 1 TB | ~$122 |
| Total | ~$768 |
Coordinating and ingest nodes are worth mentioning too. Adding dedicated coordinating nodes to absorb query fan out costs another node's worth of hourly charge but can let you run fewer, smaller data nodes, which is usually net cheaper on clusters above about ten data nodes. Below that scale they are an unnecessary line.
Dedicated masters are a $280 a month insurance policy against split brain. Skipping them for a development cluster is reasonable; skipping them in production is not. Reserved instance pricing on managed OpenSearch cuts node cost by roughly 30 to 50 percent for one and three year terms, which is the single largest discount available and is routinely left unclaimed on clusters that have clearly been running for years.
Where the two diverge
| Dimension | Managed OpenSearch | Elastic hosted |
|---|---|---|
| Licensing | Apache 2.0, no feature tiers | Subscription tiers gate some features |
| Warm tier | UltraWarm, ~$0.238/hr/node plus ~$0.024/GB-month | Warm and cold tiers in the hosted pricing |
| Cold tier | Cold storage, roughly object storage rates | Frozen tier backed by object storage |
| Serverless | ~$0.24 per OCU hour, min OCUs apply | Serverless projects priced on ingest and retention |
| Reserved discounts | Yes, 30 to 50% | Annual commitment discounts |
The licensing difference matters for teams that want alerting, anomaly detection, or fine grained security without a subscription tier, since those are included in the open source lineage. It does not change the infrastructure bill directly, but it changes whether you pay a per node premium on top of it.
The tiering lever, which dwarfs the rest
Consider 30 TB of logs with 90 day retention. Keeping all of it on hot gp3 storage costs about $3,660 a month in storage alone, before nodes. Now tier it: 7 days hot (2.3 TB, ~$280), 23 days warm on UltraWarm class storage (7.7 TB at ~$0.024 per GB, about $185 plus warm node hours of roughly $350), and 60 days cold backed by object storage (20 TB at roughly $0.024 per GB, about $480).
| Strategy | Monthly storage cost |
|---|---|
| All 30 TB hot | ~$3,660 |
| 7 day hot, 23 day warm, 60 day cold | ~$1,295 |
| 7 day hot, 14 day warm, rest to object storage archive | ~$700 |
That is a 65 to 80 percent reduction from index lifecycle policy alone, and it applies equally to both engines. Anyone comparing the two on node price while keeping 90 days hot is optimizing the wrong variable by an order of magnitude. See retention policy economics for the general case.
Serverless and when it helps
OpenSearch Serverless at roughly $0.24 per OCU hour removes node sizing but enforces minimum OCUs for indexing and search, so a small always on workload can cost more than a modest provisioned cluster. Where it wins is spiky ingestion: a workload that needs 20 OCUs for two hours a day and 2 the rest of the time costs far less than provisioning for peak. Model your actual hourly profile rather than assuming serverless is cheaper.
Practical sequencing
Set index lifecycle policies first, since that is the largest lever. Buy reserved instances for the steady hot tier next. Right size shards so you are not running 50 nodes to hold 200 tiny shards. Drop replica count from two to one on data you can re ingest. Only then argue about which engine. The cluster, its storage, its networking, and its load balancers are Terraform, and C3X prices them from theresource catalog before the cluster exists.
FAQ
Is OpenSearch cheaper than Elasticsearch?
On raw infrastructure they are broadly comparable, since both run similar node types and storage. A three data node cluster with three dedicated masters and 1 TB of storage costs roughly $768 a month either way. The differences come from licensing tiers, how warm and cold tiers are priced, and the discounts available on committed or reserved capacity.
What does an OpenSearch cluster cost?
In us-east-1, r6g.large.search runs about $0.167 an hour and m6g.large.search about $0.128, with gp3 class storage at roughly $0.122 per GB per month. Three data nodes, three dedicated masters, and 1 TB of storage comes to about $768 a month on demand, with reserved instances cutting node cost by 30 to 50 percent.
How much can index tiering save on search clusters?
Typically 65 to 80 percent of storage cost. Keeping 30 TB of logs entirely on hot storage costs around $3,660 a month, while a policy of 7 days hot, 23 days warm, and 60 days cold brings it to roughly $1,295, and archiving the oldest data to object storage takes it to about $700. The lever applies to both engines equally.
Is OpenSearch Serverless cheaper than a provisioned cluster?
Only for spiky workloads. At about $0.24 per OCU hour with minimum OCUs enforced for indexing and search, a small always on workload often costs more than a modest provisioned cluster. Serverless wins when demand varies sharply, such as needing 20 OCUs for two hours a day and 2 the rest of the time.
Do I need dedicated master nodes?
In production, yes. Three dedicated masters cost about $280 a month and prevent split brain and cluster instability when data nodes are under load. For development and test clusters they are reasonable to skip. Treat the cost as an availability insurance premium rather than an optimization target.
How does C3X help with search cluster cost?
C3X prices the Terraform managed cluster before it is created: node counts and instance families, attached storage volumes and their tiers, load balancers, and the network paths feeding ingestion. That makes shard and node sizing decisions visible as dollar figures in the pull request rather than as a surprise on the following month's invoice.
What to do next
Size search clusters on cost, not guesswork. C3X prices your Terraform resources in review. Start with the quickstart.
Share this post
Try C3X on your own Terraform
Free and open source. No API key required. One command to install, one command to estimate.