Amazon S3 ライフサイクルを使用したオブジェクトの移行 - Amazon Simple Storage Service

Amazon S3 ライフサイクルを使用したオブジェクトの移行

S3 ライフサイクルの設定に移行アクションを追加して、別の Amazon S3 ストレージクラスにオブジェクトを移行するように Amazon S3 に指定できます。ストレージクラスの詳細については、「Amazon S3 ストレージクラスの理解と管理」を参照してください。この方法で S3 ライフサイクル設定を使用する場合の例を次に示します。

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

  • リアルタイムでアクセスする必要のないオブジェクトは、S3 Glacier Flexible Retrieval ストレージクラスまたは S3 Glacier Deep Archive ストレージクラスへのアーカイブを推奨します。

注記

暗号化済みオブジェクトは、ストレージクラスの移行プロセス全体を通して暗号化されたままになります。

サポートされている移行

S3 ライフサイクル設定では、1 つのストレージクラスから別のストレージクラスにオブジェクトを移行し、ストレージのコストを節約できるルールを定義できます。オブジェクトのアクセスパターンが不明、またはアクセスパターンが時間の経過とともに変化している場合、コストを自動的に削減するためにオブジェクトを S3 Intelligent-Tiering ストレージクラスに移行できます。ストレージクラスについては、[Amazon S3 ストレージクラスの理解と管理] を参照してください。

Amazon S3 は、以下の図のようにストレージクラス間の移行のためのウォーターフォールモデルをサポートします。

Amazon S3 ストレージクラスウォーターフォールグラフィック。

サポートされているライフサイクル移行

Amazon S3 では、S3 ライフサイクル設定を使用したストレージクラス間の以下のライフサイクル移行をサポートします。

以下の移行が できます

  • S3 Standard ストレージクラスを他のストレージクラスに移行する。

  • S3 標準 – IA ストレージクラスを S3 Intelligent-Tiering、S3 1 ゾーン – IA、S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval、または S3 Glacier Deep Archive ストレージクラスに移行する。

  • S3 Intelligent-Tiering ストレージクラスを S3 1 ゾーン – IA、S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval、または S3 Glacier Deep Archive ストレージクラスに移行する。

    注記

    S3 Intelligent-Tiering ストレージクラスから S3 1 ゾーン – IA ストレージクラスおよび一部の S3 Glacier ストレージクラスにオブジェクトを移行するには、いくつかの例外があります。詳細については、「サポートされていないライフサイクル移行」を参照してください。

  • S3 One Zone-IA ストレージクラスを S3 Glacier Flexible Retrieval または S3 Glacier Deep Archive ストレージクラスに移行する。

  • S3 Glacier Instant Retrieval ストレージクラスを S3 Glacier Flexible Retrieval または S3 Glacier Deep Archive ストレージクラスに移行する。

  • S3 Glacier Flexible Retrieval から S3 Glacier Deep Archive ストレージクラスに移行する。

    注記

    S3 ライフサイクルは、オブジェクトを S3 Glacier Flexible Retrieval および S3 Glacier Deep Archive に非同期的に移行します。S3 ライフサイクル設定ルールによる移行の日付と、物理的な移行の日付の間には、遅延が発生する場合があります。この場合、ルールで指定された移行日に基づいて、移行元のストレージクラスのデフォルトレートが課金されます。

  • 任意のストレージクラスを S3 Glacier Deep Archive ストレージクラスに移行する。

サポートされていないライフサイクル移行

Amazon S3 では、以下のライフサイクル移行はサポートしていません。

以下の移行は できません

  • バージョニングが有効なバケットまたはバージョニングが停止されたバケットの場合、Pending レプリケーションステータスであるすべてのオブジェクト。

  • 任意のストレージクラスを S3 Standard ストレージクラスに移行する。

  • 任意のストレージクラスから Reduced Redundancy ストレージクラス (RRS) への移行。

  • S3 1 ゾーン – IA ストレージクラスを S3 Intelligent-Tiering、S3 標準 – IA、または S3 Glacier Instant Retrieval ストレージクラスに移行する。

  • S3 Intelligent-Tiering ストレージクラス (すべての階層) から S3 Standard–IA ストレージクラス。

  • S3 Intelligent-Tiering ストレージクラスのアーカイブインスタントアクセス階層から S3 1 ゾーン-IA。

  • S3 Intelligent-Tiering ストレージクラスのアーカイブインスタントアクセス階層から S3 1 ゾーン-IA または S3 Glacier Instant Retrieval。

  • S3 Intelligent-Tiering ストレージクラスの Deep Archive アクセス階層から S3 1 ゾーン-IA、S3 Glacier Instant Retrieval、または S3 Glacier Flexible Retrieval。

