

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用快照备份集合
<a name="serverless-snapshots"></a>

快照是您的 Amazon OpenSearch Serverless 集合的 point-in-time备份，可提供灾难恢复功能。 OpenSearch Serverless 会自动创建和管理馆藏的快照，从而确保业务连续性和数据保护。每个快照都包含索引元数据（索引的设置和映射）、群集元数据（索引模板和别名）和索引数据（存储在索引中的所有文档和数据）。

OpenSearch Serverless 提供每小时自动备份，无需手动配置，无需任何维护开销，无需额外的存储成本，可从意外数据丢失中快速恢复，并且能够从快照中恢复特定索引。

在使用快照之前，请先了解这些重要的注意事项。创建快照需要时间才能完成，而且不是即时创建的。快照创建期间的新文档或更新将不包含在快照中。快照只能还原到其原始集合，而不能还原到新集合。恢复后，索引会收到与其原始版本不同的新 UUIDs 索引。如果未提供新的索引名称或前缀模式，则在 OpenSearch Serverless 中恢复到现有打开的索引将覆盖该索引的数据。这与核心行为不同。 OpenSearch 一次只能运行一个还原操作，并且不能同时对同一个集合启动多个还原操作。在活动还原操作期间尝试恢复索引会导致操作失败。在还原操作期间，您对索引的请求会失败。

## 所需的权限
<a name="serverless-snapshots-permissions"></a>

