Slide 1

Slide 1 text

aws-nuke + Github Actoinsで
 AWSアカウントのクリーンアップを
 自動化した話
 2022-09-14
 自動化大好きエンジニアLT会 vol.8
 
 1

Slide 2

Slide 2 text

2 自己紹介 佐藤雅樹 - クラスメソッド株式会社 - twitter: @chari7311 - 興味: DevOps, IaC, 自動化 2

Slide 3

Slide 3 text

3 AWSアカウントのクリーンアップ (リソース削除)って 意外と大変じゃないですか?

Slide 4

Slide 4 text

4 社内のAWSアカウントクリーンアップ事情 - クラスメソッドでは採用プロセスにAWSアカウントを使った 実技試験が存在する部署もある - 面接終了後に、試験で作成したリソースを削除する必要 がある - リソース削除は、面接の司会を行ったマネージャーが実施

Slide 5

Slide 5 text

5 既存の方法 手動 + 独自の削除スクリプトを使用 - 応募者によって作成されるリソースは異なる - 削除対象リソースは、削除スクリプト - 過去作成されたリソースから削除対象リソースを決定 - 対応していないリソースは、手動 - リソース削除漏れ対策 - https://dev.classmethod.jp/articles/cost-check-tool/

Slide 6

Slide 6 text

6 課題点 ■手動 - 漏れが発生する可能性 - 手間がかかる ■独自の削除スクリプト - メンテ大変

Slide 7

Slide 7 text

7 実現したかったこと - できるだけ全てのリソースを削除したい - 残したいリソースもあるからいい感じに除外したい - 簡単に実行できる様にしたい - 使用者の事前準備を減らしたい - 運用の手間を減らしたい - 極力コードを書かずに実現したい

Slide 8

Slide 8 text

8 作った仕組み

Slide 9

Slide 9 text

9 aws-nuke - AWSリソースの一括削除を簡単にできるツール - DryRunやフィルターを使った除外も可能

Slide 10

Slide 10 text

10 aws-nukeを使ったリソース削除

Slide 11

Slide 11 text

11 aws-nukeを使ったリソース削除

Slide 12

Slide 12 text

12 aws-nukeで一括削除が楽になった!

Slide 13

Slide 13 text

13 aws-nukeローカル実行までの準備 1. ローカルにGit Clone(configファイルをダウンロード) 2. aws-nukeのインストール or Dockerイメージの準備 3. AWSのアクセスキー等認証情報の準備/設定

Slide 14

Slide 14 text

14 CIサービスで実行しよう!

Slide 15

Slide 15 text

15 再び構成図 ユーザー管理 IAMユーザー不要 ローカルでaws-nuke用の 環境準備不要

Slide 16

Slide 16 text

16 実行の流れ

Slide 17

Slide 17 text

17

Slide 18

Slide 18 text

18

Slide 19

Slide 19 text

19 まとめ ■aws-nuke + Github Actionsでクリーンアップ - 独自で削除スクリプトを書かなくても一括削除の仕組みが 作れる - 削除除外のフィルターも柔軟に設定可能 - CIサービス上で実行することで、ユーザーのローカル環境 構築を不要に

Slide 20

Slide 20 text

20 関連ブログ - https://dev.classmethod.jp/articles/aws-nuke-githubacti ons-account-cleanup/ - https://dev.classmethod.jp/tags/aws-nuke/