AWS Elasticsearch domain deployed through CloudFormation. How to update ES version without replacement?

This is now possible (as of 25/11/2019) by setting an UpdatePolicy with EnableVersionUpgrade: True.

For example:

ElasticSearchDomain:
    Type: AWS::Elasticsearch::Domain
    Properties: ...
    UpdatePolicy:
        EnableVersionUpgrade: true

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-upgradeelasticsearchdomain


Received correspondence back from AWS Support regarding an ES in-place upgrade through CloudFormation.

tl;dr It is currently not supported but a feature request is already active for this functionality.

You are correct in saying that ES in-place upgrade is not supported by CFN at this moment. Thus upgrading ES from 6.3 to 6.4 can be done via CLI or AWS Console will keep the existing domain, but with CloudFormation, it will launch a new domain and discard the existing one.

I see that there is already an active feature request for this. I will go ahead and pass your sentiment regards to our internal team about this matter as well. Unfortunately, AWS Support does not have visibility to service enhancement implementation roadmap, so I would not be able to provide you with an exact time frame.