TL;DR: For an OpenSearch domain already running 24/7, Reserved Instances cut 30–50% off the same nodes with a 1- or 3-year commitment. The discount applies automatically to matching instances (no attach step), but RIs are instance-family-locked, region-specific, non-refundable, and compute-only. It's mostly commitment math: if you're right that you'll use the cluster consistently, it's some of the easiest savings in AWS.
The numbers
- Payment tiers: All Upfront (deepest), Partial Upfront (balanced), No Upfront (smallest but preserves cash) — collectively the 30–50% range; longer term = bigger discount.
- Worked example — an r6g.xlarge.search log/monitoring cluster running 24/7 at $4,200/mo on-demand dropped to ~$2,600/mo on a 1-yr Partial Upfront RI (~$1,600/mo, ~$20K/yr saved).
- Coverage is count-based: reserve for the baseline; peak nodes above it bill on-demand.
- Field examples: a stable 50K-user SaaS logging cluster locked a 1-yr Partial for ~$20K/yr; a large org reserved only its 5 unchanged-for-a-year production domains 3-yr All Upfront and left dev/test on-demand, experimental on Serverless.
Do this
- Analyze 3–6 months of actual node-hours by instance type in Cost Explorer — buy what matches reality, not what you intended to run.
- Cover the baseline, not the peak — steady at 6 nodes, spiking to 9 → reserve 6, let 3 ride on-demand (the #1 way teams overpay is reserving for peak).
- Match instance family and region exactly — an r6g.large.search RI does nothing for m5.xlarge.search or another region.
- Compare against Compute Savings Plans — for some workloads a CSP applies more flexibly than an instance-family-locked RI; run both numbers.
- Set an expiration reminder 60 days out — RIs don't auto-renew and silently flip back to on-demand.
Gotchas
- Instance family is locked — migrate from r6g.large.search to m5.xlarge.search mid-term and you pay for the old reservation and full on-demand on the new nodes.
- Compute only — EBS storage, snapshots in S3, UltraWarm/cold tiers, and data-transfer-out all still bill on-demand; the OpenSearch bill never reaches zero.
- No refunds — the Reserved Instance Marketplace exists but selling is rarely clean.
- Region-locked — cross-region setups need separate reservations.
Skip this if
- The workload is variable, dev/test, or experimental — on-demand or OpenSearch Serverless (billed on OCUs, not nodes) fits better.
- The architecture might change within 12 months, or you haven't confirmed a steady baseline — stay on-demand and revisit after a few months; confirm baseline node-hours with AWS Cost Explorer before committing.