간단하게 AWS nuke에 대해서 설명을 해보자면, 계정에 존재하는 리소스들을 조회하고 전부 삭제할 수 있습니다. 하지만 종료 방지 옵션이 활성화돼있거나 혹은 새로 생긴 서비스 등등 여러 이유로 삭제가 안 되는 경우도 존재합니다.
참고로 저는 windows 환경에서 사용할 예정이며, aws cli 설치가 되어있는 상황입니다. 만약 aws cli가 설치가 안 되어있으시다면 아래 링크를 통해 aws cli를 설치하고 진행해 주세요.
https://awscli.amazonaws.com/AWSCLIV2.msi
1. Windows 혹은 자신의 원하는 OS에 aws nuke 설치
아래 사이트를 접속 후 자신이 원하는 os를 선택하여 설치합니다. 저는 windows에서 aws nuke를 사용하기 위해 [ aws-nuke-v2.15.0-windows-amd64.zip ]를 설치했습니다.
Release v2.15.0 · rebuy-de/aws-nuke
Changes since v2.14.0 Enhancements kind/enhancement Feature/324 date filter #480 (@jcarter3) kind/enhancement add support for programatically setting custom aws credentials #529 (@tylersouthwick)...
github.com
다른 방법이 존재하지만 저는 설치 후 압축을 풀고, 실행 파일을 Windows/System32에 복사하여 사용했습니다.

2. AWS 계정에 별칭 생성
AWS nuke를 실행시키기 위해선 AWS nuke를 실행시킬 AWS 계정 별칭이 존재해야 합니다.
생성하는 방법은 아래 링크를 통해 AWS IAM Console에 접속합니다.
https://us-east-1.console.aws.amazon.com/iamv2/home?region=ap-northeast-2#/home
https://us-east-1.console.aws.amazon.com/iamv2/home?region=ap-northeast-2#/home
us-east-1.console.aws.amazon.com
사이트에 접속하여 오른쪽 상단을 보시면 AWS 계정 관련에 대한 내용과 계정 별칭을 생성할 수 있는 칸이 존재합니다.
계정 별칭 생성을 클릭하여 자신이 원하는 별칭으로 생성합니다.

3. IAM 사용자의 Access Key 혹은 계정의 Access Key 발급
저는 IAM 사용자를 생성 후 Access Key를 발급받을 예정입니다.
발급받기 위해 IAM user에 접속 후 user를 생성해 줍니다.
User에 대한 권한은 전부 다 삭제하고 싶으시다면, 아래와 같이 AdministratorAccess 권한을 넣어주면 됩니다.

IAM user 생성이 끝나셨다면 생성한 user의 보안 자격 증명에서 Access Key를 발급받으시면 됩니다. 사용사례는 별 상관없지만 CLI로 발급받아줍니다.
4. AWS nuke 실행
실행하기 앞서 PowerShell 혹은 cmd를 켜고 아래와 같이 입력합니다.
> aws configure --profile aws-nuke
AWS Access Key ID [None] : <생성한 aws nuke Access key>
AWS Secret Access Key [None] : <생성한 aws nuke Secret Access key>
Default region name [None] : ap-northeast-2
Default output format [None] : json
> cd ~
> notepad config.yml
config.yml에는 아래의 내용을 적어줍니다.
regions: # 리소스를 삭제하고 싶은 region 리스트를 아래에 적습니다.
- us-east-1
- us-east-2
- us-west-1
- us-west-2
- ap-northeast-1
- ap-northeast-2
- ap-northeast-3
- ap-southeast-1
- ap-southeast-2
account-blocklist:
- "999999999999"
resource-types:
excludes: # nuke로 제외시키고자 하는 resource 리스트를 아래에 적습니다.
- IAMUser
- IAMUserPolicyAttachment
- IAMUserAccessKey
- Route53HostedZone
accounts:
xxxxxxxxxxxx: # 자신의 account를 입력
filters:
IAMUser:
- "aws-nuke-user"
IAMUserPolicyAttachment:
- property: RoleName
value: "aws-nuke-user"
IAMUserAccessKey:
- property: UserName
설정이 끝나셨다면 아래 명령어를 참고하여 AWS nuke를 시작해 줍니다.
> cd ~ # 아까 설정한 config.yml이 존재하는 위치로 이동
> aws-nuke -c config.yml --no-dry-run --profile aws-nuke
위와 같이 실행하고, 자신의 별칭을 입력하면 AWS nuke가 실행됩니다.
글 읽어주셔서 감사합니다.
'AWS Service' 카테고리의 다른 글
| [AWS Service] Amazon Macie를 사용하여 S3 데이터 분석 (0) | 2025.01.21 |
|---|---|
| [AWS Service] S3에 저장된 log Athena로 분석 (0) | 2025.01.21 |
| [AWS Service] Fluent-Bit로 Cloudwatch에 Log 전송 (0) | 2025.01.21 |
| [AWS Service] Openssl을 사용해서 Client VPN 연결 (0) | 2025.01.03 |
| [AWS Service] AWS App Runner로 Application 배포 (2) | 2024.10.22 |
