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

オブジェクトの移行: 一般的な考慮事項

ライフサイクルの設定にルールを追加して、別の Amazon S3 ストレージクラスにオブジェクトを移行するように Amazon S3 に指示できます。(例:

  • これらのオブジェクトのアクセス頻度が低いことがわかった場合、オブジェクトを STANDARD_IA ストレージクラスに移行します。

  • GLACIER ストレージクラスへのリアルタイムのアクセスが必要ないオブジェクトはアーカイブします。

以下のセクションでは、サポートされている移行、関連する制約、GLACIER ストレージクラスへの移行について説明します。

サポートされている移行と関連する制約

ライフサイクル設定では、1 つのストレージクラスから別のストレージクラスにオブジェクトを移行するルールを定義できます。以下の移行がサポートされています。

  • STANDARD または REDUCED_REDUNDANCY ストレージクラスから STANDARD_IA ストレージクラスへの移行。以下の制約が適用されます。

     

    • STANDARD_IA への移行でコストの利点が得られるのは、より大きなオブジェクトの場合です。Amazon S3 は、128 KB 以下のサイズのオブジェクトを STANDARD_IA ストレージクラスに移行しません。コスト効率が低いため、Amazon S3 は小さなオブジェクトを移行しません。

       

    • オブジェクトは、STANDARD_IA に移行する前に、現在のストレージクラスに少なくとも 30 日間保存する必要があります。たとえば、作成後 1 日目にオブジェクトを STANDARD_IA ストレージクラスに移行するライフサイクルルールを作成することはできません。

       

      最初の 30 日まで移行はサポートされません。多くの場合、新しいオブジェクトはアクセス頻度が高く、STANDARD_IA に適した期間よりも早く削除されるためです。

       

    • 以前のオブジェクトを移行する場合(バージョニング対応のバケットシナリオ)、少なくとも 30 日は最新でないオブジェクトのみを STANDARD_IA に移行できます。

       

  • 任意のストレージクラスから GLACIER への移行。

これらのライフサイクルルールを組み合わせて、オブジェクトの完全なライフサイクルを管理できます (最初に STANDARD_IA に移行し、次に GLACIER にアーカイブのために移行した後で有効期限切れになる)。

たとえば、作成するオブジェクトに、よく定義されたライフサイクルがあるとします。最初に、オブジェクトは 30 日の期間にわたり頻繁にアクセスされます。最初の期間が経過すると、アクセス頻度が減り、オブジェクトは最大 90 日まで頻繁にはアクセスされません。その後、オブジェクトは不要になります。オブジェクトはアーカイブするか、削除することができます。ライフサイクル設定を使用して、このシナリオの例に一致するオブジェクトの移行と失効を定義できます (作成後 30 日目に STANDARD_IA に移行し、作成後 90 日目に GLACIER に移行した後で、特定の日数が経過すると有効期限が切れる)。移行でオブジェクトのストレージクラス層を下げると、ストレージコストの節約による利点が得られます。コストの詳細については、Amazon S3 料金表を参照してください。

注記

ライフサイクルを設定するとき、API では、GLACIER への移行が STANDARD_IA への移行後 30 日未満の間に発生するような、STANDARD_IA と GLACIER の両方の移行を指定するライフサイクルポリシーを作成することは許可されません。これは、STANDARD_IA ストレージクラスに関連する最低 30 日のストレージ料金により、この種のライフサイクルポリシーではコストが増える可能性があります。コストの詳細については、Amazon S3 料金表を参照してください。

ライフサイクルの移行は、さまざまなコストや利点を提供するストレージクラス層のサポートであると考えることができます。コストを節約するため、オブジェクトをその運用期間中に別のストレージクラスに移行する選択ができ、ライフサイクル設定でこれを行うことができます。たとえば、ストレージコストを管理するには、オブジェクトのストレージクラスを STANDARD (最も可用性と耐久性が高いストレージクラス) から STANDARD_IA (IA、少頻度アクセス) に変更し、その後 GLACIER ストレージクラス (オブジェクトはアーカイブされ、復元後にのみ利用できる) に変更するようライフサイクルを設定できます。これらの移行により、ストレージコストを削減できます。

以下の移行はサポートされていません。

  • STANDARD_IA ストレージクラスから STANDARD または REDUCED_REDUNDANCY クラスには移行できません。

  • GLACIER から他のストレージクラスに移行することはできません。

  • すべてのストレージクラスから REDUCED_REDUNDANCY に移行することはできません。

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

ライフサイクル設定を使用して、オブジェクトを GLACIER ストレージクラスに移行することができます。これにより、低コストのストレージソリューション Amazon Glacier にデータをアーカイブできます。オブジェクトをアーカイブする前に、以下の関連する考慮事項のセクションを確認してください。

一般的な考慮事項

オブジェクトをアーカイブする前に検討する必要のある一般的な考慮事項を以下に示します。

  • GLACIER ストレージクラス内のオブジェクトはリアルタイムでは利用できません。

     

    アーカイブされたオブジェクトは Amazon S3 オブジェクトですが、アーカイブオブジェクトにアクセスする前に、まずその一時コピーを復元する必要があります。復元されたオブジェクトのコピーは、復元リクエストに指定された期間内のみ利用できます。その後、Amazon S3 によって一時コピーが削除されます。オブジェクトは Amazon Glacier にアーカイブされたまま残ります。

     

    アーカイブからオブジェクトを復元するには、最長 5 時間かかる場合があります。

     

    Amazon S3 コンソールを使用して、またはプログラムのコード内で AWS SDK ラッパーライブラリや Amazon S3 REST API を使用して、オブジェクトを復元することができます。詳細については、「POST Object restore」を参照してください。

     

  • GLACIER ストレージクラスへのオブジェクトの移行は一方向です。

     

    ライフサイクル設定ルールを使用して、オブジェクトのストレージクラスを GLACIER から STANDARD または REDUCED_REDUNDANCY に変換することはできません。既にアーカイブされたオブジェクトのストレージクラスを STANDARD または REDUCED_REDUNDANCY に変更する場合、まず復元オペレーションを使用して一時コピーを作成する必要があります。その後、コピーオペレーションを使用して、オブジェクトを STANDARD、STANDARD_IA、または REDUCED_REDUNDANCY オブジェクトとして上書きしてください。

     

  • GLACIER ストレージクラスのオブジェクトは、Amazon Glacier ではなく Amazon S3 でのみ表示および利用できます。

     

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

コストについて

アクセス頻度の低いデータを数か月あるいは数年間アーカイブする場合、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 は、頻繁にアクセスしないデータの長期アーカイブ用に設計されています。データ復元料金の詳細については、「Glacier からのデータ復元には、どれだけコストがかかりますか?」(Amazon S3 のよくある質問) を参照してください。Glacier からのデータの復元の詳細については、「アーカイブされたオブジェクトの復元」を参照してください。

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

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

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

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

復元されたオブジェクトの一時コピーを取得した後も、オブジェクトのストレージクラスは GLACIER のままです (GET または HEAD リクエストはストレージクラスとして GLACIER を返します)。

注記

なお、アーカイブを復元した場合、アーカイブの費用 (GLACIER 料金) の他に、一時的に復元されたコピーの費用 (REDUCED_REDUNDANCY ストレージ料金) も発生します。料金の詳細については、Amazon S3 料金表を参照してください。

オブジェクトのコピーは、プログラムによって、あるいは Amazon S3 コンソールを使用して復元できます。Amazon S3 は、各オブジェクトに対して一度に 1 つの復元リクエストだけを処理します。詳細については、「アーカイブされたオブジェクトの復元」を参照してください。