0

Presently AWS Elasticsearch cluster version is 6.3 and I am planning to upgrade it to 7. reindexing is also have to be done. reindexing is required to have _doc as type for the indices instead of our custom mapping types.

Below are my queries:

1. What is the end to end process of upgrading AWS ES cluster version.
2. What are the impacts post upgrade.
3. Any specific backup is required?
4. How to perform upgrade in AWS cluster?
5. Post upgrade , Do I need to carry any validtion?
6. when to do reindexing? post cluster upgrade?
P.J.Meisch
  • 18,013
  • 6
  • 50
  • 66
Ayesha
  • 15
  • 1
  • 4

1 Answers1

1
  1. What is the end to end process of upgrading AWS ES cluster version.

You can perform an in-place upgrade of an AWS ES cluster from the AWS console. Upgrade triggers a blue green deployment and takes quite a while. For example, We upgraded an ES 6.8 cluster with 4 nodes (10 TB each) to OpenSearch 1.3 recently and it took almost 12 hours to complete.

  1. What are the impacts post upgrade.
  • By default, AWS migrates all the data and resources (mapping templates, alerts, lifecycle policies etc) into the new upgraded cluster.
  • If you have some scripts that uses the ES APIs, expect some API paths being changed in the upgraded one. For example, the /_template path in ES 6.8 becomes _index_template in OpenSearch 1.3.
  • By default, AWS routes all traffic to the new cluster and does not mess around with the ES endpoint. So, if you have some data ingestion pipelines that may use the ES endpoint, it should work automatically. However, I would still recommend you to check the logs of each of your data collectors for any errors. For example, If you are using kinesis firehose delivery streams, check destination error logs from the AWS console. If you are using logstash or vector, check their logs too.
  1. Any specific backup is required?

It's always a good idea to take periodic snapshots of your AWS ES domain. If something goes wrong, you can always spin up a new domain from a previous working snapshot.

  1. How to perform upgrade in AWS cluster?

Not sure what you mean by this. There's actually no way to manually access the underlying nodes/machines and perform the upgrade yourself. This is because the ES cluster is fully managed by AWS.

  1. Post upgrade , Do I need to carry any validtion?

As mentioned in Question no.2 answer, it's definitely a good idea to check your ingestion pipelines. Check for any warning/errors on the logs. You can also use the Kibana/OpensearchDashboard to visually inspect your data for anything weird.

  1. When to do reindexing? post cluster upgrade?

After you perform the in-place upgrade from AWS console, your existing indices and data are all copied to the newly upgraded cluster.

because_im_batman
  • 975
  • 10
  • 26
  • What about the data consistency? i.e. how does AWS ensures the read/writes are consistent during the cluster upgrade? – Snehasish May 24 '23 at 10:08
  • Since it's a blue green deployment one would assume it's to reduce downtime. Therefore, one would expect I/O during the cluster upgrade to be performed on the Green. Personally, I did not face any issues regarding this. – because_im_batman May 25 '23 at 13:43