$30 off During Our Annual Pro Sale. View Details »

aws-nuke + Github Actoinsで AWSアカウントのクリーンアップを 自動化した話

msato
September 14, 2022

aws-nuke + Github Actoinsで AWSアカウントのクリーンアップを 自動化した話

自動化大好きエンジニアLT会 - vol.8
https://rakus.connpass.com/event/255781/

msato

September 14, 2022
Tweet

More Decks by msato

Other Decks in Technology

Transcript

  1. aws-nuke + Github Actoinsで

    AWSアカウントのクリーンアップを

    自動化した話

    2022-09-14

    自動化大好きエンジニアLT会 vol.8


    1

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  8. 8
    作った仕組み

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  16. 16
    実行の流れ

    View Slide

  17. 17

    View Slide

  18. 18

    View Slide

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

    View Slide

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

    View Slide