S3 Glacier ストレージクラス からの復元後の挙動を教えてください

2024.01.29

困っていること

コスト削減のために、Glacier Deep Archive ストレージクラスへの移行を検討中です。 その後に、Glacier Deep Archive ストレージクラスからの復元が必要になった場合の挙動について、復元が完了した場合は保存先は同バケット内で STANDARD ストレージクラスになるのでしょうか。
それとも別 S3 バケットに復元されるのでしょうか、教えてください。

どう対応すればいいの?

復元が完了した場合、同オブジェクトに対してオブジェクトの一時的なコピーが作成され、GetObject リクエスト等が指定された期間利用可能となる仕様です。 別のバケット・別のオブジェクトとして復元されるわけではなく、ストレージクラスにも変更はございません。

S3 Glacier Flexible Retrieval ストレージクラスまたは S3 Glacier Deep Archive ストレージクラスに保存されている Amazon S3 オブジェクトは、すぐにはアクセスできません。これらのストレージクラスのオブジェクトにアクセスするには、指定された期間 (日数) の間、オブジェクトの一時コピーを S3 バケットに復元する必要があります。オブジェクトの永続的なコピーが必要な場合は、オブジェクトを復元して、Amazon S3 バケット内にそのオブジェクトのコピーを作成します。復元したオブジェクトのコピーは Amazon S3 コンソールではサポートされていません。

補足

もし、復元後に STANDARD ストレージクラスへの変更を行いたい場合などは、復元オペレーションによるオブジェクトの一時的な復元後、コピーオペレーションにて該当オブジェクトの上書きを実施する必要がございます。

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

なお、S3 においてライフサイクルルールによるストレージクラスの移行は、オブジェクトの Last Modified (最終更新日時)に基づいて実際されることとなります。 上記コピーオペレーションによる上書きでは、Last Modified がコピーを行った日時となるので、即 DEEP_ARCHIVE ストレージクラスへ戻ってしまうといった挙動にはならないので、ご安心ください。

Amazon S3 は、各オブジェクトの最終更新日のみを維持します。例えば、Amazon S3 コンソールでは、オブジェクトの最終更新日が [Properties (プロパティ)] ペインの [Last Modified (最終更新日時)] に表示されます。新しいオブジェクトを最初に作成したときには、この日付はオブジェクトが作成された日を表します。オブジェクトを置き換えた場合、日付はそれに応じて変わります。したがって、ここで作成日とは、最終変更日と同じ意味です。

参考資料