メニュー
Amazon Simple Storage Service
開発者ガイド (API Version 2006-03-01)

オブジェクトのアーカイブ(GLACIER ストレージクラスへのオブジェクトの移行)

リアルタイムでアクセスする必要がないオブジェクト用に、Amazon S3 では GLACIER ストレージクラスも提供されています。このストレージクラスは、主にアーカイブ目的で格納されるオブジェクトに最適です。

Amazon S3 内にある各オブジェクトは、ストレージクラスと関連付けられています。オブジェクトをアップロードすると、デフォルトではそのオブジェクトは標準ストレージクラスと関連付けられます。この場合、Amazon S3 は高い耐久性を確保するために冗長コピーを維持します。それほど重要でない再生可能なデータについては、低冗長化ストレージ(RRS)オプションをご利用いただけます。この場合、Amazon S3 は標準ストレージクラスより低レベルの冗長性を使用します。RRS は費用対効果および可用性の高いソリューションを提供します。オブジェクトのストレージクラスを見つけるには、API(GET Bucket (List Objects) を参照)またはコンソールを使用します。個々のオブジェクトについては、オブジェクトの [Properties] の [Details] セクションに、オブジェクトのストレージクラスが記載されています。また、バケット内のすべてのオブジェクトをリストすると、コンソールに、リスト内のすべてのオブジェクトのストレージクラスが表示されます。

標準オブジェクトと RRS オブジェクトはどちらもリアルタイムでの可用性が高く、GLACIER ストレージクラスは主にアーカイブ目的で保存されるオブジェクトに適しています。

オブジェクトをアップロードする際に、標準ストレージクラスまたは RRS ストレージクラスを指定することはできますが、GLACIER ストレージクラスを割り当てることはできません。既存のオブジェクトを GLACIER ストレージクラスに移行するには、オブジェクトのライフサイクル管理を使用します。Amazon S3 は、ユーザーが定義したルールに基づいてオブジェクトをアーカイブし、GLACIER ストレージクラスに関連付けます。

Amazon S3 では、アーカイブされたオブジェクトは Amazon Glacier に保存されますが、これらは Amazon S3 オブジェクトのため、Amazon S3 のコンソールまたは API を使用することによってのみアクセスできます。アーカイブされたオブジェクトに、Amazon Glacier のコンソールまたは API 経由でアクセスすることはできません。

ライフサイクル設定で可能なのは、GLACIER ストレージクラスへの一方向の移行だけです。ストレージクラスを GLACIER から標準または RRS に変更するには、この後のセクションで説明するようにオブジェクトを復元してから、復元されたオブジェクトのコピーを作成する必要があります。

オブジェクトがいつ Amazon S3 によって GLACIER ストレージクラスに移行されたかを調べるには、Amazon S3 のサーバーアクセスログを使用します。ログレコードのオペレーションフィールドの「S3.TRANSITION.OBJECT」という値が、Amazon S3 によるこのオペレーションの開始を示しています。詳細については、「サーバーアクセスのロギング」を参照してください。

料金表に関する留意事項

