本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用快照備份集合
快照是 Amazon OpenSearch Serverless 集合的point-in-time備份,可提供災難復原功能。OpenSearch Serverless 會自動建立和管理集合的快照,以確保業務連續性和資料保護。每個快照都包含索引中繼資料 (索引的設定和映射)、叢集中繼資料 (索引範本和別名) 和索引資料 (儲存在索引中的所有文件和資料)。
OpenSearch Serverless 提供無需手動組態的自動每小時備份、零維護開銷、無額外儲存成本、快速復原意外資料遺失,以及能夠從快照還原特定索引。
在使用快照之前,請了解這些重要的考量事項。建立快照需要一些時間才能完成,而且不會立即完成。快照建立期間的新文件或更新不會包含在快照中。您只能將快照還原至其原始集合,不能還原至新的集合。還原時,索引會收到與其原始版本不同的新 UUIDs。如果未提供新的索引名稱或字首模式,還原至 OpenSearch Serverless 中現有的開啟索引,將會覆寫該索引的資料。這與 OpenSearch 核心行為不同。您一次只能執行一個還原操作,而且無法同時在相同集合上啟動多個還原操作。在作用中還原操作期間嘗試還原索引會導致操作失敗。在還原操作期間,您對索引的請求會失敗。
所需的許可
若要使用快照,請在資料存取政策中設定下列許可。如需資料存取政策的詳細資訊,請參閱 資料存取政策與 IAM 政策比較。
| 資料存取政策 |
API |
| aoss:DescribeSnapshot |
GET /_cat/snapshots/aoss-automated GET _snapshot/aoss-automated/snapshot_id/ |
| aoss:RestoreSnapshot |
POST /_snapshot/aoss-automated/snapshot/_restore |
| aoss:DescribeCollectionItems |
GET /_cat/recovery |
<snapshot_id> 將 取代為從 擷取的實際快照 IDGET /_cat/snapshots/aoss-automated。
您可以使用下列 AWS CLI 命令來設定政策:
以下是用於建立存取政策的範例 CLI 命令。在 命令中,將範例內容取代為您的特定資訊。
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
-
-
開啟位於 https://https://console.aws.amazon.com/aos/ 的 Amazon OpenSearch Service 主控台。
-
在左側導覽窗格中,選擇無伺服器,然後選擇集合。
-
選擇集合的名稱以開啟其詳細資訊頁面。
-
選擇快照索引標籤以顯示所有產生的快照。
-
檢閱快照資訊,包括:
-
快照 ID - 快照的唯一識別符
-
狀態 - 目前狀態 (可用、進行中)
-
建立時間 - 拍攝快照的時間
- OpenSearch API
-
-
使用下列命令列出集合中的所有快照:
GET /_cat/snapshots/aoss-automated
請勿在此 API 呼叫中包含結尾斜線。使用 GET /_cat/snapshots/aoss-automated/(帶有斜線) 將傳回 404 錯誤。
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
-
-
開啟位於 https://https://console.aws.amazon.com/aos/ 的 Amazon OpenSearch Service 主控台。
-
在左側導覽窗格中,選擇無伺服器,然後選擇集合。
-
選擇集合的名稱以開啟其詳細資訊頁面。
-
選擇 Snapshots (快照) 索引標籤。
-
選擇快照任務 ID 以顯示快照的詳細資訊,包括中繼資料、包含的索引和時間資訊。
- OpenSearch API
-
-
使用下列命令來擷取快照的相關資訊。在 命令中,將範例內容取代為您的特定資訊。
GET _snapshot/aoss-automated/snapshot_id/
<snapshot_id> 將 取代為從 擷取的實際快照 IDGET /_cat/snapshots/aoss-automated。
範例請求:
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、還原至 OpenSearch Serverless 中現有的開放索引,如果未提供新的索引名稱或字首模式,快照只能還原至其原始集合 (不支援跨集合還原),且還原操作將影響叢集效能,因此請進行相應的規劃。
使用下列程序從快照還原備份的索引。
- Console
-
-
開啟位於 https://https://console.aws.amazon.com/aos/ 的 Amazon OpenSearch Service 主控台。
-
在左側導覽窗格中,選擇無伺服器,然後選擇集合。
-
選擇集合的名稱以開啟其詳細資訊頁面。
-
選擇快照索引標籤以顯示可用的快照。
-
選擇您要從中還原的快照,然後選擇從快照還原。
-
在從快照還原對話方塊中:
-
選擇儲存以開始還原操作。
- OpenSearch API
-
-
執行下列命令來識別適當的快照。
GET /_snapshot/aoss-automated/_all
如需較小的快照清單,請執行下列命令。
GET /_cat/snapshots/aoss-automated
-
執行下列命令,在還原之前驗證快照的詳細資訊。在 命令中,將範例內容取代為您的特定資訊。
GET _snapshot/aoss-automated/snapshot-ExampleSnapshotID1/
-
執行下列命令,從特定快照還原 。
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"
}
-
執行下列命令以檢視還原進度。
GET /_cat/recovery
使用包含請求內文的命令還原快照時,您可以使用多個參數來控制還原行為。indices 參數指定要還原的索引,並支援萬用字元模式。設定 ignore_unavailable以繼續還原操作,即使快照中的索引遺失。使用 include_global_state 決定是否還原叢集狀態,以及include_aliases控制是否還原相關聯的別名。rename_pattern 和 rename_replacement 參數會在還原操作期間重新命名索引。