Upgrading an OpenSearch version or changing the instance type
If you have an OpenSearch domain in the Cloud Platform, you should keep it up to date and use the most cost effective instance type for your needs.
AWS publishes a Supported upgrade paths for Amazon OpenSearch Service guide to help you keep up to date.
Upgrading an OpenSearch version
Note: This will cause some downtime (usually upwards of 60 minutes, dependent on how much data is in your domain - an empty domain takes 30 minutes).
To upgrade your OpenSearch domain version, complete these three steps:
Raise and merge a PR to tell the apply pipeline to skip your namespace
Raise and merge a PR that updates the following attributes for your OpenSearch domain, which is typically in
resources/opensearch.tf
in your namespace:module "opensearch" { ... engine_version = "OpenSearch_1.3" ... }
As soon as this PR is merged, the upgrade will begin.
Raise and merge a PR to remove the
APPLY_PIPELINE_SKIP_THIS_NAMESPACE
added in step 1
Upgrade paths
OpenSearch does not always maintain backwards compatibility when releasing a new major version. This means you need to check for any breaking changes in the version you are upgrading to.
You should read the AWS documentation on Supported upgrade paths for OpenSearch domains to understand how to upgrade your domain to the latest OpenSearch version, including any breaking changes.
Changing your OpenSearch instance types
Note: This will cause some downtime (usually upwards of 30 minutes, dependent on how much data is in your domain - an empty domain takes 15 minutes).
To change your OpenSearch instance types, complete these three steps:
Raise and merge a PR to tell the apply pipeline to skip your namespace
Raise and merge a PR that updates the
instance_type
,dedicated_master_type
orwarm_type
attributes for your OpenSearch domain, which is typically inresources/opensearch.tf
in your namespace:module "opensearch" { ... cluster_config = { # instance type ... instance_type = "m6g.large.search" ... # or dedicated primary nodes ... dedicated_master_type "m6g.large.search" ... # or warm nodes ... warm_type = "ultrawarm1.medium.search" ... } ... }
The Creating an OpenSearch domain guide can help you decide which
cluster_config
to use. You should note that if your instance type is of thet3
class, you cannot use dedicated primary nodes or warm nodes.As soon as this PR is merged, the instance type change will begin.
Raise and merge a PR to remove the
APPLY_PIPELINE_SKIP_THIS_NAMESPACE
file added in step 1