自動化大好きエンジニアLT会 - vol.8 https://rakus.connpass.com/event/255781/
aws-nuke + Github Actoinsで AWSアカウントのクリーンアップを 自動化した話 2022-09-14 自動化大好きエンジニアLT会 vol.8 1
View Slide
2自己紹介佐藤雅樹- クラスメソッド株式会社- twitter: @chari7311- 興味: DevOps, IaC, 自動化2
3AWSアカウントのクリーンアップ(リソース削除)って意外と大変じゃないですか?
4社内のAWSアカウントクリーンアップ事情- クラスメソッドでは採用プロセスにAWSアカウントを使った実技試験が存在する部署もある- 面接終了後に、試験で作成したリソースを削除する必要がある- リソース削除は、面接の司会を行ったマネージャーが実施
5既存の方法手動 + 独自の削除スクリプトを使用- 応募者によって作成されるリソースは異なる- 削除対象リソースは、削除スクリプト- 過去作成されたリソースから削除対象リソースを決定- 対応していないリソースは、手動- リソース削除漏れ対策- https://dev.classmethod.jp/articles/cost-check-tool/
6課題点■手動- 漏れが発生する可能性- 手間がかかる■独自の削除スクリプト- メンテ大変
7実現したかったこと- できるだけ全てのリソースを削除したい- 残したいリソースもあるからいい感じに除外したい- 簡単に実行できる様にしたい- 使用者の事前準備を減らしたい- 運用の手間を減らしたい- 極力コードを書かずに実現したい
8作った仕組み
9aws-nuke- AWSリソースの一括削除を簡単にできるツール- DryRunやフィルターを使った除外も可能
10aws-nukeを使ったリソース削除
11aws-nukeを使ったリソース削除
12aws-nukeで一括削除が楽になった!
13aws-nukeローカル実行までの準備1. ローカルにGit Clone(configファイルをダウンロード)2. aws-nukeのインストール or Dockerイメージの準備3. AWSのアクセスキー等認証情報の準備/設定
14CIサービスで実行しよう!
15再び構成図ユーザー管理IAMユーザー不要ローカルでaws-nuke用の環境準備不要
16実行の流れ
17
18
19まとめ■aws-nuke + Github Actionsでクリーンアップ- 独自で削除スクリプトを書かなくても一括削除の仕組みが作れる- 削除除外のフィルターも柔軟に設定可能- CIサービス上で実行することで、ユーザーのローカル環境構築を不要に
20関連ブログ- https://dev.classmethod.jp/articles/aws-nuke-githubactions-account-cleanup/- https://dev.classmethod.jp/tags/aws-nuke/