本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用EBS直接APIs访问EBS快照的内容
您可以直接APIs使用 Amazon Elastic Block Store (AmazonEBS) 创建EBS快照、将数据直接写入快照、读取快照上的数据以及识别两个快照之间的差异或变化。如果您是为 Amazon 提供备份服务的独立软件供应商 (ISV)EBS,那么EBS直接操作APIs可以提高通过快照跟踪EBS卷的增量更改的效率和成本效益。无需使用快照创建新卷,然后使用亚马逊弹性计算云 (AmazonEC2) 实例来比较差异,即可完成此操作。
您可以直接将本地数据创建到EBS卷和云中的增量快照,用于快速灾难恢复。借助写入和读取快照的功能,您可以在灾难发生时将本地数据写入EBS快照。然后,恢复后,您可以将其恢复到快照 AWS 或从快照恢复到本地。您不再需要构建和维护复杂的机制来向 Amazon 复制数据和从亚马逊复制数据EBS。
本用户指南概述了构成 di EBS rect 的元素APIs,并提供了如何有效使用它们的示例。有关操作、数据类型、参数和错误的更多信息APIs,请参阅EBS直接参APIs考。有关EBS直接支持的 AWS 区域、终端节点和服务配额的更多信息APIs,请参阅中的 Amazon EBS 终端节点和配额AWS 一般参考。
内容
了解EBS直接 APIs
以下是您在开始使用EBS直接版之前应了解的关键要素APIs。
快照
快照是备份EBS卷中数据的主要方式。使用EBS直接连接APIs,您还可以将本地磁盘中的数据备份到快照。为节省存储成本,连续快照为增量快照,只包含自上一个快照以来更改的卷数据。有关更多信息,请参阅 亚马逊EBS快照。
注意
EBSdirect APIs 不支持 Outposts 上的公共快照和本地快照。
数据块
数据块是快照中的数据片段。每个快照可以包含数千个数据块。快照中的所有数据块都具有固定大小。
数据块索引
数据块索引是以 512
KiB 数据块为单位的逻辑索引。若要确定数据块索引,请用逻辑卷中数据的逻辑偏移量除以数据块大小(数据的逻辑偏移量/524288
)。数据的逻辑偏移量必须与 512
KiB 一致。
数据块令牌
数据块令牌是快照中的数据块的标识哈希,它用于查找数据块数据。EBS直接返回的区块代币APIs是临时的。它们会在为其指定的到期时间戳时发生变化,或者如果您运行另一个快照 ListSnapshotBlocks 或 ListChangedBlocks 请求相同的快照。
校验和
校验和是从数据块中派生的大小很小的基准值,用于检测其传输或存储过程中引入的错误。EBS直接APIs使用校验和来验证数据的完整性。当您从EBS快照中读取数据时,该服务会为传输的每个数据块提供 Base64 编码的SHA256校验和,您可以将其用于验证。向EBS快照写入数据时,必须为每个传输的数据块提供 Base64 编码的SHA256校验和。服务使用提供的校验和验证接收的数据。有关更多信息,请参阅本指南下文中的使用校验和。
加密
加密通过将您的数据转换为不可读的代码来保护您的数据,只有有权访问用于加密数据的KMS密钥的人才能解密这些代码。您可以使用 di EBS rec APIs t 来读取和写入加密快照,但有一些限制。有关更多信息,请参阅本指南下文中的使用加密。
API行动
EBS直接操作由六个动作APIs组成。包含三个读取操作和三个写入操作。读取操作包括:
-
ListSnapshotBlocks— 返回指定快照中区块的区块索引和区块标记
-
ListChangedBlocks— 返回同一卷和快照谱系的两个指定快照之间存在差异的区块索引和区块令牌。
-
GetSnapshotBlock— 返回区块中指定快照 ID、区块索引和区块令牌的数据。
写入操作包括:
-
StartSnapshot— 启动快照,可以是现有快照的增量快照,也可以是新快照。在使用 CompleteSnapshot 操作完成之前,已启动的快照将保持待处理状态。
-
PutSnapshotBlock— 以单个块的形式向已启动的快照添加数据。必须为传输的数据块指定 Base64 编码的SHA256校验和。该服务会在传输完成以后验证校验和。若该服务计算的校验和与您指定值的不匹配,请求将会失败。
-
CompleteSnapshot— 完成处于待处理状态的已启动快照。然后,该快照的状态会更改为“已完成”。
EBS直接定价 APIs
APIs 定价
使用EBS直通车所支付的价格APIs取决于您提出的请求。有关更多信息,请参阅 Amazon EBS 定价
-
ListChangedBlocks并 ListSnapshotBlocks APIs按请求收费。例如,如果您在某个地区发出 100,000 个 ListSnapshotBlocks API请求,且该地区每 1,000 个请求收费 0.0006 美元,则将向您收取 0.06 美元的费用(每 1,000 个请求 0.0006 美元 x 100)。
-
GetSnapshotBlock按返回的区块收费。例如,如果您在某个地区发出 100,000 个 GetSnapshotBlock API请求,且每返回 1,000 个区块收费 0.003 美元,则将支付 0.30 美元(每返回 1,000 个区块 0.003 美元 x 100)。
-
PutSnapshotBlock按写入的区块收费。例如,如果您在某个地区发出 100,000 个 PutSnapshotBlock API请求,且每写入 1,000 个区块收费 0.006 美元,则将支付 0.60 美元的费用(每写入 1,000 个区块 0.006 美元 x 100)。
联网成本
数据传输成本
使用非FIPS终端节点时,EBS直接在同一 AWS 地区的直接EC2实例APIs和 Amazon 实例之间直接传输的数据是免费的。有关更多信息,请参阅AWS 服务端点。如果您的数据传输途中还有其他 AWS 服务,则将向您收取相关的数据处理费用。这些服务包括但不限于 PrivateLink 终端节点、NAT Gateway 和 Transit Gateway。
VPC 接口终端节点
如果您EBS直接使用来APIs自 Amazon 的EC2实例或私有子网中的 AWS Lambda 函数,则可以使用VPC接口终端节点代替NAT网关,以降低网络数据传输成本。有关更多信息,请参阅 将接口VPC端点与EBS直接连接一起使用 APIs。