使用 EBS 直接 API 來存取 EBS 快照的內容 - Amazon EBS

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

使用 EBS 直接 API 來存取 EBS 快照的內容

您可以使用 Amazon Elastic Block Store (Amazon EBS) 直接 API 來建立 EBS 快照、將資料直接寫入快照、讀取快照上的資料,以及識別兩個快照之間的差異或變更。如果您是為 Amazon EBS 提供備份服務的獨立軟體開發廠商 (ISV),EBS 直接 API 可讓您以更輕鬆且更符合成本效益的方式透過快照追蹤 EBS 磁碟區的增量變更。這無需從快照建立新磁碟區即可完成,然後使用 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體來比較差異。

您可以直接從內部部署的資料建立增量快照到 EBS 磁碟區和雲端,以便快速災難復原。有了寫入和讀取快照的能力,您可以在災難期間將內部部署資料寫入 EBS 快照。然後在復原之後,您可以將其還原至快照 AWS 或從內部部署還原。您不再需要建置和維護複雜的機制來從 Amazon EBS 複製資料。

本使用者指南提供組成 EBS 直接 API 的元素概觀,以及如何有效使用這些元素的範例。如需 API 的動作、資料類型、參數和錯誤的詳細資訊,請參閱 EBS 直接 API 參考。如需 EBS 直接 API 支援的 AWS 區域、端點和服務配額的 Amazon 細資訊,請參閱. AWS 一般參考

了解 EBS 直接 API

開始使用 EBS 直接 API 之前,應該先了解下列關鍵元素。

快照

快照是從 EBS 磁碟區備份資料的主要方法。使用 EBS 直接 API,您也可以將內部部署磁碟的資料備份至快照。為了節省儲存體成本,連續快照是增量式,只會包含自上一個快照之後變更的磁碟區資料。如需詳細資訊,請參閱 Amazon EBS 快照

注意

EBS 直接 API 不支援 Outpost 上的公開快照和本機快照。

區塊

區塊是快照內的資料片段。每個快照可以包含數千個區塊。快照中的所有區塊都是固定大小。

區塊索引

區塊索引是一個邏輯索引,單位為 512 KiB 區塊。若要識別區塊索引,請將邏輯磁碟區中資料的邏輯位移除以區塊大小 (資料的邏輯位移/524288)。資料的邏輯位移必須為 512 KiB 對齊。

區塊標記

區塊標記是快照中區塊的識別雜湊,用於定位區塊資料。EBS 直接 API 傳回的區塊標記是暫時的。它們會根據為它們指定的到期時間戳記而變更,或者如果您執行另一個快照 ListSnapshotBlocks 或 ListChangedBlocks 要求相同的快照集。

檢查總和

檢查總和是從資料區塊衍生的小型基準,用於偵測在傳輸或儲存期間導致的錯誤。EBS 直接 API 使用檢查總和來驗證資料完整性。當您從 EBS 快照讀取資料時,此服務會針對每個傳輸的資料區塊提供 Base64 編碼的 SHA256 檢查總和,供您進行驗證。將資料寫入 EBS 快照時,您必須為每個傳輸的資料區塊提供 Base64 編碼的 SHA256 檢查總和。此服務會使用提供的檢查總和來驗證接收的資料。如需詳細資訊,請參閱本主題後述的「使用檢查總和」。

加密

加密會將資料轉換成無法讀取的程式碼,只有有權存取用來加密資料 KMS 金鑰 的人才能解讀這些程式碼。您可以使用 EBS 直接 API 讀取和寫入加密的快照,但有一些限制。如需詳細資訊,請參閱本主題後述的「使用加密」。

API 動作

EBS 直接 API 由六個動作組成。有三個讀取動作和三個寫入動作。讀取動作為:

  • ListSnapshot區塊 — 傳回指定快照中區塊的區塊索引和區塊標記

  • ListChanged區塊 — 傳回相同磁碟區和快照歷程的兩個指定快照之間不同的區塊索引和區塊 Token。

  • GetSnapshot區塊 — 傳回指定快照 ID、區塊索引和區塊權杖之區塊中的資料。

寫入動作為:

  • StartSnapshot— 以現有快照的增量快照或新快照的形式啟動快照。啟動的快照會保持擱置狀態,直到使用 CompleteSnapshot 動作完成為止。

  • PutSnapshot區 — 以個別區塊的形式將資料新增至已開始的快照。您必須為傳輸的資料區塊指定 Base64 編碼的 SHA256 檢查總和。傳輸完成後,該服務將驗證檢查總和。若服務運算的檢查總和與您指定的不相符,則請求失敗。

  • CompleteSnapshot— 完成處於擱置狀態的已啟動快照。然後將快照變更為完成狀態。

EBS 直接 API 的定價

API 的定價

您使用 EBS 直接 API 支付的價格視您提出的請求而定。如需詳細資訊,請參閱 Amazon EBS 定價

  • ListChanged區塊和 ListSnapshotBlocks API 會根據要求收費。例如,如果您在一個區域中發出 100,000 個 ListSnapshotBlocks API 請求,且每 1,000 個請求收費 0.0006 美元,則需支付 0.06 美元的費用 (每 1,000 個請求 0.06 美元 x 100 美元)。

  • GetSnapshot區塊按傳回的區塊收費。例如,如果您在某個區域中發出 100,000 個 GetSnapshotBlock API 請求,且每傳回的 1,000 個區塊收費 0.003 USD,則需支付 0.30 美元的費用 (每傳回 1,000 個區塊 0.003 美元 x 100 美元)。

  • PutSnapshot區塊是按寫入的區塊收費。例如,如果您在一個區域中發出 100,000 個 PutSnapshotBlock API 請求,且每 1,000 個寫入的區塊收取 0.006 美元的費用,則需支付 0.60 美元的費用(每 1,000 個區塊寫入 1 億美元 x 100 美元)。

聯網費用

資料傳輸費用

使用非 FI P 端點時,在 EBS 直接 API 和相同 AWS 區域中的 Amazon EC2 執行個體之間直接傳輸的資料是免費的。如需詳細資訊,請參閱 AWS 服務端點。如果您的資料傳輸途徑中有其他 AWS 服務,則需要向您收取相關資料處理費用。這些服務包括但不限於 PrivateLink 端點、NAT 閘道和 Transit Gateway。

VPC 介面端點

如果您使用來自 Amazon EC2 執行個體的 EBS 直接 API 或私有子網路中的 AWS Lambda 函數,則可以使用 VPC 界面端點 (而不是使用 NAT 閘道) 來降低網路資料傳輸成本。如需詳細資訊,請參閱 搭配介面 VPC 端點使用 EBS 直接 API