手動拍攝快照 - Amazon OpenSearch Service

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

手動拍攝快照

快照不是即時的。它們需要一些時間才能完成,並不確切代表叢集在各個時間點的狀態。當快照仍在進行中,您還是可以對文件編製索引並對叢集發出其他請求,但新文件以及對現有文件的更新一般不包括在快照中。快照包含當 OpenSearch 啟動快照時既已存在的主要碎片。視快照執行緒集區的大小而定,快照中可能附有相距些許時間差的不同碎片。如需快照最佳實務,請參閱 改善快照效能

快照儲存與效能

OpenSearch 快照是增量式的,這表示它們只會存放自從上次成功快照之後有所變更的資料。這種增量性質表示頻率高和頻率低的快照之間的磁碟用量差異通常很小。換言之,每小時拍攝快照長達一週 (總共 168 個快照),可能不會比在週末拍攝單一快照使用更多的磁碟空間。此外,您拍攝快照的頻率越高,完成快照所需的時間越少。例如,每日快照可能需要 20-30 分鐘才能完成,而每小時快照可能在幾分鐘內即可完成。有些 OpenSearch 使用者建立快照的頻率高達半小時一次。

建立快照

建立快照時可以指定以下資訊:

  • 快照儲存庫的名稱

  • 快照的名稱

為了方便和簡潔,本章中的範例使用 Curl 這個常見的 HTTP 用戶端。若要將使用者名稱和密碼傳遞至 curl 請求,請參閱入門教學課程。

如果您的存取政策指定使用者或角色,您必須簽署快照請求。對於 curl,您可以使用 --aws-sigv4選項搭配 7.75.0 版或更新版本。您也可以使用範例 Python 用戶端中的註解範例,對 curl 命令使用的相同端點提出已簽署的 HTTP 請求。

若要建立手動快照,請執行下列步驟:

  1. 如果快照正在進行中,您就無法取得快照。若要檢查,請執行下列命令:

    curl -XGET 'domain-endpoint/_snapshot/_status'
  2. 執行以下命令來手動拍攝快照:

    curl -XPUT 'domain-endpoint/_snapshot/repository-name/snapshot-name'

    若要包含或排除某些索引並指定其他設定,請新增請求主體。如需了解請求結構,請參閱 OpenSearch 文件中的 Take snapshots (拍攝快照)。

注意

拍攝快照所需的時間隨著 OpenSearch Service 網域的大小而增加。長時間執行的快照操作有時會發生以下錯誤:504 GATEWAY_TIMEOUT。一般而言,您可以忽略這些錯誤,並等待操作成功完成。執行下列命令來驗證您網域的所有快照狀態:

curl -XGET 'domain-endpoint/_snapshot/repository-name/_all?pretty'