EBS direct API を使用して EBS スナップショットの内容にアクセスする - Amazon EBS

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

EBS direct API を使用して EBS スナップショットの内容にアクセスする

Amazon Elastic Block Store (Amazon EBS) direct API を使用して、EBS スナップショットの作成、スナップショットへのデータの直接書き込み、スナップショットのデータの読み取り、2 つのスナップショット間の違いや変更の特定を行うことができます。Amazon EBS のバックアップサービスを提供する独立系ソフトウェアベンダー (ISV) の場合は、EBS direct API を使用すると、スナップショットを介して EBS ボリュームの増分変更の追跡を効率化し、費用対効果を高めることができます。これを行うために、スナップショットから新しいボリュームを作成したり、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを使用して違いを比較したりする必要はありません。

増分スナップショットは、オンプレミスのデータから EBS ボリュームやクラウド内に直接作成し、迅速な災害対策に使用できます。災害が発生した場合は、スナップショットの読み書き機能を使用して、オンプレミスのデータを EBS スナップショットに書き込むことができます。災害からの復旧後に、スナップショットから AWS またはオンプレミスにデータを回復できます。Amazon EBS との間でデータをコピーする複雑なメカニズムを構築して維持する必要はなくなりました。

このユーザーガイドでは、EBS direct API を構成する要素に関する概要と、これらの要素を効果的に使用する方法の例を示します。API のアクション、データ型、パラメータ、エラーの詳細については、EBS direct API リファレンスを参照してください。EBS direct API でサポートされる AWS リージョン、エンドポイント、Service Quotas の詳細については、「AWS 全般のリファレンス」の「Amazon EBS エンドポイントとクォータ」を参照してください。

EBS direct API について

EBS direct API の使用を開始する前に、以下の主な要素を理解しておく必要があります。

スナップショット

スナップショットは、EBS ボリュームからデータをバックアップするための主な手段です。EBS direct API では、オンプレミスのディスクからスナップショットにデータをバックアップすることもできます。ストレージコストを節約するために、連続するスナップショットは増分で、以前のスナップショット以降に変更されたボリュームデータのみが含まれています。詳細については、「Amazon EBS スナップショット」を参照してください。

注記

EBS direct API は Outposts のパブリックスナップショットとローカルスナップショットをサポートしていません。

ブロック

ブロックは、スナップショット内のデータのフラグメントです。各スナップショットには、何千ものブロックを含めることができます。スナップショット内のすべてのブロックは固定サイズです。

ブロックインデックス

ブロックインデックスは、512 KiB ブロック単位の論理インデックスです。ブロックインデックスを識別するには、論理ボリューム内のデータの論理オフセットをブロックサイズで除算します (データの論理オフセット/524288)。データの論理オフセットは 512 KiB に整合させる必要があります。

ブロックトークン

ブロックトークンは、スナップショット内のブロックの識別ハッシュであり、ブロックデータの検索に使用されます。EBS direct API から返されるブロックトークンは一時的なものです。ブロックトークンは、これらのトークンに指定された有効期限のタイムスタンプに応じて変更されるか、同じスナップショットに対して別の ListSnapshotBlocks リクエストや ListChangedBlocks リクエストを実行した場合に変更されます。

チェックサム

チェックサムは、送信中や保存中に発生したエラーを検出するために、データのブロックから派生される小さいサイズのデータです。EBS direct API は、チェックサムを使用してデータの整合性を検証します。EBS スナップショットからデータを読み取るときに、送信されるデータブロックごとに Base64 でエンコードされた SHA256 チェックサムがサービスから提供されます。このチェックサムを使用してデータを検証できます。EBS スナップショットにデータを書き込むときは、送信するデータのブロックごとに Base64 でエンコードした SHA256 チェックサムを提供する必要があります。サービスは、提供されたチェックサムを使用して、受信したデータを検証します。詳細については、このガイドで後述するチェックサムの使用を参照してください。

