本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
EBS direct API 的概念
下面是您在开始使用 EBS direct API 前应了解的关键概念。
快照
快照是备份 EBS 卷中的数据的主要方式。使用 EBS direct API,您还可以将数据从本地磁盘备份到快照。为节省存储成本,连续快照为增量快照,只包含自上一个快照以来更改的卷数据。有关更多信息,请参阅 亚马逊EBS快照。
注意
EBS 直接 API 不支持 Outposts 上的公有快照和本地快照。
数据块
数据块是快照中的数据片段。每个快照可以包含数千个数据块。快照中的所有数据块都具有固定大小。
数据块索引
数据块索引是以 512
KiB 数据块为单位的逻辑索引。若要确定数据块索引,请用逻辑卷中数据的逻辑偏移量除以数据块大小(数据的逻辑偏移量/524288
)。数据的逻辑偏移量必须与 512
KiB 一致。
数据块令牌
数据块令牌是快照中的数据块的标识哈希,它用于查找数据块数据。EBS direct API 返回的数据块令牌是临时的。它们根据为其指定的到期时间戳发生更改,或者在您为同一个快照运行 ListSnapshotBlocks 或 ListChangedBlocks 请求时发生更改。
校验和
校验和是从数据块中派生的大小很小的基准值,用于检测其传输或存储过程中引入的错误。EBS direct API 使用校验和验证数据完整性。从 EBS 快照读取数据时,该服务会为传输的每个数据块提供 Base64 编码的 SHA256 校验和,您可以使用这些校验和进行验证。向 EBS 快照写入数据时,您必须为传输的每个数据块提供一个 Base64 编码的 SHA256 校验和。服务使用提供的校验和验证接收的数据。有关更多信息,请参阅本指南下文中的使用 EBS direct API 校验和来验证快照数据。
加密
通过加密,您的数据将转换为无法读取的代码,只能由有权访问加密数据所用 KMS 密钥 的人员破译这些代码,从而为数据提供保护。您可以使用 EBS direct API 读取和写入加密快照,但存在一些限制。有关更多信息,请参阅本指南下文中的EBS direct API 的加密结果。
API 操作
EBS direct API 由六个操作组成。包含三个读取操作和三个写入操作。读取操作包括:
-
ListSnapshotBlocks – 返回指定快照中数据块的数据块索引和数据块令牌。
-
ListChangedBlocks – 返回同一卷和快照谱系的两个指定快照之间,存在不同的数据块的数据块索引和数据块令牌。
-
GetSnapshotBlock – 返回指定快照 ID、数据块索引和数据块令牌的数据块中的数据。
写入操作包括:
-
StartSnapshot – 开始拍照,可以是现有快照的增量快照,或者全新的快照。已开始快照会停留在“待处理”状态,直到通过使用 CompleteSnapshot 操作将其完成。
-
PutSnapshotBlock – 将数据以单个数据块的形式添加到已开始快照中。您必须为传输的数据块指定一个 Base64 编码的 SHA256 校验和。该服务会在传输完成以后验证校验和。若该服务计算的校验和与您指定值的不匹配,请求将会失败。
-
CompleteSnapshot – 完成一个处于“待处理”状态的已开始快照。然后,该快照的状态会更改为“已完成”。
签名版本 4 签名
签名版本 4 是将身份验证信息添加到通过 HTTP 发送的 AWS 请求的流程。出于安全考虑,大多数 AWS 请求都必须使用访问密钥(包括访问密钥 ID 和秘密访问密钥)进行签名。这两个密钥通常称为您的安全凭证。有关如何获取账户凭证的信息,请参阅 AWS 安全凭证。
如果您打算手动创建 HTTP 请求,则必须了解如何对其签名。当您使用(AWS Command Line InterfaceAWS CLI)或其中一个 AWS 开发工具包来向 AWS 发出请求时,这些工具会自动使用您在配置工具时指定的访问密钥为您签署请求。当您使用这些工具时,您不必了解如何亲自签署这些请求。
有关更多信息,请参阅《IAM 用户指南》中的签署 AWS API 请求。