はじめに
検証環境に作ったリソースを削除したいときに調べた内容を整理しました。
aws-nukeとは
- AWSアカウント内のリソースを削除することができるツール
- 主な機能
- リージョンの指定
- 削除するリソースタイプの指定
- 削除しないリソースタイプの指定(除外指定)
- リソースのフィルタリング
- 削除するリソースタイプのうち、特定のリソースのみ削除させたくない場合などに使用
AWS CloudShell とは
-
AWSマネジメントコンソールから直接起動できる、ブラウザベースの事前認証済みシェル
-
AWSマネジメントコンソールにログインし、CloudShellの画面に移動するとその場で Amazon Linux 2 の環境が構築され、少し待つと利用可能な状態になる
-
AWS CloudShell の特徴
- Amazon Linux 2ベースの環境
- パッケージインストールも可能
- ファイルをアップロード,ダウンロード可能(ホームディレクトリは1GB保持することが出来ます。)
- 最大10個の同時シェルを無料で使用可能
手順
1.アカウントID確認
2.cloudshellを開く
3.aws-nukeインストール
- Githubで最新のバージョン確認
https://github.com/rebuy-de/aws-nuke/releases - バイナリダウンロード
cloudshell
$ wget https://github.com/rebuy-de/aws-nuke/releases/download/v2.21.2/aws-nuke-v2.21.2-linux-amd64.tar.gz
$ tar -zxvf aws-nuke-v2.21.2-linux-amd64.tar.gz
4.configファイル作成
cloudshell
$ vi nuke-config.yml
nuke-config.yml
regions:
- us-east-1 # 消したいリージョン
account-blocklist:
- "999999999999" # 消したくないAWSアカウント。特に指定しなくて良いがこの部分を消すとエラーになるのでこのまま
resource-types:
# IAMユーザは消したくない
excludes:
- IAMUser
accounts:
"123456789012": {} # 消したいAWSアカウント
5.アカウントエイリアス作成
cloudshell
# エイリアスは全世界で一意
$ aws iam create-account-alias --account-alias {エイリアス名}
6.実行
cloudshell
$ ./aws-nuke-v2.21.2-linux-amd64 -c ./nuke-config.yml --no-dry-run
dry runモード:実行時に削除されるリソースを一度確認したいときに使用
参考
https://qiita.com/rapirapi/items/664b61958aabef51df17
https://iret.media/64433