3
3

More than 1 year has passed since last update.

S3のオブジェクトをライフサイクルルールを使用して削除してみた

Posted at

背景・目的

以前、大量(小サイズでたくさんのファイル)のオブジェクトを使用して、Glueの検証をしました。
その際に、残ったファイルが複数のバケットで、約2億オブジェクトありました。

こちらを、S3ライフサイクルルールで削除したときのメモになります。

まとめ

S3にある大量のオブジェクトを削除する際には、ライフサイクルルールが利用することで比較的早く削除が可能です。

実践

現在の状況を確認

現在の状況は下記のとおりです。

当該アカウント全体のサイズとオブジェクト数は、下記の通りです。

  • サイズ:25.5TB
  • オブジェクト:194.6M

image.png

上位2つのバケットで、10TB超が2つあります。
image.png

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

  1. S3で、対象のバケットを選択し、①管理タブ>②ライフサイクルルールを作成するをクリックします。
    image.png

  2. ライフサイクルルールの作成画面で、下記を入力し「ルールの作成」をクリックします。

    • ライフサイクルルール名を任意の名前で設定
    • ルールスコープを選択を「バケット内のすべてのオブジェクトに適用」を選択
    • バケット内のすべてのオブジェクトに適用を選択
    • ライフサイクルールのアクションを選択
      • オブジェクトの現行バージョンを有効切れにする
      • オブジェクトの非現行バージョンを完全に削除
      • 有効期限切れのオブジェクト削除マーカまたは不完全なマルチパートアップロードを削除
    • 下記の日数を1日に設定する
      • オブジェクトの現行バージョンの有効期限が切れる
      • オブジェクトの非現行バージョンを完全に削除
      • 有効期限切れのオブジェクト削除マーカーまたは不完全なマルチパートアップロードを削除
        image.png
        image.png
  3. ルールが作成されました。
    image.png

設定内容を確認

  1. オブジェクトのプロパティーをクリックし、設定したルールを確認します。
    image.png

  2. オブジェクトのプロパティを選択し、有効期限ルールと有効期限日を確認します
    image.png

    image.png

翌日の確認

エビデンスを取り忘れてしまいましたが、翌日、ほとんどのS3データが消えていました。

考察

以前は、s3 rm --recursive や、 s3 rb --forceなどで削除していましたが、それと比較してあっという間に削除できました。大量かつ、多量なオブジェクトを削除するのにとても効果的と考えます。

参考

3
3
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
3
3