ぶていのログでぶログ

思い出したが吉日

オブジェクトが多すぎて削除できないS3バケットを削除するツールを作った

github.com

不要なS3バケットを削除しようと思って、 s3cmd rb --recursive --force s3://foobar を叩いたけど全然削除されなかった。。。 WebUIから削除しても エラー としか表示されずなぜか削除できない。。 ネットで調べるとどうやらオブジェクトが多すぎると削除できないらしいので、↑のようなツールを作った次第。 (今回消そうと思ったバケットには、 1400万オブジェクト あった)

REAMEDにも書いたけど、実測値で450オブジェクト/sec削除できる。 オブジェクトが削除できなかった場合3回ほどリトライするが、それでもたまーに削除できずバケットが空にならないことがある。。 そういう時はもう一度コマンドを実行するか、 s3cmd を使うと良いと思う。

2016/05/02追記

コメントで id:lamanotrama に以下のようなアドバイスを頂いた。 ありがとうございます 🙇

オブジェクトの有効期限(ライフサイクル)を全体で一日にすると、翌日綺麗さっぱりするよ。