Upgrade to Pro — share decks privately, control downloads, hide ads and more …

初めてのLambdaによる運用自動化 ~ 不要リソース削除大作戦 ~

初めてのLambdaによる運用自動化 ~ 不要リソース削除大作戦 ~

JAWS-UG 初心者支部#49 夏の大LT大会 ~Summer of WonderfuLT~
のスライド

コードはQiitaにあります。

・関連づけられてないEIPをSlack通知 & 削除するLambda
https://qiita.com/suzuki_kento/items/6adb5e7e70bb17148699
・関連づけられてないEBSをSlack通知 & 削除するLambda
https://qiita.com/suzuki_kento/items/b94b893f6729b828caf1

8785139c395ce2345ce535822b522dde?s=128

Kento Suzuki

July 28, 2022
Tweet

More Decks by Kento Suzuki

Other Decks in Technology

Transcript

  1. 初めてのLambdaによる運用自動化 ~ 不要リソース削除大作戦 ~ Kento Suzuki 2022.07.28.Thu JAWS-UG 初心者支部勉強会#49

  2. 自己紹介 名前 鈴木 健斗 (@k_suzuki_pnx) 所属 アイレット株式会社 業務  ・インフラの構築/運用  ・オンプレからAWSへの移行 経歴  ・20新卒で3年目

     ・エンジニア歴 = 社会人歴 (入社前はサーバという言葉を聞いたことある程度)  ・2022 APN ALL AWS Certifications Engineer  ・2022 APN AWS Top Engineer
  3. 不要リソース削除大作戦に 至るまで

  4. 新卒インフラエンジニア3年目の悩み 開発っておもしろそう プログラミング言語分からない (新卒研修くらいでしか触ってない) 仕事の幅広げないとな

  5. 2、3ヶ月くらい悶々としていた日々 とりあえず、AWSの公式セミナー JAWSのコミュニティイベントを視聴してた 「AWSで何ができるの?」 「自分が作りたいモノって何??」

  6. そんなところに... 関連づけられていない  
 EIP 11体
 (約2500円/月)
 関連づけられていない 
 EBS 59体


    (約2000円/月)

  7. 無限に湧く不要なリソースたち EBS  「終了時に削除」が有効化されていないAMIからEC2インスタンスを作成   ⇒作成者の意図しないところで湧く(生き残る) EIP  NatGatewayやEC2を削除した際に消し忘れる

  8. AWSのセミナーやJAWSに参加して得た知識が繋がる 不要なリソースを 定期的に削除 Lambda EventBridge Python boto3 EBS EIP AWS

    CLI (= AWSのAPI) LOVE
  9. 実際に作ってみる

  10. その前に LambdaとEventBridgeについて 簡単な解説

  11. Lambda • コードを設定するだけで プログラムが実行できる • Java、Go、Node.js、Pythonなど 多様な言語が使える • サーバーの管理が不要

  12. Event Bridge AWSのイベントをトリガーに 別のAWSリソースに対して処理を実行できる  例) Lambdaの処理が完了後、別のLambdaを実行 定時にAWSのリソースに対して処理を実行できる ※今回使用する機能  例) 毎日13:00にLambdaを実行する

  13. 仕様 • 検証環境に存在する何も紐づけられていないEBS/EIPをSlack通知・削除(全リージョン) • Amazon EventBridgeと組み合わせて毎日定時で実行 • 容赦ない削除、慈悲はない • 削除されたくない場合、以下で回避可能

    ◦ EC2に紐づけておく ◦ スナップショットを取得しておく(EBSのみ) • 以下のようなSlack通知
  14. 作ってみた 関連づけられてないEIPをSlack通知 & 削除するLambda https://qiita.com/suzuki_kento/items/6adb5e7e70bb17148699 関連づけられてないEBSをSlack通知 & 削除するLambda https://qiita.com/suzuki_kento/items/b94b893f6729b828caf1

  15. 最終的に 1. 検証環境の費用が毎月5000円ほど削減 2. スクリプト(Python)を書くことへの抵抗が減る 3. LTのネタができた

  16. 苦労した点 1. boto3のドキュメントに慣れるのが大変 2. ライブラリーを事前にコードと一緒にZip化する必要があった 3. Qiita記事を書く上でライブラリーをパッケージ化する部分を どう書けばいいか → Cloud9を使用した

    ライブラリー
  17. まとめ • めちゃ便利 • 構成がシンプル • 実装も簡単 • プログラミングの練習になる Lambda

    + EventBridge