dullwhaleのメモ帳

何度も同じことを調べなくてよいように...

aws-nukeのconfig雛形

aws nukeを使ってAWSアカウント内のほぼ全てのリソースを削除したいが、一部削除できない/してはいけないリソースがある。 粒度が荒いが、削除しないためのconfigファイルの雛形をメモしておく

ファイル名はconfig.ymlとする

regions:
- us-east-1
- ap-northeast-1
- global

account-blocklist:
- "999999999999"

# 削除しないリソースの種類
resource-types:
  excludes:
  - CloudFormationStack
  - CloudTrailTrail
  - CloudWatchEventsRule
  - CloudWatchEventsTarget
  - ConfigServiceConfigRule
  - ConfigServiceConfigurationRecorder
  - ConfigServiceDeliveryChannel
  - IAMPolicy
  - IAMRole
  - IAMRolePolicy
  - IAMRolePolicyAttachment
  - IAMSAMLProvider

# ここに削除対象のAWSアカウントを記述
accounts:
  "012345678910": {}

実行前に削除される予定のリソースをgrepしてよく確認する。 例えば出力をoutput.logにも保存しておき、それをgrepする。

aws-nuke --config config.yml | tee output.log
grep 'would remove' output.log

問題がなければ実際に削除する。

aws-nuke --config config.yml --no-dry-run