移行に関する制約と考慮事項

ライフサイクルストレージクラス移行には、次の制約があります。

128 KB 未満のオブジェクトは、デフォルトではどのストレージクラスにも移行されません。

Amazon S3 は S3 ライフサイクル設定にデフォルトの動作を適用し、128 KB 未満のオブジェクトが任意のストレージクラスに移行されないようにします。128 KB 未満のオブジェクトの移行はお勧めしません。オブジェクトごとに移行リクエストが課金されるためです。つまり、オブジェクトが小さいほど、移行コストがストレージの節約額を上回る可能性があります。移行リクエストのコストの詳細については、Amazon S3 料金ページのストレージとリクエストタブの「リクエストとデータの取得」を参照してください。

小さいオブジェクトを移行できるようにするには、カスタム最小サイズ (ObjectSizeGreaterThan) または最大サイズ (ObjectSizeLessThan) を指定するオブジェクトサイズフィルターをライフサイクル移行ルールに追加できます。詳細については、「例: 128 KB 未満のオブジェクトの移行を許可する」を参照してください。

注記

2024 年 9 月、Amazon S3 は小さなオブジェクトのデフォルトの移行動作を次のように更新しました。

  • デフォルトの移行動作の更新 — 2024 年 9 月以降、デフォルトの動作により、128 KB 未満のオブジェクトが任意のストレージクラスに移行されることを回避します。

  • 以前のデフォルトの移行動作 — 2024 年 9 月以前は、デフォルトの動作により、128 KB 未満のオブジェクトは S3 Glacier および S3 Glacier Deep Archive ストレージクラスにのみ移行できました。

2024 年 9 月より前に作成された設定は、変更しない限り、以前の移行動作を保持します。つまり、ルールを作成、編集、または削除すると、設定のデフォルトの移行動作が更新された動作に変わります。ユースケースで必要な場合は、128KB 未満のオブジェクトが S3 Glacier および S3 Glacier Deep Archive に移行するように、デフォルトの移行動作を変更できます。これを行うには、PutBucketLifecycleConfiguration リクエストでオプションの x-amz-transition-object-size-minimum-default ヘッダーを使用します。

オブジェクトは、S3 Standard–IA または S3 One Zone-IA に移行する前に、30 日間保存する必要があります。

S3 標準 - IA または S3 1 ゾーン - IA にオブジェクトを移行する前に、これらのオブジェクトを少なくとも 30 日間 Amazon S3 に保存する必要があります。例えば、作成から 1 日後にオブジェクトを S3 標準 – IA ストレージクラスに移行するライフサイクルルールを作成することはできません。Amazon S3 は最初の 30 日間はこの移行をサポートしません。新しいオブジェクトはアクセス頻度が高く、S3 標準 – IA または S3 1 ゾーン – IA ストレージに適した期間よりも早く削除されることが多いためです。

同様に、(バージョニング対応のバケットで) 以前のオブジェクトを移行する場合、少なくとも 30 日は最新でないオブジェクトのみを S3 Standard – IA または S3 1 ゾーン – IA ストレージに移行できます。すべてのストレージクラスの最小ストレージ期間のリストについては、「Amazon S3 ストレージクラスの比較」を参照してください。

最小ストレージ期間より前にオブジェクトを移行すると料金が発生します。

特定のストレージクラスには、オブジェクトストレージの最小期間があります。最小期間より前にこれらのストレージクラスからオブジェクトを移行すると、その期間の残りの期間に対して課金されます。どのストレージクラスに最小ストレージ期間があるかの詳細については、「Amazon S3 ストレージクラスの比較」を参照してください。

最小ストレージ期間が経過する前に、オブジェクトをあるストレージクラスから別のストレージクラスに移行する単一のライフサイクルルールを作成することはできません。

例えば、S3 Glacier Instant Retrieval の最小ストレージ期間は 90 日間です。4 日後にオブジェクトを S3 Glacier Instant Retrieval に移行し、20 日後にオブジェクトを S3 Glacier Deep Archive に移行するライフサイクルルールを指定することはできません。この場合、S3 Glacier Deep Archive の移行は、少なくとも 94 日後に行う必要があります。

