Updated on 2025-07-29 GMT+08:00

Creating Snapshots to Back Up the Data of an OpenSearch Cluster

CSS allows you to use snapshots to back up and restore the data of an OpenSearch cluster. By storing a snapshot in an OBS bucket, you save a point-in-time copy of the cluster's data. By restoring this snapshot, you can restore the cluster to a previous state. There are two ways to create snapshots to back up a CSS cluster: automatic and manual.

  • Automatic snapshot creation: Snapshots are automatically created daily or weekly based on a preset time schedule, ensuring ongoing data protection. By configuring an automatic snapshot policy, you reduce manual operations while improving backup reliability and efficiency.
  • Manual snapshot creation: You create snapshots manually for special occasions, for example, prior to a high-risk operation (such as a cluster upgrade). This ensures you can restore data using snapshots in case anything should go wrong. Manual snapshots provide additional flexibility.

Impact on Billing

When you use snapshots for data backup, the generated snapshots are stored in OBS buckets, which will result in additional costs. For details, see Object Storage Service Billing.

Constraints

  • Cluster snapshots will increase CPU usage and disk I/O. You are advised to take cluster snapshots during off-peak hours.
  • If a cluster is in the Unavailable state, you can use the cluster snapshot function only to restore the cluster or view snapshot information.
  • While you are creating a snapshot for a cluster or restoring it using one, you can perform certain operations, including scaling out the cluster (except when the cluster is the destination of a restoration operation), accessing OpenSearch Dashboards, viewing metrics, and deleting other snapshots. However, you cannot perform the following operations: restarting or deleting the cluster, deleting a snapshot that is in the Creating or Restoring state, and creating or restoring another snapshot. While a snapshot is being created or restored for a cluster, any automatic snapshot creation task initiated for that cluster will be canceled.
  • When you create the first snapshot in a cluster, a full backup is performed on all data. Subsequent snapshots are all incremental, storing only the changes since the previous snapshot. Because each incremental snapshot relies on its predecessors, you must restore them in the correct sequence.
  • In a cluster where storage and compute are decoupled, an index that is both frozen and closed cannot be backed up.

Prerequisites

You have created an OBS bucket for storing snapshots.