要使用快照，则在数据访问策略中配置以下权限。有关数据访问策略的更多信息，请参阅 [数据访问策略与 IAM policy 对比](serverless-data-access.md#serverless-data-access-vs-iam)。


****  

| 数据访问策略 | APIs | 
| --- | --- | 
| aoss: DescribeSnapshot | GET /\$1-自动 cat/snapshots/aoss获取 \$1snapshot/aoss-automated/snapshot/ | 
| aoss: RestoreSnapshot | POST /\$1 /\$1restor snapshot/aoss-automated/snapshot e | 
| aoss: DescribeCollectionItems | GET /\$1cat/recovery | 

您可以使用以下 Amazon CLI 命令配置策略：

1.  [ create-access-policy](https://docs.amazonaws.cn/cli/latest/reference/opensearchserverless/create-access-policy.html) 

1.  [ delete-access-policy ](https://docs.amazonaws.cn/cli/latest/reference/opensearchserverless/delete-access-policy.html) 

1. [ get-access-policy ](https://docs.amazonaws.cn/cli/latest/reference/opensearchserverless/get-access-policy.html)

1. [ update-access-policy ](https://docs.amazonaws.cn/cli/latest/reference/opensearchserverless/update-access-policy.html)

以下是用于创建访问策略的 CLI 命令示例。在命令中，将*example*内容替换为您的特定信息。

```
aws opensearchserverless create-access-policy \
--type data \
--name Example-data-access-policy \
--region aws-region \
--policy '[
  {
    "Rules": [
      {
        "Resource": [
          "collection/Example-collection"
        ],
        "Permission": [
          "aoss:DescribeSnapshot",
          "aoss:RestoreSnapshot",
          "aoss:DescribeCollectionItems"
        ],
        "ResourceType": "collection"
      }
    ],
    "Principal": [
      "arn:aws:iam::111122223333:user/UserName"
    ],
    "Description": "Data policy to support snapshot operations."
  }
]'
```

## 快照的使用
<a name="serverless-snapshots-working-with"></a>

默认情况下，当您创建新集合时， OpenSearch Serverless 会每小时自动创建一次快照。您不需要采取任何措施。每个快照都包括集合中的所有索引。 OpenSearch Serverless 创建快照后，您可以使用以下步骤列出快照并查看快照的详细信息。

### 列出快照
<a name="serverless-snapshots-listing"></a>

使用以下过程列出集合中的所有快照并查看其详细信息。

------
#### [ Console ]

1. 打开亚马逊 OpenSearch 服务控制台，网址为[https://console.aws.amazon.com/aos/](https://console.amazonaws.cn/aos/)。

1. 在左侧导航窗格中，选择**无服务器**，然后选择**集合**。

1. 选择您的收藏的名称以打开其详细信息页面。

1. 选择 “**快照**” 选项卡以显示所有生成的快照。

1. 查看快照信息，包括：
   + **快照 ID**-快照的唯一标识符
   + **状态**-当前状态（可用、进行中）
   + **创建时间**-拍摄快照的时间

------
#### [ Amazon CLI ]
+ 使用以下命令列出集合中的所有快照：

  ```
  GET /_cat/snapshots/aoss-automated
  ```

  OpenSearch 无服务器会返回如下所示的响应：

  ```
  id                                 status  start_epoch start_time end_epoch  end_time    duration    indexes successful_shards failed_shards total_shards
  snapshot-ExampleSnapshotID1     SUCCESS 1737964331  07:52:11   1737964382 07:53:02    50.4s       1                                             
  snapshot-ExampleSnapshotID2     SUCCESS 1737967931  08:52:11   1737967979 08:52:59    47.7s       2                                             
  snapshot-ExampleSnapshotID3     SUCCESS 1737971531  09:52:11   1737971581 09:53:01    49.1s       3                                             
  snapshot-ExampleSnapshotID4 IN_PROGRESS 1737975131  10:52:11   -          -            4.8d       3
  ```

------

### 获取快照详情
<a name="serverless-snapshots-get-details"></a>

使用以下过程检索有关特定快照的详细信息。

------
#### [ Console ]

1. 打开亚马逊 OpenSearch 服务控制台，网址为[https://console.aws.amazon.com/aos/](https://console.amazonaws.cn/aos/)。

1. 在左侧导航窗格中，选择**无服务器**，然后选择**集合**。

1. 选择您的收藏的名称以打开其详细信息页面。

1. 选择 **Snapshots**（快照）选项卡。

1. 选择快照作业 ID 以显示有关快照的详细信息，包括元数据、包含的索引和计时信息。

------
#### [ Amazon CLI ]
+ 使用以下命令检索有关快照的信息。在命令中，将*example*内容替换为您的特定信息。

  ```
  GET _snapshot/aoss-automated/snapshot/
  ```

  示例请求：

  ```
  GET _snapshot/aoss-automated/snapshot-ExampleSnapshotID1/
  ```

  示例响应：

  ```
  {
      "snapshots": [
          {
              "snapshot": "snapshot-ExampleSnapshotID1-5e01-4423-9833Example",
              "uuid": "Example-5e01-4423-9833-9e9eb757Example",
              "version_id": 136327827,
              "version": "2.11.0",
              "remote_store_index_shallow_copy": true,
              "indexes": [
                  "Example-index-0117"
              ],
              "data_streams": [],
              "include_global_state": true,
              "metadata": {},
              "state": "SUCCESS",
              "start_time": "2025-01-27T09:52:11.953Z",
              "start_time_in_millis": 1737971531953,
              "end_time": "2025-01-27T09:53:01.062Z",
              "end_time_in_millis": 1737971581062,
              "duration_in_millis": 49109,
              "failures": [],
              "shards": {
                  "total": 0,
                  "failed": 0,
                  "successful": 0
              }
          }
      ]
  }
  ```

------

快照响应包括几个关键字段：`id`为快照操作提供唯一标识符，`status`返回当前状态`SUCCESS`或`IN_PROGRESS`，`duration`指示完成快照操作所花费的时间，以及`indexes`返回快照中包含的索引数量。

## 从快照还原
<a name="serverless-snapshots-restoring"></a>

从快照恢复会从先前拍摄的备份中恢复数据。此过程对于 OpenSearch Serverless 中的灾难恢复和数据管理至关重要。在恢复之前，请了解恢复的索引将与其原始版本 UUIDs 不同，如果未提供新的索引名称或前缀模式，则恢复到 OpenSearch Serverless中现有的打开索引将覆盖该索引的数据，快照只能恢复到其原始集合（不支持跨集合恢复），并且还原操作会影响集群性能，因此请相应地进行规划。

使用以下过程从快照恢复已备份的索引。

------
#### [ Console ]

1. 打开亚马逊 OpenSearch 服务控制台，网址为[https://console.aws.amazon.com/aos/](https://console.amazonaws.cn/aos/)。

1. 在左侧导航窗格中，选择**无服务器**，然后选择**集合**。

1. 选择您的收藏的名称以打开其详细信息页面。

1. 选择 “**快照**” 选项卡以显示可用的快照。

1. 选择要从中还原的快照，然后选择 “**从快照还原**”。

1. 在 “**从快照还原**” 对话框中：
   + 对于**快照名称**，请验证所选的快照 ID。
   + 对于**快照范围**，请选择以下任一选项：
     + **集合中的所有索引**-从快照中恢复所有索引
     + **特定索引**-选择要恢复的单个索引
   + 在 “**目标**” 中，选择要还原到的收藏夹。
   + （可选）配置**重命名设置**以重命名已恢复的索引：
     + **不要重命名**-保留原始索引名
     + **为已恢复的索引名称添加前缀**-添加前缀以避免冲突
     + **使用正则表达式重命名**-使用高级重命名模式
   + （可选）将**通知**设置配置为在还原完成或遇到错误时收到通知。

1. 选择 “**保存**” 以开始还原操作。

------
#### [ OpenSearch API ]

1. 运行以下命令以识别合适的快照。

   ```
   GET /_snapshot/aoss-automated/_all
   ```

   要查看较小的快照列表，请运行以下命令。

   ```
   GET /_cat/snapshots/aoss-automated
   ```

1. 还原前，运行以下命令以验证快照的详细信息。在命令中，将*example*内容替换为您的特定信息。

   ```
   GET _snapshot/aoss-automated/snapshot-ExampleSnapshotID1/
   ```

1. 运行以下命令，以从特定快照进行还原。

   ```
   POST /_snapshot/aoss-automated/snapshot-ID/_restore
   ```

   可通过添加请求正文自定义还原操作。以下为示例。

   ```
   POST /_snapshot/aoss-automated/snapshot-ExampleSnapshotID1-5e01-4423-9833Example/_restore
   {
     "indices": "opensearch-dashboards*,my-index*",
     "ignore_unavailable": true,
     "include_global_state": false,
     "include_aliases": false,
     "rename_pattern": "opensearch-dashboards(.+)",
     "rename_replacement": "restored-opensearch-dashboards$1"
   }
   ```

1. 运行以下命令查看还原进度。

   ```
   GET /_cat/recovery
   ```

------

**注意**  
使用包含请求正文的命令恢复快照时，您可以使用多个参数来控制还原行为。该`indices`参数指定要恢复的索引并支持通配符模式。设置`ignore_unavailable`为即使快照中缺少索引也能继续执行还原操作。`include_global_state`用于确定是否恢复集群状态，以及控制`include_aliases`是否还原关联的别名。在还原操作期间，`rename_pattern`和`rename_replacement`参数会重命名索引。