1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Amazon S3 ライフサイクルルールを利用して特定タグを持つオブジェクトを削除する

Posted at

概要

  • 特定のタグを付与したオブジェクトをS3 ライフサイクルルールで削除
  • LambdaなどからAPIでオブジェクト削除を実行する際は、Lambdaの実行時間等が掛かりますが、ライフサイクルルールを使うことで無料で削除可能
    • なお、削除までに少なくとも1日掛かります。

ライフサイクルルールの設定

ライフサイクルルールを設定したいAmazon S3バケットをコンソールで開きます。
ライフサイクルの作成を選択し、以下のように空欄を埋めていきます。なお、ここではオブジェクトにis_translated: Trueというタグがあった場合、ルールの対象とします。

20210519171841.png
20210519171849.png

このルールにより、1日でオブジェクトの有効期限切れと設定すると、最終更新日から1日過ぎた日の午前9時(JST)に削除フラグが付与され、削除されます。(バージョニングを有効にしている場合、完全には消えません。

  • アクションが実行される、オブジェクト作成からの日数です。
  • Amazon S3 は、ルールに指定された日数をオブジェクトの作成時間に加算し、得られた日時を翌日の午前 00:00 UTC (協定世界時) に丸めることで、時間を算出します。たとえば、あるオブジェクトが 2014 年 1 月 15 日午前 10 時 30 分 (UTC) に作成され、移行ルールに 3 日と指定した場合、オブジェクトの移行日は 2014 年 1 月 19 日 0 時 0 分 (UTC) となります。
    (https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/intro-lifecycle-rules.html)

実際に見てみる

実際にバケットにルールを適応して、オブジェクトにタグを付与します。そうすると、以下のように有効期限日が表示されます。
20210519173924.png
09:00 JSTに削除と書いてありますが、実際はかなり遅延があるようです。私が試したときは、約3~5時間ほどの遅延がありました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?