Setting Automatic Snapshot Creation

  1. Log in to the CSS management console.
  2. In the navigation pane on the left, choose Clusters > OpenSearch to show the OpenSearch cluster list.
  3. In the cluster list, click the target cluster name to go to the Cluster Information page.
  4. In the navigation pane on the left, choose Cluster Snapshots. Check whether Cluster Snapshot is enabled.
    • Yes: Go to 6.
    • No: Go to the next step.
  5. On the displayed Cluster Snapshots page, click the icon to the right of Cluster Snapshot to enable cluster snapshots.

    If Cluster Snapshot is already enabled, click on the right of Basic Configuration to modify backup settings.

    Table 1 Basic configuration for a cluster snapshot policy

    Parameter

    Description

    OBS Bucket

    From the drop-down list, select an OBS bucket for storing snapshots. You can also click Create Bucket on the right to create a new OBS bucket. For details, see Creating a Bucket.

    The newly created or existing OBS bucket must meet the following requirements:

    • Storage Class: Standard.
    • Region must be the same as that of the created cluster.

    Backup Path

    Storage path of the snapshot in the OBS bucket.

    The backup path cannot:
    • Contain the following characters: \:*?"<>|'{}
    • Start with a slash (/).
    • Start or end with a period (.).
    • Contain more than two consecutive slashes (/) or periods (.).
    • Exceed 512 characters.

    Maximum Backup Rate (per Second)

    The parameter sets the maximum backup rate per node. When it is exceeded, flow control is triggered to prevent excessive resource usage and ensure system stability. The actual backup rate may not reach the configured value, as it depends on factors such as OBS performance and disk I/O.

    Value format: number + unit
    • Number range: 0–9999
    • Unit: KB, MB, GB, TB, PB, or B

    Default value: 40 MB

    The value 0MB means there is no limit on how fast data is backed up to snapshots. An overly high backup rate may lead to excessive resource usage, which may impact cluster stability. Therefore, set this parameter carefully.

    Maximum Recovery Rate (per Second)

    The parameter sets the maximum recovery rate per node. When it is exceeded, flow control is triggered to prevent excessive resource usage and ensure system stability. The actual recovery rate may not reach the configured value, as it depends on factors such as OBS performance and disk I/O.

    Value format: number + unit
    • Number range: 0–9999
    • Unit: KB, MB, GB, TB, PB, or B

    The default value is 0MB, indicating no limit.

    An overly high recovery rate may lead to excessive resource usage, which may impact cluster stability. Therefore, set this parameter carefully.

    For OpenSearch clusters, the recovery rate is also limited by the indices.recovery.max_bytes_per_sec parameter.
    • If Maximum Recovery Rate (per Second) is less than indices.recovery.max_bytes_per_sec, the former takes effect.
    • If Maximum Recovery Rate (per Second) is greater than indices.recovery.max_bytes_per_sec, the latter takes effect.
    NOTE:
    • To check the value of indices.recovery.max_bytes_per_sec, run the following command:
      GET _cluster/settings
    • To modify indices.recovery.max_bytes_per_sec, run the following command:
      PUT _cluster/settings
      {
        "transient": {
          "indices.recovery.max_bytes_per_sec": "100mb"
        }
      }

    IAM Agency

    To store snapshots to an OBS bucket, you must have the required OBS access permissions. Select an IAM agency to grant the current account the permission to access and use OBS.
    • If you are configuring an agency for the first time, click Automatically Create IAM Agency to create css-obs-agency.
    • If there is an IAM agency automatically created earlier, you can click One-click authorization to have the OBS Administrator permissions deleted automatically, and have the following custom policies added automatically instead to implement more refined permissions control.
      "obs:bucket:GetBucketLocation",
      "obs:object:GetObjectVersion",
      "obs:object:GetObject",
      "obs:object:DeleteObject",
      "obs:bucket:HeadBucket",
      "obs:bucket:GetBucketStoragePolicy",
      "obs:object:DeleteObjectVersion",
      "obs:bucket:ListBucketVersions",
      "obs:bucket:ListBucket",
      "obs:object:PutObject"
    • When OBS buckets use SSE-KMS encryption, the IAM agency must be granted KMS permissions. You can click Automatically Create IAM Agency and One-click authorization to have the following custom policies created automatically.
      "kms:cmk:create",
      "kms:dek:create",
      "kms:cmk:get",
      "kms:dek:decrypt",
      "kms:cmk:list"
    • To use Automatically Create IAM Agency and One-click authorization, the following minimum permissions are required:
      "iam:agencies:listAgencies",
      "iam:roles:listRoles",
      "iam:agencies:getAgency",
      "iam:agencies:createAgency",
      "iam:permissions:listRolesForAgency",
      "iam:permissions:grantRoleToAgency",
      "iam:permissions:listRolesForAgencyOnProject",
      "iam:permissions:revokeRoleFromAgency",
      "iam:roles:createRole"
    • To use an IAM agency, the following minimum permissions are required:
      "iam:agencies:listAgencies",
      "iam:agencies:getAgency",
      "iam:permissions:listRolesForAgencyOnProject",
      "iam:permissions:listRolesForAgency"
    NOTE:

    The agency name can contain only letters (case-sensitive), digits, underscores (_), and hyphens (-). Otherwise, the backup will fail.

  6. Enable automatic snapshot creation. The Configure Automatic Snapshot Creation dialog box is displayed.

    If automatic snapshot creation is already enabled, you can click on the right of Automatic Snapshot Creation to modify the snapshot policy.

    Table 2 Setting automatic snapshot creation

    Parameter

    Description

    Snapshot Name Prefix

    The snapshot name prefix contains 1 to 32 characters and must start with a lowercase letter. Only lowercase letters, digits, hyphens (-), and underscores (_) are allowed. A snapshot name consists of a snapshot name prefix and a timestamp, for example, snapshot-1566921603720.

    Time Zone

    Time zone for the backup time. Specify Backup Started Time based on the time zone.

    Backup Start Time

    Specify the start time of auto backup.

    Select a time from the drop-down list. The interval can be Daily, Hourly, or weekly (by selecting a specific day of the week), and the backup time can be set to any hour from 00:00 to 23:00 (full hours only).

    Retained Snapshots

    Number of automatic snapshots to be retained. The value ranges from 1 to 90. The system automatically deletes excess snapshots every half hour. (The expiration deletion policy applies only to the snapshots that were automatically created at the same frequency as the current automatic snapshot creation policy.)
    NOTE:

    If the snapshot creation interval is short or if the data size of indexes is large, the number of automatic snapshots retained may not reach the value set using this parameter.

    Index

    Indexes that you want to back up using snapshots. The index names cannot contain spaces or uppercase letters, and cannot contain "\<|>/?. Use commas (,) to separate different index names. If you do not specify this parameter, all indexes in the cluster are backed up by default. You can use the asterisk (*) to match multiple indexes. For example, if you enter index*, then the data of all indexes whose names are prefixed with index will be backed up.

    NOTE:

    Run the GET /_cat/indices command on OpenSearch Dashboards to query the names of all indexes in the cluster.

    Figure 1 Configure Automatic Snapshot Creation
  7. To apply an automatic snapshot policy, enter CONFIRM in the text box.Click OK to save the snapshot policy.
  8. Snapshots that are automatically created according to the snapshot policy are displayed in the snapshot list, along with manually created snapshots. You can distinguish between them based on Snapshot Type. In the upper right corner of the snapshot list, enter the keyword of the snapshot name or snapshot ID to search for the desired snapshots.

    If snapshot creation fails, click on the right of the snapshot list to view the number of failed tasks and learn the failure causes. A maximum of 20 failed tasks can be displayed. When the snapshot function is disabled or the cluster is deleted, the failure records are also cleared.

  9. (Optional) Disable automatic snapshot creation.

    After you disable automatic snapshot creation, the system stops automatic creation of snapshots. If the system is creating a snapshot based on the automatic snapshot creation policy and the snapshot is not yet displayed in the snapshot list, you cannot disable automatic snapshot creation. In this case, if you click the button next to Automatic Snapshot Creation, a message is displayed, indicating that you cannot disable the function. You are advised to disable the function after the system completes automatic creation of the snapshot, and the created snapshot is displayed in the snapshot list.

    When disabling automatic snapshot creation, you can choose whether to delete the snapshots that have been automatically created by selecting Delete automated snapshots in the displayed dialog box. By default, automatically created snapshots are not deleted.

    • If you do not select Delete automated snapshots, automatically created snapshots will not be deleted when you disable automatic snapshot creation. You can manually delete them later. For details, see Deleting an OpenSearch Cluster Snapshot. If you do not manually delete the automatically created snapshots but later enable automatic snapshot creation again, then all these snapshots (with Snapshot Type set to Automated in the snapshot list of the cluster) can only be automatically deleted by the system. The system automatically deletes snapshots based on the policy the user configured when enabling automatic snapshot creation. For example, if the number of retained snapshots is set to 10 in this policy and more than 10 snapshots are created, the system automatically deletes the excess snapshots on the half hour.
    • If you select Delete automated snapshots, all snapshots with Snapshot Type set to Automated in the snapshot list will be deleted when you disable automatic snapshot creation.

    If snapshots are disabled, existing snapshots will not be automatically deleted. If you need to delete these snapshots, do that in the bucket that stores them on the OBS console.

