Slide 1

Slide 1 text

無駄課金回避!lambdaでEC2インスタンス定期シャットダウン naoki-urabe

Slide 2

Slide 2 text

自己紹介 DevOpsエンジニアやってます ● デプロイ支援サービスの開発 ● CI/CD導入 ● Dockerfile作成etc 人生初LT!

Slide 3

Slide 3 text

時折見かける無駄に課金してしまったツイート ● 全く身に覚えがないEC2インスタンスが起動しっぱなしになっているのを見つけた顔を している ● AWSから請求きてて身に覚えがないけどEC2が無駄に起動しっぱなしだったから な… 無料枠の範囲から外れたのかな… ● あぶねー。EC2が起動しっぱなしだった...無料枠内だからよかった。 自分もやらかし経験あり 円安の今は特につらい...

Slide 4

Slide 4 text

AWSの設定で予算アラートは設定できる ある額以上の利用をすると、メール通知される仕組み が、メール見てないと意味なし。。 普段メールがたくさん届いていると見落としがち

Slide 5

Slide 5 text

定期シャットダウンしてほしい 定期的にシャットダウンすることで無駄に課金してしまうことを回避できる やりたいこと ● 毎日決まった時間にEC2が起動しているかをチェックし、停止して問題ないものを 停止する ● AutoStopタグが付いているものを自動停止とする

Slide 6

Slide 6 text

lambda + cloudwatchで定期シャットダウンできる! CloudWatchで毎日決まった時間にlambda関数を実行できる lambda関数で止めて問題ないインスタンスを停止する

Slide 7

Slide 7 text

アーキテクチャ

Slide 8

Slide 8 text

停止処理の実装 pythonで実装 boto3ライブラリを使うことでawsリソースを操作できる

Slide 9

Slide 9 text

CloudWatchにevent rule追加 cron jobとして毎日22時に作成したlambda関数を実行するように設定する

Slide 10

Slide 10 text

仕組み導入後 仕組み導入の2022/10以降利用請求が抑えられた

Slide 11

Slide 11 text

まとめ、今後の展望 CloudWatchとlambdaでEC2停止忘れによる無駄な出費を抑えられた! Terraformでリソース管理していきたい