

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用快照備份集合
<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 政策比較](serverless-data-access.md#serverless-data-access-vs-iam)。


****  

| 資料存取政策 | API | 
| --- | --- | 
| aoss：DescribeSnapshot | GET /\_cat/snapshots/aoss-automated<br />GET \_snapshot/aoss-automated/snapshot/ | 
| aoss：RestoreSnapshot | POST /\_snapshot/aoss-automated/snapshot/\_restore | 
| aoss：DescribeCollectionItems | GET /\_cat/recovery | 

您可以使用下列 AWS CLI 命令來設定政策：

1.  [ create-access-policy](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/create-access-policy.html) 

1.  [ delete-access-policy ](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/delete-access-policy.html) 

1. [ get-access-policy ](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/get-access-policy.html)

1. [ update-access-policy ](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/update-access-policy.html)

以下是用於建立存取政策的範例 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.}}"
  }
]'
```

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

根據預設，當您建立新的集合時，OpenSearch Serverless 會每小時自動建立快照。您無需執行任何動作。每個快照都包含集合中的所有索引。OpenSearch Serverless 建立快照後，您可以使用下列程序列出快照並檢閱快照的詳細資訊。

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

使用下列程序列出集合中的所有快照，並檢閱其詳細資訊。

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

1. 開啟位於 https：//[https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/) 的 Amazon OpenSearch Service 主控台。

1. 在左側導覽窗格中，選擇**無伺服器**，然後選擇**集合**。

1. 選擇集合的名稱以開啟其詳細資訊頁面。

1. 選擇**快照**索引標籤以顯示所有產生的快照。

1. 檢閱快照資訊，包括：
   + **快照 ID** - 快照的唯一識別符
   + **狀態** - 目前狀態 （可用、進行中）
   + **建立時間** - 拍攝快照的時間

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

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

  OpenSearch Serverless 會傳回類似以下的回應：

  ```
  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. 開啟位於 https：//[https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/) 的 Amazon OpenSearch Service 主控台。

1. 在左側導覽窗格中，選擇**無伺服器**，然後選擇**集合**。

1. 選擇集合的名稱以開啟其詳細資訊頁面。

1. 選擇 **Snapshots** (快照) 索引標籤。

1. 選擇快照任務 ID 以顯示快照的詳細資訊，包括中繼資料、包含的索引和時間資訊。

------
#### [ OpenSearch API ]
+ 使用下列命令來擷取快照的相關資訊。在 命令中，將{{範例}}內容取代為您的特定資訊。

  ```
  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. 開啟位於 https：//[https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/) 的 Amazon OpenSearch Service 主控台。

1. 在左側導覽窗格中，選擇**無伺服器**，然後選擇**集合**。

1. 選擇集合的名稱以開啟其詳細資訊頁面。

1. 選擇**快照**索引標籤以顯示可用的快照。

1. 選擇您要從中還原的快照，然後選擇**從快照還原**。

1. 在**從快照還原**對話方塊中：
   + 針對**快照名稱**，驗證選取的快照 ID。
   + 針對**快照範圍**，選擇下列其中一項：
     + **集合中的所有索引** - 從快照還原所有索引
     + **特定索引** - 選取要還原的個別索引
   + 針對**目的地**，選擇要還原的集合。
   + （選用） 設定**重新命名設定**以重新命名還原的索引：
     + **請勿重新命名** - 保留原始索引名稱
     + **新增字首至還原的索引名稱** - 新增字首以避免衝突
     + **使用規則表達式重新命名** - 使用進階重新命名模式
   + （選用） 將**通知**設定設定為在還原完成或發生錯誤時收到通知。

1. 選擇**儲存**以開始還原操作。

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

1. 執行下列命令來識別適當的快照。

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

   如需較小的快照清單，請執行下列命令。

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

1. 執行下列命令，在還原之前驗證快照的詳細資訊。在 命令中，將{{範例}}內容取代為您的特定資訊。

   ```
   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` 參數會在還原操作期間重新命名索引。