Manually Creating a Snapshot

  1. Log in to the CSS management console.
  2. In the navigation pane on the left, choose Clusters > OpenSearch to show the OpenSearch cluster list.
  3. In the cluster list, click the target cluster name to go to the Cluster Information page.
  4. In the navigation pane on the left, choose Cluster Snapshots. Check whether Cluster Snapshot is enabled.
    • Yes: Go to 6.
    • No: Go to the next step.
  5. On the displayed Cluster Snapshots page, click the icon to the right of Cluster Snapshot to enable cluster snapshots.

    If Cluster Snapshot is already enabled, click on the right of Basic Configuration to modify backup settings.

    Table 3 Basic configuration for a cluster snapshot policy

    Parameter

    Description

    OBS Bucket

    From the drop-down list, select an OBS bucket for storing snapshots. You can also click Create Bucket on the right to create a new OBS bucket. For details, see Creating a Bucket.

    The newly created or existing OBS bucket must meet the following requirements:

    • Storage Class: Standard.
    • Region must be the same as that of the created cluster.

    Backup Path

    Storage path of the snapshot in the OBS bucket.

    The backup path cannot:
    • Contain the following characters: \:*?"<>|'{}
    • Start with a slash (/).
    • Start or end with a period (.).
    • Contain more than two consecutive slashes (/) or periods (.).
    • Exceed 512 characters.

    Maximum Backup Rate (per Second)

    The parameter sets the maximum backup rate per node. When it is exceeded, flow control is triggered to prevent excessive resource usage and ensure system stability. The actual backup rate may not reach the configured value, as it depends on factors such as OBS performance and disk I/O.

    Value format: number + unit
    • Number range: 0–9999
    • Unit: KB, MB, GB, TB, PB, or B

    Default value: 40 MB

    The value 0MB means there is no limit on how fast data is backed up to snapshots. An overly high backup rate may lead to excessive resource usage, which may impact cluster stability. Therefore, set this parameter carefully.

    Maximum Recovery Rate (per Second)

    The parameter sets the maximum recovery rate per node. When it is exceeded, flow control is triggered to prevent excessive resource usage and ensure system stability. The actual recovery rate may not reach the configured value, as it depends on factors such as OBS performance and disk I/O.

    Value format: number + unit
    • Number range: 0–9999
    • Unit: KB, MB, GB, TB, PB, or B

    The default value is 0MB, indicating no limit.

    An overly high recovery rate may lead to excessive resource usage, which may impact cluster stability. Therefore, set this parameter carefully.

    For OpenSearch clusters, the recovery rate is also limited by the indices.recovery.max_bytes_per_sec parameter.
    • If Maximum Recovery Rate (per Second) is less than indices.recovery.max_bytes_per_sec, the former takes effect.
    • If Maximum Recovery Rate (per Second) is greater than indices.recovery.max_bytes_per_sec, the latter takes effect.
    NOTE:
    • To check the value of indices.recovery.max_bytes_per_sec, run the following command:
      GET _cluster/settings
    • To modify indices.recovery.max_bytes_per_sec, run the following command:
      PUT _cluster/settings
      {
        "transient": {
          "indices.recovery.max_bytes_per_sec": "100mb"
        }
      }

    IAM Agency

    To store snapshots to an OBS bucket, you must have the required OBS access permissions. Select an IAM agency to grant the current account the permission to access and use OBS.
    • If you are configuring an agency for the first time, click Automatically Create IAM Agency to create css-obs-agency.
    • If there is an IAM agency automatically created earlier, you can click One-click authorization to have the OBS Administrator permissions deleted automatically, and have the following custom policies added automatically instead to implement more refined permissions control.
      "obs:bucket:GetBucketLocation",
      "obs:object:GetObjectVersion",
      "obs:object:GetObject",
      "obs:object:DeleteObject",
      "obs:bucket:HeadBucket",
      "obs:bucket:GetBucketStoragePolicy",
      "obs:object:DeleteObjectVersion",
      "obs:bucket:ListBucketVersions",
      "obs:bucket:ListBucket",
      "obs:object:PutObject"
    • When OBS buckets use SSE-KMS encryption, the IAM agency must be granted KMS permissions. You can click Automatically Create IAM Agency and One-click authorization to have the following custom policies created automatically.
      "kms:cmk:create",
      "kms:dek:create",
      "kms:cmk:get",
      "kms:dek:decrypt",
      "kms:cmk:list"
    • To use Automatically Create IAM Agency and One-click authorization, the following minimum permissions are required:
      "iam:agencies:listAgencies",
      "iam:roles:listRoles",
      "iam:agencies:getAgency",
      "iam:agencies:createAgency",
      "iam:permissions:listRolesForAgency",
      "iam:permissions:grantRoleToAgency",
      "iam:permissions:listRolesForAgencyOnProject",
      "iam:permissions:revokeRoleFromAgency",
      "iam:roles:createRole"
    • To use an IAM agency, the following minimum permissions are required:
      "iam:agencies:listAgencies",
      "iam:agencies:getAgency",
      "iam:permissions:listRolesForAgencyOnProject",
      "iam:permissions:listRolesForAgency"
    NOTE:

    The agency name can contain only letters (case-sensitive), digits, underscores (_), and hyphens (-). Otherwise, the backup will fail.

  6. After basic configurations are completed, click Create to manually create a snapshot.
    Table 4 Parameters for manually creating a snapshot

    Parameter

    Description

    Snapshot Name

    Name of a manually created snapshot. It can contain 4 to 64 characters and must start with a lowercase letter. Only lowercase letters, digits, hyphens (-), and underscores (_) are allowed. For snapshots you create manually, you can specify the snapshot name. The system will not automatically add a timestamp to the snapshot name.

    Index

    Indexes that you want to back up using snapshots. The index names cannot contain spaces or uppercase letters, and cannot contain "\<|>/?. Use commas (,) to separate different index names. If you do not specify this parameter, all indexes in the cluster are backed up by default. You can use the asterisk (*) to match multiple indexes. For example, if you enter index*, then the data of all indexes whose names are prefixed with index will be backed up.

    NOTE:

    Run the GET /_cat/indices command on OpenSearch Dashboards to query the names of all indexes in the cluster.

    Description

    Description of the snapshot. The value contains 0 to 256 characters and cannot contain <>.

  7. Click OK to create the snapshot.

    After the snapshot is created, it is displayed in the snapshot list. The status Available indicates that the snapshot is created successfully. along with manually created snapshots. You can distinguish between them based on Snapshot Type. In the upper right corner of the snapshot list, enter the keyword of the snapshot name or snapshot ID to search for the desired snapshots.

    If snapshot creation fails, click on the right of the snapshot list to view the number of failed tasks and learn the failure causes. A maximum of 20 failed tasks can be displayed. When the snapshot function is disabled or the cluster is deleted, the failure records are also cleared.