How can I migrate data from one Amazon Elasticsearch Service domain to another?
Last updated: 2021-02-22
I want to move data from one Amazon Elasticsearch Service (Amazon ES) domain to another. How can I do that?
You can use manual snapshots to migrate individual indices or entire Amazon ES 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 manual snapshot prerequisites.
- Your Amazon ES 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. For more information, see Snapshot and restore on the Elasticsearch website.
Then, do the following:
1. Register the same manual snapshot repository on both the source and destination domains. Your destination is usually an Amazon Simple Storage Service (Amazon S3) bucket.
Note: You can use server-side encryption with Amazon S3-managed keys to encrypt the S3 bucket that you use as the snapshot repository.
2. (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.
3. Take a manual snapshot of the source Elasticsearch domain.
4. Use the Elasticsearch _restore API to restore the snapshot to the destination domain.