ほげほげ

プログラミング、英会話、ヨガ、料理などの備忘録など。

AWSで無限課金しそうになった話

先日とあるプロジェクトでS3にプロフィール画像を登録したイベントでLambda関数を実行して、サムネイルを作成する仕組みを作りました。

仕事後に用事があったので、動作確認をしないまま帰宅したのですが翌朝S3を見ると。。。

hoge.png
hoge_thumb.png
hoge_thumb_thumb.png
hoge_thumb_thumb_thumb.png
...

(゚ロ゚;)エェッ!? プログラマなので見た瞬間に何が起きたかは理解しました。

なんとサムネイル画像の保存のイベントから更にサムネイル画像のLambda関数がキックされて、サムネイルの無限生成が発生していました。

幸いS3のキー長の制限かなにかに引っかかったのか1ファイル毎に200ファイル前後のサムネイルが生成されるという現象で済みました。

_thumb というサフィックスを拡張子の前に付与していたので助かりましたが、これがちょっとした検証のつもりで同じ名前でPUTしていたら無限ループになっていた思います。

久しぶりにヒヤリ・ハットを経験しました。

学び

  • イベントを検知するフォルダーとアウトプットの出力フォルダーは分ける