How can I migrate data from one Amazon Elasticsearch Service domain to another?
Last updated: 2019-04-26
How can I move data from one Amazon Elasticsearch Service domain to another?
You can use manual snapshots to migrate individual indices or entire Elasticsearch domains. You can migrate data to a domain in the same account or to a domain in a different account.
Before you begin, confirm the following:
- You meet the prerequisites.
- Your Elasticsearch client is able to send signed HTTP requests to your domain’s endpoint.
- The source domain is compatible with the Elasticsearch version of the destination domain.
Then, do the following:
- Register the same manual snapshot repository on both the source and destination domains (usually, an S3 bucket).
Note: You can use server-side encryption with S3-managed keys to encrypt the S3 bucket that you use as the snapshot repository.
- (Optional) If you're migrating to another AWS account, attach a policy to the source S3 bucket that grants cross-account permissions to the destination S3 bucket.
- Take a manual snapshot of the source Elasticsearch domain.
- Use the Elasticsearch _restore API to restore the snapshot to the destination domain.