

 **このページは、ボールトと 2012 年リリース当時の REST API を使用する、Amazon Glacier サービスの既存のお客様のみを対象としています。**

アーカイブストレージソリューションをお探しの場合は、Amazon S3 の Amazon Glacier ストレージクラス (S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval、S3 Glacier Deep Archive) を使用することをお勧めします。これらのストレージオプションの詳細については、「[Amazon Glacier ストレージクラス](https://aws.amazon.com/s3/storage-classes/glacier/)」を参照してください。

Amazon Glacier (元のスタンドアロンボールトベースのサービス) は、新規顧客を受け入れなくなりました。Amazon Glacier は、ボールトにデータを保存する独自の API を備えたスタンドアロンサービスであり、Amazon S3 および Amazon S3 Glacier ストレージクラスとは異なります。既存のデータは Amazon Glacier で無期限に安全性が確保され、引き続きアクセス可能です。移行は必要ありません。低コストの長期アーカイブストレージの場合、 は [Amazon S3 Glacier ストレージクラス](https://aws.amazon.com/s3/storage-classes/glacier/) AWS を推奨します。これにより、S3 バケットベースの APIs、低コスト、 AWS サービス統合で優れたカスタマーエクスペリエンスを実現できます。 AWS リージョン 拡張機能が必要な場合は、[Amazon Glacier ボールトから Amazon S3 Glacier ストレージクラスにデータを転送するためのAWS ソリューションガイダンス](https://aws.amazon.com/solutions/guidance/data-transfer-from-amazon-s3-glacier-vaults-to-amazon-s3/)を使用して、Amazon S3 Glacier ストレージクラスへの移行を検討してください。

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

# データをダウンロードするときのチェックサムの受信
<a name="checksum-calculations-range"></a>

ジョブの開始 API を使用してアーカイブを取得する場合は (「[ジョブの開始 (ジョブの POST)](api-initiate-job-post.md)」を参照)、オプションでアーカイブの取得範囲を指定できます。同様に、ジョブの出力の取得 API を使用してデータをダウンロードする場合は (「[ジョブの出力の取得 (GET output)](api-job-output-get.md)」を参照)、オプションでダウンロードするデータの範囲を指定できます。これらの範囲には、アーカイブのデータを取得およびダウンロードする際に理解していることが重要な 2 つの特性があります。取得する範囲は、アーカイブに対して*メガバイト単位に調整*する必要があります。データをダウンロードしたときにチェックサム値を受け取るには、取得する範囲とダウンロードする範囲が両方とも*木構造ハッシュ可能*である必要があります。この 2 つのタイプの範囲の調整は、次のように定義されています。

 
+ メガバイト単位調整 – 範囲 [*StartByte*,*EndBytes*] は、*StartBytes* が 1 MB で割り切れ、かつ *EndBytes* に 1 を足した値 が 1 MB で割り切れるか、指定されたアーカイブの末尾 (アーカイブのバイトサイズから 1 を引いた値) と等しい場合、メガバイト (1024\$11024) 単位調整されています。ジョブの開始 API で使用する範囲 (指定した場合) は、メガバイト単位に調整する必要があります。
+ 木構造ハッシュ可能 - 範囲 [*StartBytes*, *EndBytes*] は、その範囲で構築された木構造ハッシュのルートがアーカイブ全体の木構造ハッシュ内のノードに相当する場合のみ、アーカイブに対して木構造ハッシュ可能です。ダウンロードしたデータのチェックサム値を受け取るには、取得する範囲とダウンロードする範囲が両方とも木構造ハッシュ可能である必要があります。範囲の例およびアーカイブ木構造ハッシュとの関係については、「[木構造ハッシュの例: 木構造ハッシュ可能なアーカイブの範囲を取得する](#checksum-calculations-upload-archive-with-ranges)」を参照してください。

  木構造ハッシュ可能な範囲は、メガバイト単位にも調整できることに注意してください。ただし、メガバイト単位に調整された範囲が木構造ハッシュ可能であるとは限りません。

以下は、アーカイブデータをダウンロードしたときにチェックサムを受け取る場合を示しています。

 
+ ジョブの開始リクエストで取得する範囲を指定せず、ジョブの取得リクエストでアーカイブ全体をダウンロードした場合。
+ ジョブの開始リクエストで取得する範囲を指定せず、ジョブの取得リクエストでダウンロードする木構造ハッシュ可能な範囲を指定した場合。
+ ジョブの開始リクエストで取得する木構造ハッシュ可能な範囲を指定し、ジョブの取得リクエストでその範囲全体をダウンロードした場合。
+ ジョブの開始リクエストで取得する木構造ハッシュ可能な範囲を指定し、ジョブの取得リクエストでダウンロードする木構造ハッシュ可能な範囲を指定した場合。

ジョブの開始リクエストで取得する範囲を指定し、その範囲が木構造ハッシュ可能ではない場合は、ジョブの取得リクエストでデータをダウンロードしたときにアーカイブデータを取得できますが、チェックサム値は返されません。

## 木構造ハッシュの例: 木構造ハッシュ可能なアーカイブの範囲を取得する
<a name="checksum-calculations-upload-archive-with-ranges"></a>

ボールト内に 6.5 MB のアーカイブがあり、アーカイブの 2 MB 分を取得するとします。ジョブの開始リクエストで 2 MB の範囲を指定する方法によって、データのダウンロード時にデータチェックサム値を受け取るかどうかが決定されます。次の図は、6.5 MB のアーカイブに対してダウンロードできる 2 つの 2 MB の範囲を示しています。両方ともメガバイト単位に調整されていますが、木構造ハッシュ可能な範囲は 1 つのみです。

 

![\[木構造ハッシュにアラインされたアーカイブ範囲の取得を示す図。\]](http://docs.aws.amazon.com/ja_jp/amazonglacier/latest/dev/images/TreeHash-ArchiveWithRanges.png)


## 木構造ハッシュ可能な範囲の指定
<a name="tree-hash-algorithm"></a>

このセクションでは、木構造ハッシュ可能な範囲の正確な指定について説明します。木構造ハッシュ可能な範囲は、アーカイブの一部分をダウンロードするときに、取得する範囲のデータと、取得したデータからダウンロードする範囲を指定する場合に重要です。これらの範囲が両方とも木構造ハッシュ可能である場合は、データをダウンロードしたときにチェックサムデータを受け取ります。

範囲 [*A*,*B*] がアーカイブに関して木構造ハッシュ可能なのは、新しい*木構造ハッシュ*が [*A*,*B*] の上に構築されるとき、その範囲の木構造ハッシュのルートがアーカイブ全体の木構造ハッシュ内のノードに相当する場合に限られます。これについては、「[木構造ハッシュの例: 木構造ハッシュ可能なアーカイブの範囲を取得する](#checksum-calculations-upload-archive-with-ranges)」の図に示されています。このセクションでは、木構造ハッシュ可能な範囲の指定について説明します。

[*P*, *Q*] を、*N* メガバイト (MB) のアーカイブの範囲クエリとします。*P* および *Q* は 1 MB の倍数です。実際に含まれる範囲は [*P* MB,*Q* MB 1 バイト] ですが、単純化のために、[*P*, *Q*) と表しています。これらの前提に立つと、次のようになります。

 
+ *​P* が奇数の場合、木構造ハッシュ可能な範囲は 1 つのみ、つまり [*P*, *P* \$1 1 MB) です。
+ *P* が偶数で *k* が最大数です。*P*は、2*k* \$1 *X* とすると、*P* で始まる木構造ハッシュ可能な範囲は最大で *k* です。*X*は、0 より大きい整数です。木構造ハッシュ可能な範囲は、次のカテゴリに含まれます。
  + それぞれの *i* に対して、(0 <= *i* <= *k*) で、*P* \$1 2*i* < *N* の場合、[*P*, *Q* \$1 2*i*) は木構造ハッシュ可能な範囲です。
  + *P* = 0 は、*A* = 2[lgN]\$10 である特殊なケースです。