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
-
-
打开亚马逊 OpenSearch 服务控制台,网址为https://console.aws.amazon.com/aos/。
-
在左侧导航窗格中,选择无服务器,然后选择集合。
-
选择您的收藏的名称以打开其详细信息页面。
-
选择 “快照” 选项卡以显示所有生成的快照。
-
查看快照信息,包括:
-
快照 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
-
- 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返回快照中包含的索引数量。
从快照还原
从快照恢复会从先前拍摄的备份中恢复数据。此过程对于 OpenSearch Serverless 中的灾难恢复和数据管理至关重要。在恢复之前,请了解恢复的索引将与其原始版本 UUIDs 不同,快照只能恢复到其原始集合(不支持跨集合恢复),并且还原操作会影响集群性能,因此请相应地进行规划。
使用以下过程从快照恢复已备份的索引。
- Console
-
-
打开亚马逊 OpenSearch 服务控制台,网址为https://console.aws.amazon.com/aos/。
-
在左侧导航窗格中,选择无服务器,然后选择集合。
-
选择您的收藏的名称以打开其详细信息页面。
-
选择 “快照” 选项卡以显示可用的快照。
-
选择要从中还原的快照,然后选择 “从快照还原”。
-
在 “从快照还原” 对话框中:
-
选择 “保存” 以开始还原操作。
-
在 “还原活动” 选项卡中监控恢复进度,该选项卡显示状态、开始时间、完成时间和受影响的索引。
- Amazon CLI
-
-
运行以下命令以识别合适的快照。
GET /_snapshot/aoss-automated/_all
要查看较小的快照列表,请运行以下命令。
GET /_cat/snapshots/aoss-automated
-
还原前,运行以下命令以验证快照的详细信息。在命令中,将example内容替换为您的特定信息。
GET _snapshot/aoss-automated/snapshot-ExampleSnapshotID1/
-
运行以下命令,以从特定快照进行还原。
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"
}
-
运行以下命令查看还原进度。
GET /_cat/recovery
使用包含请求正文的命令恢复快照时,您可以使用多个参数来控制还原行为。该indexes参数指定要恢复的索引并支持通配符模式。设置ignore_unavailable为即使快照中缺少索引也能继续执行还原操作。include_global_state用于确定是否恢复集群状态,以及控制include_aliases是否还原关联的别名。在还原操作期间,rename_pattern和rename_replacement参数会重命名索引。