このページは、ボールトと 2012 年リリース当時の REST API を使用する、Amazon Glacier サービスの既存のお客様のみを対象としています。
アーカイブストレージソリューションをお探しの場合は、Amazon S3 の Amazon Glacier ストレージクラス (S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval、S3 Glacier Deep Archive) を使用することをお勧めします。これらのストレージオプションの詳細については、「Amazon Glacier ストレージクラス
Amazon Glacier (元のスタンドアロンのボールトベースのサービス) は、2025 年 12 月 15 日以降、新規のお客様を受け入れなくなります。既存のお客様に影響はありません。Amazon Glacier は、ボールトにデータを保存する独自の API を備えたスタンドアロンサービスであり、Amazon S3 および Amazon S3 Glacier ストレージクラスとは異なります。既存のデータは Amazon Glacier で無期限に安全性が確保され、引き続きアクセス可能です。移行は必要ありません。低コストの長期アーカイブストレージをお探しの場合、AWS は Amazon S3 Glacier ストレージクラス
Amazon Glacier での AWS SDK の使用
AWS には Amazon Glacier 用アプリケーションを開発するための SDK があります。SDK ライブラリは基本となる Amazon Glacier API をラップし、プログラミングタスクを簡素化します。たとえば、Amazon Glacier に送信する各リクエストに対して、リクエストを認証するために署名を含める必要があります。SDK ライブラリを使用すると、コードに AWS セキュリティ認証情報のみを指定するだけで、ライブラリによって必要な署名が計算され、Amazon Glacier に送信するリクエストにその署名が含められます。AWS SDK では、基本となる REST API に対応するライブラリが提供され、簡単にリクエストを作成したりレスポンスを処理したりするために使用できるオブジェクトが提供されます。
トピック
AWS Command Line Interface (AWS CLI) は、Amazon Glacier などの AWS のサービスのサービスを管理するための統合ツールです。AWS CLI のダウンロードの詳細については、「AWS Command Line Interface
Java 用と .NET 用の AWS SDK ライブラリ
Java 用と .NET 用の AWS SDK は高レベルと低レベルのラッパーライブラリを提供します。
このデベロッパーガイド全体で、AWS SDK for Java と AWS SDK for .NET を使用した Glacier の操作例が示されています。
低レベル API とは
低レベルのラッパーライブラリは、Amazon Glacier でサポートされる基本となる REST API (Amazon Glacier の API リファレンス) に厳密にマップしています。低レベル API では、各 Amazon Glacier REST オペレーションに対して、対応するメソッド、リクエスト情報を指定するリクエストオブジェクト、および Amazon Glacier レスポンスを処理するレスポンスオブジェクトを提供します。低レベルのラッパーライブラリは、基本となる Amazon Glacier オペレーションの最も完全な実装です。
これらの SDK ライブラリの詳細については、「Amazon Glacier でのAWS SDK for Java の使用」および「Amazon Glacier でのAWS SDK for .NET の使用」を参照してください。
高レベル API とは
アプリケーション開発をさらに簡素化するために、これらのライブラリでは一部のオペレーションに対して高レベルの抽象化を提供します。例:
-
アーカイブのアップロード - 低レベル API を使用して、ファイル名およびアーカイブの保存先となるボールトの名前とともにアーカイブをアップロードする場合は、ペイロードのチェックサム (SHA-256 木構造ハッシュ) を指定する必要があります。一方、高レベル API ではチェックサムが自動的に計算されます。
-
アーカイブまたはボールトインベントリのダウンロード - 低レベル API を使用して、アーカイブをダウンロードする場合、まずジョブを開始し、ジョブが完了するまで待機してから、ジョブの出力を取得します。Amazon Glacier でジョブの完了時に通知されるように、Amazon Simple Notification Service (Amazon SNS) トピックを設定する追加コードを記述する必要があります。また、ジョブの完了メッセージがトピックに投稿されたかどうかを確認するポーリングのメカニズムも必要です。高レベル API には、これらのすべてのステップに対応した、アーカイブをダウンロードするためのメソッドが用意されています。必要な操作は、アーカイブ ID と、ダウンロードしたデータを保存するフォルダーのパスを指定することのみです。
これらの SDK ライブラリの詳細については、「Amazon Glacier でのAWS SDK for Java の使用」および「Amazon Glacier でのAWS SDK for .NET の使用」を参照してください。
高レベル API と低レベル API を使用する場合
一般的に、オペレーションの実行に必要なメソッドが高レベル API に用意されている場合は、シンプルな高レベル API を使用してください。ただし、高レベル API でその機能が提供されていない場合は、低レベル API を使用できます。また、低レベル API では、エラー発生時の再試行ロジックなど、オペレーションを細かく制御できます。たとえば、アーカイブをアップロードするときに、高レベル API ではファイルのサイズに応じて、単一オペレーションでアーカイブをアップロードするか、マルチパートアップロード API を使用するかを決定します。APIには、アップロードが失敗した場合の再試行ロジックも組み込まれています。ただし、アプリケーションでこれらの決定を細かく制御する必要がある場合は、低レベル API を使用します。