使用快照备份馆藏 - 亚马逊 OpenSearch 服务

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

使用快照备份馆藏

快照是提供灾难恢复功能的 Amazon OpenSearch Serverless 集合的 point-in-time备份。 OpenSearch Serverless 会自动创建和管理馆藏的快照,从而确保业务连续性和数据保护。每个快照都包含:

  • 索引元数据:索引的设置和映射

  • 集群元数据:索引模板和别名

  • 索引数据:存储在索引中的所有文档和数据

主要优势

  • 每小时自动备份,无需手动配置

  • 零维护开销

  • 没有额外的存储成本

  • 从意外数据丢失中快速恢复

  • 能够从快照恢复特定索引

重要注意事项

  • 创建快照不是即时的,需要时间才能完成。

  • 快照创建期间的新文档或更新可能不会包含在快照中。

  • 您只能将快照恢复到其原始收藏夹,而不能恢复到新集合。

  • 恢复后,索引会收到与其原始版本不同的新 UUIDs 索引。

  • 一次只能运行一个还原操作。

  • 您不能同时对同一个集合启动多个还原操作。在活动还原操作期间尝试恢复索引会导致操作失败。

  • 在还原操作期间,您对索引的请求会失败。

所需的权限

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

数据访问政策 APIs
aoss: DescribeSnapshot

获取/_cat/snapshots

GET /_ cat/snapshots/aoss-automated/

获取 _snaps snapshot hot/aoss-automated//

aoss: RestoreSnapshot POST /_snapshot/aoss-automated/ /_restor snapshot e
aoss: DescribeCollectionItems 获取 /_cat/recovery

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

以下是用于创建访问策略的 CLI 命令示例:

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

快照的使用

默认情况下,当您创建新集合时, OpenSearch Serverless 会每小时自动创建一次快照。您无需执行任何操作。每个快照都包含集合中的所有索引。 OpenSearch Serverless 创建快照后,您可以使用以下命令列出快照并查看快照的详细信息。

列出快照

使用以下命令列出集合中的所有快照:

GET /_cat/snapshots/aoss-automated/

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

id status start_epoch start_time end_epoch end_time duration indices successful_shards failed_shards total_shards snapshot-AWSExampleSnapshotID1 SUCCESS 1737964331 07:52:11 1737964382 07:53:02 50.4s 1 snapshot-AWSExampleSnapshotID2 SUCCESS 1737967931 08:52:11 1737967979 08:52:59 47.7s 2 snapshot-AWSExampleSnapshotID3 SUCCESS 1737971531 09:52:11 1737971581 09:53:01 49.1s 3 snapshot-AWSExampleSnapshotID4 IN_PROGRESS 1737975131 10:52:11 - - 4.8d 3

获取快照

检索有关快照的信息。

GET _snapshot/aoss-automated/snapshot/

示例请求

GET _snapshot/aoss-automated/snapshot-AWSExampleSnapshotID1/

响应示例

{ "snapshots": [ { "snapshot": "snapshot-AWSExampleSnapshotID1-5e01-4423-9833Example", "uuid": "AWSExample-5e01-4423-9833-9e9eb757Example", "version_id": 136327827, "version": "2.11.0", "remote_store_index_shallow_copy": true, "indices": [ "AWSExample-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

快照操作的唯一标识符。

状态

快照操作的当前状态。可能的值包括:

  • SUCCESS

  • IN_PROGRESS

duration

完成快照操作所花费的时间。

指数

快照中包含的索引数量。

从快照还原

从快照恢复允许您从先前拍摄的备份中恢复数据。此过程对于 OpenSearch Serverless 中的灾难恢复和数据管理至关重要。

重要注意事项

  1. 恢复后的索引将与其原始版本 UUIDs 不同。

  2. 快照只能恢复到其原始收藏夹。不支持跨集合恢复。

  3. 恢复操作可能会影响集群性能。相应地做好计划。

从快照恢复已备份的事件
  1. 运行以下命令以识别相应的快照。

    GET /_snapshot/aoss-automated/_all

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

    GET /_cat/snapshots/aoss-automated/
  2. 在还原之前,运行以下命令以验证快照的详细信息。

    GET _snapshot/aoss-automated/snapshot-AWSExampleSnapshotID1/
  3. 运行以下命令以从特定快照中恢复。

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

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

    POST /_snapshot/aoss-automated/snapshot-AWSExampleSnapshotID1-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" }
  4. 运行以下命令查看恢复进度。

    GET /_cat/recovery
注意

使用包含请求正文的命令恢复快照时,您可以使用以下参数来控制还原行为:

指数

指定要恢复的索引。此参数支持通配符模式。

忽略_不可用

即使快照中缺少索引,也允许恢复操作继续进行。

包含_全局_状态

确定是否恢复集群状态。

包含别名

控制是否恢复关联的别名。

重命名模式和重命名替换

允许您在还原操作期间重命名索引。