暗号化

暗号化は、データを読み取り不可能なコードに変換することで、データを保護します。このコードは、暗号化に使用された KMS キー にアクセスできるユーザーのみが解読できます。暗号化されたスナップショットは、EBS direct API を使用して読み書きできますが、いくつかの制限があります。詳細については、このガイドで後述する暗号化の使用を参照してください。

API アクション

EBS direct API は、6 つのアクションで構成されています。3 つは読み取りアクションであり、他の 3 つは書き込みアクションです。読み取りアクションは以下のとおりです。

  • ListSnapshotBlocks – 指定されたスナップショット内のブロックから、ブロックインデックスとブロックトークンを返します。

  • ListChangedBlocks – 同じボリュームとスナップショット系列の 2 つの指定されたスナップショットのブロック間で異なる、ブロックインデックスとブロックトークンを返します。

  • GetSnapshotBlock – 指定されたスナップショット ID、ブロックインデックス、ブロックトークンに対応するブロックのデータを返します。

書き込みアクションは以下のとおりです。

  • StartSnapshot – 既存のスナップショットの増分スナップショット、あるいは新しいスナップショットとしてスナップショットを開始します。開始済みスナップショットは、CompleteSnapshot アクションを使用して完了するまで、保留状態となります。

  • PutSnapshotBlock – 開始済みスナップショットに、個別のブロックとしてデータを追加します。データのブロックを送信する際に、Base64 でエンコードした SHA256 チェックサムを指定する必要があります。送信が完了すると、このチェックサムがサービスによって検証されます。サービスが計算したチェックサムと指定したチェックサムが一致しない場合、リクエストは失敗します。

  • CompleteSnapshot – 保留状態にある開始済みスナップショットを完了します。これにより、スナップショットは完了状態に変更されます。

EBS direct API の料金

API の料金

EBS direct API の使用料金は、リクエストに応じて異なります。詳細については、Amazon EBS の料金表を参照してください。

  • ListChangedBlocks および ListSnapshotBlocks API ではリクエストごとに課金されます。例えば、1,000 リクエストあたり 0.0006 USD を請求するリージョンで 100,000 の ListSnapshotBlocks API リクエストを行うと、0.06 USD (1,000 リクエストあたり 0.0006 USD × 100) が課金されます。

  • GetSnapshotBlock では、返されたブロックごとに課金されます。例えば、返された 1,000 ブロックあたり 0.003 USD を請求するリージョンで 100,000 の GetSnapshotBlock API リクエストを行うと、0.30 USD (1,000 ブロックあたり 0.003 USD × 100) が課金されます。

  • PutSnapshotBlock では、書き込まれたブロックごとに課金されます。例えば、書き込まれた 1,000 ブロックあたり 0.006 USD を請求するリージョンで 100,000 の PutSnapshotBlock API リクエストを行うと、0.60 USD (書き込まれた 1,000 ブロックあたり 0.006 USD × 100) が課金されます。

ネットワークコスト

データ転送コスト

非 FIPS エンドポイントを使用する場合、同じ AWS リージョンにある EBS direct API と Amazon EC2 インスタンス間で直接転送されるデータには課金されません。詳細については、AWS サービスエンドポイントを参照してください。他の AWS のサービスがデータ転送の経路内に存在する場合は、それらのサービスに関連するデータ処理コストが課金されます。これらのサービスには、PrivateLink エンドポイント、NAT ゲートウェイ、および Transit Gateway が含まれますが、これらに限定されません。

VPC インターフェイスのエンドポイント

プライベートサブネット内の Amazon EC2 インスタンスもしくは AWS Lambda 関数から EBS direct API を使用している場合、NAT ゲートウェイの代わりに VPC インターフェイスエンドポイントを使用することで、ネットワークデータ転送にかかるコストを削減できます。詳細については、EBS direct API でインターフェイス VPC エンドポイントを使用するを参照してください。