Upgrading your AWS OpenSearch instances to Graviton2 types allows you to cut costs twice, giving you an immediate 10% reduction in costs. This upgrade also delivers performance improvements – 38% increased in indexing throughput, 50% decrease in indexing latency, and 30% increase in query performance. In addition, these performance gains allow for resizing, so you can gain additional savings.
AWS OpenSearch instance types
You can upgrade the following OpenSearch instance types:
- General purpose (M6g)
- Compute optimized (C6g)
- Memory optimized (R6g, R6gd)
There is no storage optimized Graviton instance type.
Graviton2 supports version 7.9 and above. If you run version 7.x, you’ll first need to upgrade to version 7.9. You can upgrade older versions < 7.0, but there are breaking changes to take into account.
Reserved instances are not flexible – they only apply to the exact instance type you reserved. You should not upgrade to Graviton2 before the reservation period is over, otherwise you will pay both for the reservation and the “new” OpenSearch instance.
AWS OpenSearch instance health status
Check this list to make sure your instance is healthy:
- The disk usage should be below 90%
- The JVM memory pressure should be below 75%
- There should be no more than 1,000 shards per node
- There should be no red cluster status
Upgrading AWS OpenSearch instances to Graviton2 doesn’t require downtime and is low risk. As per best practices, test the upgrade in a lower environment before making these changes in production.
Can I revert or downgrade?
The upgrade process performs its own pre-upgrade checks and creates a snapshot before starting. Downgrading is not possible. In case of problems, you can ask AWS support to restore the instance to the previous version.
Tip: Create your own snapshot before starting, so you can revert the changes faster.
- Open the AWS OpenSearch console
- Optional: create a snapshot
- Select the domain you want to upgrade
- Click on Edit
- In the Data nodes section, select the Graviton2 instance type that matches your needs. Example: upgrade an r5.2xlarge.elasticsearch instance to r6g.2xlarge.elasticsearch
- Click on Save changes
- Monitor the progress in the Cluster health tab
- Verify both primary nodes and data nodes are using Graviton2
- Test functionality with your application
Note: you can also use the AWS CLI to run the upgrade.