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

オブジェクトの移行

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

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

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

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

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

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

Amazon S3 は、ライフサイクル設定を使用したストレージクラス間の移行のためのウォーターフォールモデルをサポートします。

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

     

    • これよりも大きなオブジェクトの場合、STANDARD_IA または ONEZONE_IA に移行するとコストの利点があります。Amazon S3 は、コスト効率が良くないため、128 KB より小さいオブジェクトを STANDARD_IA または ONEZONE_IA ストレージクラスに移行しません。

       

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

       

      Amazon S3 は最初の 30 日以内にオブジェクトを移行しません。新しいオブジェクトはアクセス頻度が高く、STANDARD_IA または ONEZONE_IA ストレージに適した期間よりも早く削除されることが多いためです。

       

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

    注記

    前の図では、REDUCED_REDUNDANCY ストレージクラスについては述べていません (このストレージクラスの使用は推奨していないため)。ストレージクラスについては、「ストレージクラス」を参照してください。

  • STANDARD_IA から ONEZONE_IA へ。以下の制約が適用されます。

    • オブジェクトは、ONEZONE_IA クラスに移行する前に、STANDARD_IA ストレージクラスに少なくとも 30 日間保存する必要があります。

       

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

オブジェクトの完全なライフサイクルを管理するために、これらのライフサイクルアクションを組み合わせることができます。 たとえば、作成するオブジェクトに、よく定義されたライフサイクルがあるとします。最初に、オブジェクトは 30 日の期間にわたり頻繁にアクセスされます。次に、オブジェクトは最大 90 日間まで、頻繁にアクセスされません。その後は、オブジェクトは不要になるため、アーカイブまたは削除することができます。このシナリオでは、STANDARD_IA (または ONEZONE_IA) ストレージへの最初の移行アクション、アーカイブのための Glacier ストレージへの別の移行アクション、および失効アクションを指定するライフサイクルのルールを作成できます。1 つのストレージクラスから別のストレージクラスにオブジェクトを移動すると、ストレージコストを節約できます。コストの詳細については、Amazon S3 料金表を参照してください。

注記

STANDARD_IA (または ONEZONE_IA) 移行後 30 日以内に GLACIER 移行が発生する場合、STANDARD_IA (または ONEZONE_IA) 移行および GLACIER 移行の両方に対して 1 つのライフサイクルルールを指定することはできません。これは、STANDARD_IA および ONEZONE_IA ストレージクラスと関連して最低 30 日間のストレージ料金が設定されているためです。STANDARD_IA ストレージから ONEZONE_IA ストレージへの移行を指定する場合、同じ 30 日の最低料金が適用されます。2 つのルールを指定してこれを達成できますが、最小限のストレージ料金が発生します。コストの詳細については、Amazon S3 料金表を参照してください。

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

  • STANDARD_IA (または ONEZONE_IA) ストレージクラスから STANDARD または REDUCED_REDUNDANCY クラスに移行することはできません。

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

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

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

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

ライフサイクル設定を使用して、オブジェクトを GLACIER ストレージクラスに移行することができます。これにより、低コストのストレージソリューション Amazon Glacier にデータをアーカイブできます。

重要

GLACIER ストレージクラスを選択すると、Amazon S3 は、低コストの Amazon Glacier サービスを使用してオブジェクトを保存します。オブジェクトは Amazon Glacier に保存されますが、Amazon S3 上で管理します。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 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、ONEZONE_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 つの復元リクエストだけを処理します。詳細については、「アーカイブされたオブジェクトの復元」を参照してください。