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