AWS CLI란?

AWS CLI란?

**AWS CLI(Amazon Web Services Command Line Interface)**는 명령줄을 통해 AWS 서비스를 제어하고 관리할 수 있는 도구입니다. AWS Management Console(웹 인터페이스) 대신 CLI를 사용하여 작업을 자동화하거나 스크립트를 작성할 수 있습니다.

AWS CLI는 개발자와 운영팀이 AWS 리소스를 더 빠르고 효율적으로 관리할 수 있도록 설계되었습니다.


AWS CLI의 주요 특징

  1. 간단한 명령어로 AWS 리소스 관리:
    • AWS 리소스 생성, 수정, 삭제, 상태 조회 등 대부분의 작업을 명령줄에서 수행할 수 있습니다.
  2. 자동화 및 스크립트 작성 가능:
    • 반복적인 작업을 쉘 스크립트 또는 배치 파일로 자동화.
  3. 크로스 플랫폼 지원:
    • Windows, macOS, Linux 등 모든 주요 운영 체제에서 사용 가능.
  4. AWS SDK와 통합:
    • Python, JavaScript 등 프로그래밍 언어에서 CLI 명령어와 연계 가능.

AWS CLI 설치

1. AWS CLI 설치

Windows

  1. AWS CLI 설치 파일 다운로드: AWS CLI Windows 설치 파일.
  2. 설치 마법사에 따라 설치.
  3. 설치 후 명령 프롬프트에서 aws –version으로 확인: 
  4. aws --version

macOS/Linux

  1. 설치 스크립트를 실행:curl “https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip” -o “awscliv2.zip” unzip awscliv2.zip sudo ./aws/install
  2. 설치 후 확인:aws –version

2. AWS CLI 설정

  1. 설치 후 AWS CLI를 사용할 수 있도록 자격 증명 설정.
  2. 명령어 입력:
  3. aws configure
  4. 아래 정보를 입력:
    • Access Key ID와 Secret Access Key는 AWS IAM 사용자로 로그인 후 생성.
    • Default region name: 사용 지역, 예: us-east-1.
    • Default output format: json, table, 또는 text 중 선택.
  5. AWS Access Key ID [None]: <Access Key ID> AWS Secret Access Key [None]: <Secret Access Key> Default region name [None]: us-east-1 Default output format [None]: json
  6. 설정 확인:
  7. aws configure list

AWS CLI 기본 명령어

AWS CLI 명령어는 다음 기본 구조로 실행됩니다:

aws <서비스 이름> <작업> <옵션>

1. S3 관련 명령어

  • S3 버킷 목록 조회:aws s3 ls
  • 파일 업로드:aws s3 cp local_file.txt s3://my-bucket/
  • 버킷 삭제:aws s3 rb s3://my-bucket –force

2. EC2 관련 명령어

  • EC2 인스턴스 목록 조회:aws ec2 describe-instances
  • 인스턴스 시작:aws ec2 start-instances –instance-ids i-1234567890abcdef0
  • 인스턴스 종료:aws ec2 terminate-instances –instance-ids i-1234567890abcdef0

3. IAM 관련 명령어

  • IAM 사용자 목록 조회:aws iam list-users
  • IAM 사용자 생성:aws iam create-user –user-name MyUser

4. CloudWatch 관련 명령어

  • 로그 그룹 조회:aws logs describe-log-groups
  • 특정 로그 스트림 확인:aws logs get-log-events –log-group-name MyLogGroup –log-stream-name MyLogStream

AWS CLI 사용 시 주의사항

  1. IAM 최소 권한 적용:
    • AWS CLI는 강력한 작업 권한을 가집니다. 항상 필요한 권한만 가진 IAM 자격 증명을 사용하세요.
  2. 리소스 관리에 주의:
    • CLI 명령어로 생성한 리소스는 과금을 유발할 수 있으므로 테스트 후 반드시 삭제하세요.
  3. 로그인 보안 강화:
    • Access Key는 노출되지 않도록 주의하며, ~/.aws/credentials 파일에 저장.
  4. 명령어 테스트:
    • 잘못된 명령어 실행은 의도치 않은 리소스 삭제 등을 유발할 수 있습니다. 실행 전 옵션을 꼼꼼히 확인하세요.

AWS CLI를 활용한 자동화 예시

1. S3에서 파일 백업 자동화

로컬 디렉터리의 파일을 S3 버킷으로 정기적으로 백업:

aws s3 sync /local/directory s3://my-backup-bucket/

2. 특정 리소스 자동 종료

매일 EC2 인스턴스를 종료하는 스크립트:

aws ec2 stop-instances --instance-ids i-1234567890abcdef0

3. 비용 관리 데이터 가져오기

AWS 비용 데이터를 CLI로 확인:

aws ce get-cost-and-usage \
    --time-period Start=2024-12-01,End=2024-12-15 \
    --granularity MONTHLY \
    --metrics BlendedCost

결론

AWS CLI는 AWS 리소스를 효율적으로 관리하고, 반복 작업을 자동화하며, 다양한 프로그래밍 언어와 통합하여 강력한 작업 환경을 제공합니다. CLI 명령어는 간단한 작업부터 복잡한 자동화까지 널리 활용될 수 있으니, 자주 사용하는 명령어를 익혀두면 유용합니다.