2 つのルールを指定してこれを達成できますが、最小ストレージ期間の料金が発生します。コストに関する考慮事項の詳細については、「Amazon S3 の料金」を参照してください。

S3 ライフサイクルの作成に関する詳細については、「バケットに S3 ライフサイクル設定を設定する」を参照してください。

S3 Glacier Flexible Retrieval と S3 Glacier Deep Archive ストレージクラスへの移行 (オブジェクトのアーカイブ)

S3 ライフサイクル設定を使用すると、オブジェクトをアーカイブ用に S3 Glacier または S3 Glacier Deep Archive のストレージクラスに移行できます。

オブジェクトをアーカイブする前に、以下の関連する考慮事項のセクションを確認してください。

一般的な考慮事項

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

  • 暗号化済みオブジェクトは、ストレージクラスの移行プロセス全体を通して暗号化されたままになります。

  • S3 Glacier または S3 Glacier Deep Archive ストレージクラスに保存されているオブジェクトはリアルタイムでは利用できません。

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

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

  • S3 Glacier Flexible Retrieval ストレージクラスに格納されているオブジェクトは、S3 Glacier Deep Archive ストレージクラスにのみ移行できます。

    S3 ライフサイクル設定ルールを使用した場合、S3 Glacier から S3 Glacier Deep Archive ストレージクラスにのみオブジェクトのストレージクラスを変換できます。S3 Glacier に格納されているオブジェクトのストレージクラスを S3 Glacier Deep Archive 以外のストレージクラスに変更する場合は、まず復元オペレーションを使用してオブジェクトの一時的なコピーを作成する必要があります。その後、コピーオペレーションを使用して、ストレージクラスとして S3 Standard、S3 Intelligent-Tiering、S3 Standard – IA、S3 1 ゾーン – IA、または低冗長化を指定しているオブジェクトを上書きします。

  • S3 Glacier Deep Archive ストレージクラスへのオブジェクトの移行は一方向のみです。

    S3 ライフサイクル設定ルールを使用して、オブジェクトのストレージクラスを S3 Glacier Deep Archive からその他のストレージクラスに変換することはできません。アーカイブされたオブジェクトのストレージクラスをその他のストレージクラスに変更する場合、まず復元オペレーションを使用してオブジェクトの一時コピーを作成する必要があります。その後、コピーオペレーションを使用して、ストレージクラスとして S3 Standard、S3 Intelligent-Tiering、S3 標準 – IA、S3 1 ゾーン – IA、 S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval、または Reduced Redundancy Storage を指定しているオブジェクトを上書きします。

    注記

    Amazon S3 コンソールでは、S3 Glacier Flexible Retrieval ストレージクラスまたは S3 Glacier Deep Archive ストレージクラス内のオブジェクトに対する、復元したオブジェクトのコピー操作はサポートしていません。このタイプのコピー操作には、AWS Command Line Interface (AWS CLI)、AWS SDK、または REST API を使用します。

    S3 Glacier および S3 Glacier Deep Archive ストレージクラスに保存されているオブジェクトは、Amazon S3 でのみ表示され、使用できます。個々の Amazon S3 Glacier サービスから使用することはできません。

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

コストに関する考慮事項

