AWS-nuke 3.5.1 사용 방법
1. 개요
aws-nuke는 AWS 계정 내 모든 리소스를 삭제하는 오픈 소스 도구이다.
- 목적: AWS 계정의 모든 자산을 완전히 삭제하여 초기화 상태로 만들기
- 주요 특징:
- 지정한 AWS 계정 내 모든 리소스 삭제
- 필터를 사용하여 특정 리소스 제외 가능
- YAML 형식의 설정 파일 사용
- 주의: aws-nuke는 매우 강력하며, 삭제 작업은 되돌릴 수 없다.
- 적용 사례:
- 테스트용 계정 초기화
- 실수로 생성된 리소스 정리
- 계정 삭제 전에 모든 자원 제거
2. 사전 준비
필수 요구 사항:
- AWS CLI 설치 및 설정 완료
- 관리자 권한이 있는 AWS 계정
AWS CLI 설치 확인: aws --version
AWS CLI Access Key 연동: aws configure
AWS CLI Access Key 확인: cat ~/.aws/credentials
3. 설치 방법
Step 1: aws-nuke 다운로드
GitHub에서 소스 코드를 클론
git clone https://github.com/rebuy-de/aws-nuke.git
cd aws-nuke
Step 2: 컴파일
make build
컴파일 후 ./bin/aws-nuke 파일이 생성된다.
Step 3: 설치 확인
./bin/aws-nuke --version
버전 정보가 출력되면 설치가 완료된 것이다.
4. 사용 방법
4.1 기본 실행 명령어
aws-nuke를 실행하여 모든 리소스를 나열
- -c: 설정 파일 지정
- --no-dry-run: 실제 삭제를 수행
4.2 설정 파일 작성 (config.yml)
aws-nuke의 설정 파일은 YAML 형식으로 작성된다.
설정 파일 설명:
- regions: 삭제할 리소스가 있는 리전 목록
- account-blacklist: 절대 삭제하지 않을 AWS 계정 ID
- accounts: 계정 ID와 삭제 제외 대상 설정
아래는 내가 주로 사용하는 예시 파일이다.
regions:
- "global"
- us-east-1
blocklist:
- "999999999"
resource-types:
excludes:
- IAMUser
- IAMGroup
- IAMGroupPolicy
- IAMGroupPolicyAttachment
- IAMInstanceProfile
- IAMInstanceProfileRole
- IAMLoginProfile
- IAMOpenIDConnectProvider
- IAMPolicy
- IAMRole
- IAMRolePolicy
- IAMRolePolicyAttachment
- IAMSAMLProvider
- IAMServerCertificate
- IAMServiceSpecificCredential
- IAMSigningCertificate
- IAMUser
- IAMUserAccessKey
- IAMUserGroupAttachment
- IAMUserPolicy
- IAMUserPolicyAttachment
accounts:
000000000000: {}
4.3 Dry Run (테스트 실행)
삭제 전, 안전하게 dry run으로 테스트한다.
./bin/aws-nuke run -c config.yml
- Dry Run: 삭제 명령을 실제로 실행하지 않고, 삭제될 리소스 목록만 출력
4.4 실제 삭제 실행
dry run에서 문제가 없으면 실제 삭제 수행.
./bin/aws-nuke run -c config.yml --no-dry-run
5. 오류 해결 방법
- 에러: Access Denied
- IAM 정책에 AdministratorAccess가 있는지 확인
- aws-nuke를 실행하는 프로파일이 적절한 권한을 가지고 있는지 확인
- 에러: Rate Limit Exceeded
- AWS API 호출이 과도하여 발생
- --max-concurrent-requests 옵션으로 요청 수 줄이기
./bin/aws-nuke -c config.yml --max-concurrent-requests 5
6. 실무 사용 시 주의 사항
- aws-nuke는 모든 리소스를 삭제하므로, 프로덕션 계정에서는 사용 금지.
- 백업 필수
- Dry Run 권장
- IAM 정책 확인
자세한 내용과 최신 버전 정보는 공식 GitHub 페이지를 참고하세요:
https://github.com/ekristen/aws-nuke
GitHub - ekristen/aws-nuke: Remove all the resources from an AWS account
Remove all the resources from an AWS account. Contribute to ekristen/aws-nuke development by creating an account on GitHub.
github.com
'Tech > [Cloud] AWS' 카테고리의 다른 글
AWS 프리티어 과금 안 되도록 사용하는 방법, 요약 (0) | 2024.05.21 |
---|