使用快照备份集合 - 亚马逊 OpenSearch 服务
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用快照备份集合

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

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

在使用快照之前,请先了解这些重要的注意事项。创建快照需要时间才能完成,而且不是即时创建的。快照创建期间的新文档或更新将不包含在快照中。快照只能还原到其原始集合,而不能还原到新集合。恢复后,索引会收到与其原始版本不同的新 UUIDs 索引。您一次只能运行一个还原操作,并且不能同时对同一个集合启动多个还原操作。在活动还原操作期间尝试恢复索引会导致操作失败。在还原操作期间,您对索引的请求会失败。

所需的权限

要使用快照,则在数据访问策略中配置以下权限。有关数据访问策略的更多信息,请参阅 数据访问策略与 IAM policy 对比

数据访问策略 APIs
aoss: DescribeSnapshot

GET /_-自动 cat/snapshots/aoss

获取 _snapshot/aoss-automated/snapshot/

aoss: RestoreSnapshot POST /_ /_restor snapshot/aoss-automated/snapshot e
aoss: DescribeCollectionItems GET /_cat/recovery

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

以下是用于创建访问策略的 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." } ]'

快照的使用

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

列出快照

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

Console
  1. 打开亚马逊 OpenSearch 服务控制台,网址为https://console.aws.amazon.com/aos/

  2. 在左侧导航窗格中,选择无服务器,然后选择集合

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

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

  5. 查看快照信息,包括:

    • 快照 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

获取快照详情

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

Console
  1. 打开亚马逊 OpenSearch 服务控制台,网址为https://console.aws.amazon.com/aos/

  2. 在左侧导航窗格中,选择无服务器,然后选择集合

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

  4. 选择 Snapshots(快照)选项卡。

  5. 选择快照作业 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返回当前状态SUCCESSIN_PROGRESSduration指示完成快照操作所花费的时间,以及indexes返回快照中包含的索引数量。

从快照还原

从快照恢复会从先前拍摄的备份中恢复数据。此过程对于 OpenSearch Serverless 中的灾难恢复和数据管理至关重要。在恢复之前,请了解恢复的索引将与其原始版本 UUIDs 不同,快照只能恢复到其原始集合(不支持跨集合恢复),并且还原操作会影响集群性能,因此请相应地进行规划。

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

Console
  1. 打开亚马逊 OpenSearch 服务控制台,网址为https://console.aws.amazon.com/aos/

  2. 在左侧导航窗格中,选择无服务器,然后选择集合

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

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

  5. 选择要从中还原的快照,然后选择 “从快照还原”。

  6. 在 “从快照还原” 对话框中:

    • 对于快照名称,请验证所选的快照 ID。

    • 对于快照范围,请选择以下任一选项:

      • 集合中的所有索引-从快照中恢复所有索引

      • 特定索引-选择要恢复的单个索引

    • 在 “目标” 中,选择要还原到的收藏夹。

    • (可选)配置重命名设置以重命名已恢复的索引:

      • 不要重命名-保留原始索引名

      • 为已恢复的索引名称添加前缀-添加前缀以避免冲突

      • 使用正则表达式重命名-使用高级重命名模式

    • (可选)配置通知设置,以便在恢复完成或遇到错误时收到通知。

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

  8. 在 “还原活动” 选项卡中监控恢复进度,该选项卡显示状态、开始时间、完成时间和受影响的索引。

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

    GET /_snapshot/aoss-automated/_all

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

    GET /_cat/snapshots/aoss-automated
  2. 还原前,运行以下命令以验证快照的详细信息。在命令中,将example内容替换为您的特定信息。

    GET _snapshot/aoss-automated/snapshot-ExampleSnapshotID1/
  3. 运行以下命令,以从特定快照进行还原。

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

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

    POST /_snapshot/aoss-automated/snapshot-ExampleSnapshotID1-5e01-4423-9833Example/_restore { "indexes": "opensearch-dashboards*,my-index*", "ignore_unavailable": true, "include_global_state": false, "include_aliases": false, "rename_pattern": "opensearch-dashboards(.+)", "rename_replacement": "restored-opensearch-dashboards$1" }
  4. 运行以下命令查看还原进度。

    GET /_cat/recovery
注意

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