アクセス頻度の高いデータを数か月あるいは数年間アーカイブする場合、S3 Glacier および S3 Glacier Deep Archive ストレージクラスを使用する事でストレージコストを削減できます。ただし、S3 Glacier Flexible Retrieval または S3 Glacier Deep Archive ストレージクラスが適切であることを確認するために、以下の点を考慮してください。

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

    • S3 Glacier または S3 Glacier Deep Archive にアーカイブされたオブジェクトごとに、Amazon S3 ではオブジェクトの名前とその他のメタデータに 8 KB のストレージを使用します。Amazon S3 でこのメタデータを保存する目的は、ユーザーが Amazon S3 API を使用して、アーカイブされたオブジェクトのリアルタイムのリストを取得できるようにすることです。詳細については、[GET Bucket (List Objects)] を参照してください。この追加のストレージに対しては、S3 Standard 料金が発生します。

    • S3 Glacier または S3 Glacier Deep Archive にアーカイブされるオブジェクトごとに、Amazon S3 はインデックスおよび関連するメタデータ用に 32 KB のストレージを追加します。この追加データは、オブジェクトを特定して復元するのに必要です。この追加ストレージに対しては、S3 Glacier Flexible Retrieval または S3 Glacier Deep Archive のレートが課金されます。

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

  • [オブジェクトをアーカイブしておく日数] — S3 Glacier Flexible Retrieval および S3 Glacier Deep Archive は長期間のアーカイブを行うソリューションです。最小ストレージ期間は、S3 Glacier ストレージクラスの場合は 90 日、S3 Glacier Deep Archive の場合は 180 日です。Amazon S3 Glacier にアーカイブされているデータの削除は、削除するオブジェクトが最小ストレージ期間より長い期間アーカイブされている場合は無料です。アーカイブされたオブジェクトを最小ストレージ期間以内に削除または上書きする場合は、Amazon S3 によって比例配分された早期削除料金が課金されます。早期削除料金の詳細については、「Amazon S3 Glacier から格納後 90 日未満のオブジェクトを削除するにはいくらかかりますか?」を参照してください。質問については、[Amazon S3 のよくある質問] を参照してください。

  • [S3 Glacier Flexible Retrieval および S3 Glacier Deep Archive 移行リクエスト料金] — S3 Glacier Flexible Retrieval または S3 Glacier Deep Archive ストレージクラスに移行するオブジェクトごとに 1 つの移行リクエストが作成されます。アーカイブリクエストごとにコストが発生します。多数のオブジェクトを移行する場合は、リクエストのコストを考慮する必要があります。小さなオブジェクト、特に 128KB 未満のオブジェクトを含むオブジェクトを混在させてアーカイブする場合は、ライフサイクルオブジェクトサイズフィルタを使用して移行から小さなオブジェクトを除外し、リクエストコストを削減することをお勧めします。

  • [S3 Glacier Flexible Retrieval および S3 Glacier Deep Archive データ復元料金] — S3 Glacier Flexible Retrieval および S3 Glacier Deep Archive は、頻繁にアクセスしないデータの長期アーカイブ用に設計されています。データ復元料金の詳細については、「Amazon S3 Glacier からのデータの復元には、どれだけコストがかかりますか?」を参照してください。質問については、[Amazon S3 のよくある質問] を参照してください。Amazon S3 Glacier からデータを復元する方法については、[アーカイブされたオブジェクトの復元] を参照してください。

S3 ライフサイクル管理を使用して Amazon S3 Glacier にオブジェクトをアーカイブする場合、Amazon S3 はこれらのオブジェクトを非同期的に移行します。S3 ライフサイクル設定ルールによる移行の日付と、物理的な移行の日付の間には、遅延が発生する場合があります。Amazon S3 Glacier の料金は、ルールに指定された移行日に基づいて課金されます。詳細については、Amazon S3 のよくある質問のAmazon S3 Glacier のセクションを参照してください。

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

  • Amazon S3 Glacier にアーカイブされた Amazon S3 オブジェクトのストレージ料金はどのように計算されますか? 質問については、[Amazon S3 のよくある質問] を参照してください。

  • Amazon S3 Glacier から格納後 90 日未満のオブジェクトを削除するにはいくらかかりますか? 質問については、[Amazon S3 のよくある質問] を参照してください。

  • Amazon S3 Glacier からデータを取り出すのにどれだけのコストがかかりますか? 質問については、[Amazon S3 のよくある質問] を参照してください。

  • 標準ストレージクラスと別のストレージクラスのストレージコストを示す Amazon S3 の料金

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

アーカイブされたオブジェクトにはリアルタイムでアクセスできません。まず復元リクエストを開始してから、リクエストで指定した期間中にオブジェクトの一時コピーが利用できるようになるまで待ちます。復元されたオブジェクトの一時コピーの取得後も、オブジェクトのストレージクラスは S3 Glacier または S3 Glacier Deep Archive が保持されます。(HeadObject または GetObject API オペレーションリクエストは、S3 Glacier Flexible Retrieval または S3 Glacier Deep Archive をストレージクラスとして返します)。

注記

アーカイブを復元する場合、アーカイブの費用 (S3 Glacier Flexible Retrieval または S3 Glacier Deep Archive 料金) の他に、一時的に復元されたコピーの費用 (S3 標準ストレージ料金) も発生します。料金については、「Amazon S3 の料金」を参照してください。

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