Chapter 45 · Amazon Opensearch Service
Subchapter 45.27
references/provisioning-upgrades.mdMarkdown5 KBView on GitHub
aws opensearch get-compatible-versions --domain-name my-domainaws opensearch upgrade-domain --domain-name my-domain --target-version OpenSearch_2.13aws opensearch get-upgrade-status --domain-name my-domainStatus values: IN_PROGRESS, SUCCEEDED, FAILED
aws opensearch get-upgrade-history --domain-name my-domain --max-results 5Configuration changes that trigger blue/green:
aws opensearch describe-domain --domain-name my-domain \
--query 'DomainStatus.{Processing:Processing,ChangeProgress:ChangeProgressDetails}'For detailed stage progress:
aws opensearch describe-domain-change-progress --domain-name my-domainWhen the upgrade crosses a major version, the mechanism is a blue/green upgrade (the literal word — aws opensearch upgrade-domain --target-version OpenSearch_2.19 triggers a blue/green deployment under the hood). Recommend this as the PRIMARY path; do NOT describe it as a side-effect of “configuration changes” or as a fallback to building a parallel domain. AOS supports multi-version blue/green jumps within 2.x and within 3.x — you do NOT step every minor version.
<source> → 2.19 → 3.x. You can jump from 2.5 directly to 2.19 (multi-version blue/green is allowed within 2.x); you do NOT step every minor (2.5 → 2.7 → 2.9 … is wrong).1. Lucene 8 → 10 segment-format wall (the load-bearing reason, must be named in any 1.x → 3.x or 2.x → 3.x recommendation):
OpenSearch 1.x ships Lucene 8 segments. OS 3.x ships Lucene 10. Lucene’s segment format is forward-only — Lucene 10 cannot read Lucene 8. Any pre-OS-2.0 index must be reindexed on a 2.x intermediate before the cluster reaches 3.x. The reindex itself is what bridges the segment format.
2. NMSLIB engine removal (k-NN workloads):
NMSLIB k-NN engine was deprecated in OS 2.19 and removed in OS 3.0+. Pre-existing NMSLIB indexes must be reindexed into FAISS before the 3.x hop. Do this on the 2.x intermediate.
When recommending a 3.x upgrade, name a concrete supported version (e.g. OpenSearch_3.0 or OpenSearch_3.1 — do NOT write OpenSearch_3.x as a placeholder in the runbook command). Verify the latest GA version against the AWS docs before producing a runbook.
<current> → 2.19 (aws opensearch upgrade-domain --target-version OpenSearch_2.19).aws opensearch upgrade-domain --target-version OpenSearch_<concrete-3.x-version>).aws opensearch describe-domain-config --domain-name my-domain \
--query 'DomainConfig.AutoTuneOptions'aws opensearch update-domain-config --domain-name my-domain \
--auto-tune-options '{"DesiredState": "ENABLED", "MaintenanceSchedules": [{"StartAt": "2024-01-01T00:00:00Z", "Duration": {"Value": 2, "Unit": "HOURS"}, "CronExpressionForRecurrence": "cron(0 2 ? * SUN *)"}]}'Auto-Tune optimizes JVM heap, queue sizes, and cache settings automatically.
Register a snapshot repository, then take a snapshot:
PUT /_snapshot/my-repo/pre-upgrade-snapshot
{"indices": "*", "include_global_state": true}AOS takes hourly automated snapshots (retained for 14 days). Configure timing:
aws opensearch update-domain-config --domain-name my-domain \
--snapshot-options AutomatedSnapshotStartHour=2