In the AWS Elasticsearch documentation part of CloudFormation nothing writes about how to update the Elasticsearch version. First glance it is simple. Only change version number ElasticsearchVersion
.
If you update ElasticsearchVersion
in the Elasticsearch template, You would catch exception AWS::Elasticsearch::Domain UPDATE_FAILED CloudFormation cannot update a stack when a custom-named resource requires replacing
How to fix it. You need to add new section UpdatePolicy
to your CloudFormation template like this:
ElasticsearchDomain:
Type: "AWS::Elasticsearch::Domain"
Properties:
ElasticsearchVersion: 7.4 #New version for example 7.1 -> 7.4
UpdatePolicy:
EnableVersionUpgrade: true
Other way. You can use AWS API call
curl --location --request POST 'https://es.us-east-1.amazonaws.com/2015-01-01/es/upgradeDomain' \
--data-raw '{
"DomainName": "test-es",
"TargetVersion": "7.4",
"PerformCheckOnly": true # If `true` AWS run only check-update
}'
I use the Postman with AWS Signature. Take AccessKey
, SecretKey
and Session Token
from aws sts assume-role
or aws sts get-session-token
.
Documentation links
Top comments (0)