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?

Short Description

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.

Resolution

Before you begin, confirm the following:

Then, do the following:

  1. 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.
  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 S3 bucket.
  3. Take a manual snapshot of the source Elasticsearch domain.
  4. Use the Elasticsearch _restore API to restore the snapshot to the destination domain.

Common errors