일단 하고 보는 사람

나중보단 지금에 집중하되, 지금보단 나중에 완벽해지자💪🏻

☁️ Cloud: 대부분 AWS

aws-nuke 사용하기

JanginTech 2024. 11. 23. 23:37

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 설치 및 의존성 추가가 필요하다

https://go.dev/dl/

 

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 모드를 사용하여 어떤 리소스가 삭제될지 시뮬레이션을 돌려보겠다. 혹시나 예상치 못한 리소스가 삭제될 수도 있으니 말이다ㅠㅠ 난 쫄보..