Manage Snapshot Repositories

Snapshot repositories are managed for your entire Elastic Cloud Enterprise installation and can be specified for an Elasticsearch cluster when you create or manage it. When a repository is specified, a snapshot is taken every 30 minutes or at the interval you specify.

Support for the following repositories is available through the Elastic core repository plugins:

In addition to enabling the official plugins, there are a few more things to consider, depending on which service you use. To configure Google Cloud Storage (GCS) as a snapshot repository, your Elasticsearch cluster must be version 6.0 or later and you must use Google Default Authentication. To learn more, see Snapshotting to Google Cloud Storage. To configure Microsoft Azure Storage as a snapshot repository, your Elasticsearch cluster must be version 5.X, 6.2.X, or later. To learn more, see Snapshotting to Azure Storage.

For more details about how snapshots are used with Elasticsearch, see Snapshot and Restore. You can also review the official documentation for these storage repository options:

Tip

If you are installing ECE without internet access (commonly called an offline or air-gapped installation), you will need to use an on-premise storage service. We suggest that you use Minio. For our installation notes, see Snapshotting to Minio On-Premise Storage.

Add Snapshot Repository Configurations

Before any snapshot or restore operation can be performed for Elasticsearch clusters, at least one snapshot repository configuration needs to be added to your Elastic Cloud Enterprise installation.

To add a snapshot repository:

  1. Log into the Cloud UI.
  2. From the Platform menu, select Repositories.
  3. Click Add Repository to add an existing repository.
  4. Provide a name for the repository configuration.
  5. Select one of the supported repository types and specify the necessary settings:

    • Amazon S3 configuration:

      All repository options must be specified, as there are no default values.

      Region
      The region where the bucket is located.
      Bucket
      The name of the bucket to be used for snapshots.
      Access key
      The access key to use for authentication.
      Secret key
      The secret key to use for authentication.
    • Advanced configuration:

      Used for Microsoft Azure or for some Amazon S3 repositories where you need to provide additional configuration parameters not supported by the S3 repository option. Configurations must be specified in a valid JSON format. For example:

      Amazon S3 (see supported settings):

      {
        "type": "s3",
        "settings": {
          "bucket": "my_bucket_name",
          "region": "us-west"
        }
      }
  6. Click Save.

Edit Snapshot Repository Configurations

To edit a snapshot repository configuration from your Elastic Cloud Enterprise installation:

  1. Log into the Cloud UI.
  2. From the Platform menu, select Repositories.
  3. Click Edit to modify a snapshot repository configuration.

    For available options that you can change, see Add Snapshot Repository Configurations.

  4. Click Save.

Delete Snapshot Repository Configurations

Deleting a snapshot repository configuration does not remove the snapshot repository itself from S3. Only the configuration that enables Elastic Cloud Enterprise to access the repository is removed. Existing snapshots are also retained and need to be deleted separately if you no longer need them.

To delete a snapshot repository configuration from your Elastic Cloud Enterprise installation:

  1. Log into the Cloud UI.
  2. From the Platform menu, select Repositories.
  3. Find the repository name that you want to remove.
  4. Run the following command against the repository name:

    curl -s -XDELETE -u "USER:PASSWORD" https://COORDINATOR_HOST:12443/api/v1/platform/configuration/snapshots/repositories/REPOSITORY_NAME

    The admin user

    The password for the user

    A host that you installed Elastic Cloud Enterprise on that holds the coordinator role, such as a host where you can log into the Cloud UI

Manage Elasticsearch Cluster Repositories

You might need to update existing Elasticsearch clusters to use a different snapshot repository for one of the following reasons:

  • If you do not want all snapshots for a specific Elasticsearch cluster to go into the same bucket as your other clusters, you can add a new snapshot repository configuration with separate permissions and then change your Elasticsearch cluster to use the new repository.
  • If you created an Elasticsearch cluster with no snapshot repository configured, you can add a repository later on. Elastic Cloud Enterprise will start taking snapshots of the cluster automatically.

To change the snapshot repository for an existing Elasticsearch cluster:

  1. Log into the Cloud UI.
  2. Optional: If you need to use a repository that is not yet listed, add a snapshot repository configuration first.
  3. From the Deployments page, select your deployment.

    Narrow the list of the deployments by name, ID, or choose from several other filters. Use a combination of them to further define the list.

  4. From the Elasticsearch menu, click Snapshots.
  5. Under Snapshot repository, select a different repository and click Save repository.

Future snapshots will be sent to the new repository.

Change Snapshot Intervals

When an Elasticsearch cluster is configured with a snapshot repository, ECE automatically takes a snapshot of the cluster every 30 minutes. You can change this snapshot interval for individual clusters. For example, if the default snapshot interval negatively affects the performance of a very busy cluster, you can increase the interval to reduce the number of snapshots taken.

  1. Log into the Cloud UI.
  2. Optional: If you need to use a repository that is not yet listed, add a snapshot repository configuration first.
  3. From the Deployments page, select your deployment.

    Narrow the list of the deployments by name, ID, or choose from several other filters. Use a combination of them to further define the list.

  4. From the Elasticsearch menu, click Snapshots.
  5. Under Snapshot repository, select an interval and click Save interval.

The interval timer begins and the snapshot will be taken at the designated time.