アクセス頻度の低いデータを数か月あるいは数年間アーカイブする場合、GLACIER ストレージクラスを使用すれば通常はストレージコストを削減できます。ただし、GLACIER ストレージクラスが適切かどうかを判断するには、以下の点を考慮する必要があります。

  • ストレージオーバーヘッド料金 – オブジェクトを GLACIER ストレージクラスに移行すると、そのオブジェクトを管理するメタデータを収容するために、各オブジェクトに対して一定量のストレージが追加されます。

    • Amazon Glacier にアーカイブされるオブジェクト 1 個あたり、Amazon S3 でオブジェクトの名前とその他のメタデータ用に 8 KB のストレージが使用されます。Amazon S3 によりこのメタデータが保管される目的は、ユーザーが Amazon S3 API(「Get Bucket (List Objects)」を参照)を使用して、アーカイブされたオブジェクトのリアルタイムのリストを取得できるようにすることです。この追加ストレージに対しては、Amazon S3 の標準料金が課金されます。

    • アーカイブされるオブジェクト 1 個あたり、Amazon Glacier でインデックスおよび関連するメタデータのために 32 KB のストレージが追加されます。 この追加データは、オブジェクトを特定して復元するのに必要です。この追加ストレージに対しては、Amazon Glacier の料金が課金されます。

    小さいオブジェクトをアーカイブする場合は、これらのストレージ料金を考慮する必要があります。オーバーヘッドコストを削減するには、多数の小さいオブジェクトを少数の大きいオブジェクトに集約する方法があります。

  • オブジェクトをアーカイブしておく日数 – Amazon Glacier は長期間のアーカイブを行うソリューションです。Amazon Glacier にアーカイブされているデータの削除は、削除するオブジェクトが 3 か月以上アーカイブされている場合は、無料です。オブジェクトをアーカイブしてから 3 か月以内に削除または上書きする場合は、Amazon S3 によって日割りの早期削除料金が課金されます。

  • Glacier アーカイブリクエスト料金GLACIER ストレージクラスに移行するオブジェクトごとに 1 つのアーカイブリクエストが作成されます。アーカイブリクエストごとにコストが発生します。多数のオブジェクトを移行する場合は、リクエストのコストを考慮する必要があります。

  • Glacier データ復元料金 – Amazon Glacier は、頻繁にアクセスしないデータの長期アーカイブ用に設計されています。データ復元料金は、データ復元の速度に依存し、1 か月間で請求可能なピーク復元レートに基づいて、GB/時間で計算されます。1 か月の間で、請求可能なピーク復元レートに対してのみ課金が発生し、請求可能なピーク復元レート未満のデータ復元には料金がかかりません。大量の復元を行う前には、「料金に関するよくある質問」をよくお読みになって、データ復元にかかる料金を確認してください。

オブジェクトライフサイクル管理を使用して Amazon Glacier にオブジェクトをアーカイブする場合、Amazon S3 はオブジェクトを非同期に移行します。ライフサイクル設定ルールによる移行の日付と、物理的な移行の日付の間には、遅延が発生する場合があります。Amazon Glacier の価格は、ルールに指定された移行日に基づいて課金されます。

Amazon S3 製品詳細ページに、Amazon S3 オブジェクトをアーカイブする場合の料金表情報と計算例が掲載されています。詳細については、次のトピックを参照してください。

アーカイブされたオブジェクトの復元

アーカイブされたオブジェクトにはリアルタイムでアクセスできません。まず復元リクエストを開始してから、リクエストで指定した期間中にオブジェクトの一時コピーが利用できるようになるまで待ちます。復元ジョブは通常、完了までに 3 時間から 5 時間かかるため、リアルタイムでアクセスする必要がないオブジェクトのみをアーカイブすることが重要です。

復元されたオブジェクトの一時コピーを取得した後も、オブジェクトのストレージクラスは GLACIER のままです(GET または HEAD リクエストはストレージクラスとして GLACIER を返します)。なお、アーカイブを復元した場合、アーカイブの費用(GLACIER 料金)の他に、一時的に復元されたコピーの費用(RRS 料金)も発生します。料金表については、「Amazon S3 製品詳細ページの「料金表」」セクションを参照してください。

オブジェクトのコピーは、プログラムによって、あるいは Amazon S3 コンソールを使用して復元できます。Amazon S3 は、各オブジェクトに対して一度に 1 つの復元リクエストだけを処理します。コンソールと Amazon S3 API の両方を使用して、復元ステータスを確認したり、復元されたコピーが Amazon S3 によって削除されるタイミングを調べたりすることができます。

Amazon S3 コンソールを使用した GLACIER オブジェクトの復元

GLACIER ストレージクラスを使用してアーカイブされたオブジェクトを Amazon S3 コンソールを使用して復元する方法の詳細については、「Amazon S3 コンソールを使用したオブジェクトの復元」を参照してください。

プログラムを使用した GLACIER オブジェクトの復元

GLACIER オブジェクトをプログラムによってアプリケーションから直接復元するには、AWS SDK または Amazon S3 API のいずれかを使用します。AWS SDK を使用する場合、Amazon S3 API によって、プログラミングタスクを簡単にするための適切なラッパーライブラリが提供されます。ただし、リクエストが送信されるときに、SDK によって前述の XML がリクエスト本文に組み込まれて送信されます。プログラムを使用したオブジェクトの復元の詳細については、「オブジェクトを復元する」を参照してください。