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
1. aws-nuke clone
2. go 설치 및 의존성 추가
2.1. go 설치
aws-nuke가 go 언어라 go 설치 및 의존성 추가가 필요하다
All releases - The Go Programming Language
go.dev
2.2. 의존성 추가
시스템 환경 변수 편집 > 환경 변수 > PATH 추가(확인)
깃 배쉬 다시 들어가서 설치 확인
3. aws-nuke 의존성 설치 및 빌드
4. config.yml 작성
regions:
- us-east-1 # 사용하는 AWS 리전을 명시
- us-west-2 # 여러 리전에서 리소스를 삭제할 경우 추가
accounts:
123456789012: # AWS 계정 ID를 입력
filters:
IAMUser:
- "admin" # 삭제하지 않으려는 IAM 사용자 (예: 관리자 계정)
S3Bucket:
- "backup-bucket" # 보호하려는 S3 버킷 (중요 데이터)
resource-types:
exclude: # 일부 리소스 유형을 제외할 수 있음
- CloudWatchAlarm
- RDSInstance # RDS 인스턴스를 보호하고자 할 때
nuke-excluded: true # 'true'로 설정하면 일부 계정은 삭제하지 않음
# 추가적인 AWS 계정을 관리하려면 같은 형식으로 추가할 수 있습니다.
# 098765432109:
# filters:
# ...
resource-types:
exclude:
- IAMRole # 특정 리소스 유형을 보호
- ECSCluster
include:
- EC2Instance # EC2 인스턴스 삭제
- S3Bucket # S3 버킷 삭제
- LambdaFunction # Lambda 함수 삭제
- DynamoDBTable # DynamoDB 테이블 삭제
# 중요 리소스만 제거하려면 include 리스트에 필요한 리소스 유형을 추가하세요
ChatGPT가 준 코드다.
근데 나는 요금 청구안 하는 게 목적이라 청구서 기준으로 코드를 수정해서 실행하려고 한다.
청구서에 나와있는 기능 및 리전을 참고하여 아래와 같이 코드를 작성했다.
5. AWS 자격 증명 확인
aws-nuke가 AWS 리소스에 접근할 수 있도록 자격 증명을 수행해야 한다.
https://aws.amazon.com/ko/cli/
Command Line Interface - AWS CLI - AWS
aws-shell은 명령줄 셸 프로그램으로서, AWS 명령줄 인터페이스를 사용하는 새로운 사용자와 고급 사용자 모두에게 도움이 되는 편의 기능 및 생산성 기능을 제공합니다. 주요 기능은 다음과 같습
aws.amazon.com
6. 시뮬레이션 실행
삭제 전에 dry-run 모드를 사용하여 어떤 리소스가 삭제될지 시뮬레이션을 돌려보겠다. 혹시나 예상치 못한 리소스가 삭제될 수도 있으니 말이다ㅠㅠ 난 쫄보..
'☁️ Cloud: 대부분 AWS' 카테고리의 다른 글
클라우드 보안을 위협하는 자격 증명 기반 공격의 지속적 위협 (0) | 2024.11.27 |
---|---|
AWS EC2 인스턴스 IP 복구: 탄력적 IP 및 동적 IP 관리 가이드 (0) | 2024.11.22 |
(다지나가는) 2024 하이브리드 클라우드: 트렌드와 전망 (1) | 2024.11.18 |
클라우드 다 지웠는데.. 요금 청구?! (0) | 2024.09.13 |
[주요 용어] Data Center, Region, Availability Zone, Virtualization (1) | 2024.08.21 |