削除ルールを作成した時点ですでに期限が切れているオブジェクトを、ライフサイクルルールで削除するときの削除タイミングを教えてください

2022.05.17

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

バージョニングが設定されていないバケットについて、 アップロードされてから時間が経っているオブジェクトをライフサイクルルールにて削除したいと考えています。
ライフサイクルルールの設定項目「オブジェクトの現行バージョンの有効期限が切れる」のオブジェクト作成後の日数を、 実際にオブジェクトが作成されてからの日数より少なく設定した場合、どのタイミングでオブジェクトが削除されるのか教えてください。

例)2022/5/16 08:00 JST S3 にオブジェクトをアップロードし、7日後の 2022/5/23 08:00 JST に、
ライフサイクルルールの設定項目「オブジェクトの現行バージョンの有効期限が切れる」のオブジェクト作成後の日数を 1 日と設定する場合

具体的な回答

削除のルールを作成したタイミングですでに期限切れのオブジェクトについては、
即時で削除されることはなく、ルールを設定した次の 00:00 UTC (09:00 JST) のタイミングで削除キューに追加されます。
そのため、2022/5/23 08:00 JST にルールを設定したのであれば、
次の 00:00 UTC は 2022/5/24 09:00 JST であり、このタイミングで削除キューに追加されます。

なお、削除処理は非同期のため、即時でコンソール等から見えなくなるわけではありません。

ライフサイクルポリシーに基づいて、オブジェクトが有効期限に達すると、存続期間が終了したオブジェクトは自動的に Amazon S3 削除キューに追加され、非同期的に削除されます。
有効期限が切れる日と Amazon S3 がオブジェクトを削除する日との間に遅延が生じることがあります。 期限切れのオブジェクトに関連付けられている有効期限切れ、またはストレージ期間に対する料金は請求されません。

オブジェクトの有効期限 - Amazon Simple Storage Service

オブジェクトの削除タイミングについては以下の記事もご参照ください。

Amazon S3のオブジェクト移行・削除タイミングを調べてみた | DevelopersIO

参考資料