初めてのLambdaによる運用自動化 ~ 不要リソース削除大作戦 ~
by
Kento Suzuki
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
初めてのLambdaによる運用自動化 ~ 不要リソース削除大作戦 ~ Kento Suzuki 2022.07.28.Thu JAWS-UG 初心者支部勉強会#49
Slide 2
Slide 2 text
自己紹介 名前 鈴木 健斗 (@k_suzuki_pnx) 所属 アイレット株式会社 業務 ・インフラの構築/運用 ・オンプレからAWSへの移行 経歴 ・20新卒で3年目 ・エンジニア歴 = 社会人歴 (入社前はサーバという言葉を聞いたことある程度) ・2022 APN ALL AWS Certifications Engineer ・2022 APN AWS Top Engineer
Slide 3
Slide 3 text
不要リソース削除大作戦に 至るまで
Slide 4
Slide 4 text
新卒インフラエンジニア3年目の悩み 開発っておもしろそう プログラミング言語分からない (新卒研修くらいでしか触ってない) 仕事の幅広げないとな
Slide 5
Slide 5 text
2、3ヶ月くらい悶々としていた日々 とりあえず、AWSの公式セミナー JAWSのコミュニティイベントを視聴してた 「AWSで何ができるの?」 「自分が作りたいモノって何??」
Slide 6
Slide 6 text
そんなところに... 関連づけられていない EIP 11体 (約2500円/月) 関連づけられていない EBS 59体 (約2000円/月)
Slide 7
Slide 7 text
無限に湧く不要なリソースたち EBS 「終了時に削除」が有効化されていないAMIからEC2インスタンスを作成 ⇒作成者の意図しないところで湧く(生き残る) EIP NatGatewayやEC2を削除した際に消し忘れる
Slide 8
Slide 8 text
AWSのセミナーやJAWSに参加して得た知識が繋がる 不要なリソースを 定期的に削除 Lambda EventBridge Python boto3 EBS EIP AWS CLI (= AWSのAPI) LOVE
Slide 9
Slide 9 text
実際に作ってみる
Slide 10
Slide 10 text
その前に LambdaとEventBridgeについて 簡単な解説
Slide 11
Slide 11 text
Lambda ● コードを設定するだけで プログラムが実行できる ● Java、Go、Node.js、Pythonなど 多様な言語が使える ● サーバーの管理が不要
Slide 12
Slide 12 text
Event Bridge AWSのイベントをトリガーに 別のAWSリソースに対して処理を実行できる 例) Lambdaの処理が完了後、別のLambdaを実行 定時にAWSのリソースに対して処理を実行できる ※今回使用する機能 例) 毎日13:00にLambdaを実行する
Slide 13
Slide 13 text
仕様 ● 検証環境に存在する何も紐づけられていないEBS/EIPをSlack通知・削除(全リージョン) ● Amazon EventBridgeと組み合わせて毎日定時で実行 ● 容赦ない削除、慈悲はない ● 削除されたくない場合、以下で回避可能 ○ EC2に紐づけておく ○ スナップショットを取得しておく(EBSのみ) ● 以下のようなSlack通知
Slide 14
Slide 14 text
作ってみた 関連づけられてないEIPをSlack通知 & 削除するLambda https://qiita.com/suzuki_kento/items/6adb5e7e70bb17148699 関連づけられてないEBSをSlack通知 & 削除するLambda https://qiita.com/suzuki_kento/items/b94b893f6729b828caf1
Slide 15
Slide 15 text
最終的に 1. 検証環境の費用が毎月5000円ほど削減 2. スクリプト(Python)を書くことへの抵抗が減る 3. LTのネタができた
Slide 16
Slide 16 text
苦労した点 1. boto3のドキュメントに慣れるのが大変 2. ライブラリーを事前にコードと一緒にZip化する必要があった 3. Qiita記事を書く上でライブラリーをパッケージ化する部分を どう書けばいいか → Cloud9を使用した ライブラリー
Slide 17
Slide 17 text
まとめ ● めちゃ便利 ● 構成がシンプル ● 実装も簡単 ● プログラミングの練習になる Lambda + EventBridge