AWS CLI란?
**AWS CLI(Amazon Web Services Command Line Interface)**는 명령줄을 통해 AWS 서비스를 제어하고 관리할 수 있는 도구입니다. AWS Management Console(웹 인터페이스) 대신 CLI를 사용하여 작업을 자동화하거나 스크립트를 작성할 수 있습니다.
AWS CLI는 개발자와 운영팀이 AWS 리소스를 더 빠르고 효율적으로 관리할 수 있도록 설계되었습니다.
AWS CLI의 주요 특징
- 간단한 명령어로 AWS 리소스 관리:
- AWS 리소스 생성, 수정, 삭제, 상태 조회 등 대부분의 작업을 명령줄에서 수행할 수 있습니다.
- 자동화 및 스크립트 작성 가능:
- 반복적인 작업을 쉘 스크립트 또는 배치 파일로 자동화.
- 크로스 플랫폼 지원:
- Windows, macOS, Linux 등 모든 주요 운영 체제에서 사용 가능.
- AWS SDK와 통합:
- Python, JavaScript 등 프로그래밍 언어에서 CLI 명령어와 연계 가능.
AWS CLI 설치
1. AWS CLI 설치
- AWS CLI는 최신 버전인 v2를 사용 권장.
- AWS CLI 설치 가이드를 참고하여 설치하세요.
Windows
- AWS CLI 설치 파일 다운로드: AWS CLI Windows 설치 파일.
- 설치 마법사에 따라 설치.
- 설치 후 명령 프롬프트에서 aws –version으로 확인:
aws --version
macOS/Linux
- 설치 스크립트를 실행:curl “https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip” -o “awscliv2.zip” unzip awscliv2.zip sudo ./aws/install
- 설치 후 확인:aws –version
2. AWS CLI 설정
- 설치 후 AWS CLI를 사용할 수 있도록 자격 증명 설정.
- 명령어 입력:
- aws configure
- 아래 정보를 입력:
- Access Key ID와 Secret Access Key는 AWS IAM 사용자로 로그인 후 생성.
- Default region name: 사용 지역, 예: us-east-1.
- Default output format: json, table, 또는 text 중 선택.
- 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
- 설정 확인:
- 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 사용 시 주의사항
- IAM 최소 권한 적용:
- AWS CLI는 강력한 작업 권한을 가집니다. 항상 필요한 권한만 가진 IAM 자격 증명을 사용하세요.
- 리소스 관리에 주의:
- CLI 명령어로 생성한 리소스는 과금을 유발할 수 있으므로 테스트 후 반드시 삭제하세요.
- 로그인 보안 강화:
- Access Key는 노출되지 않도록 주의하며, ~/.aws/credentials 파일에 저장.
- 명령어 테스트:
- 잘못된 명령어 실행은 의도치 않은 리소스 삭제 등을 유발할 수 있습니다. 실행 전 옵션을 꼼꼼히 확인하세요.
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 명령어는 간단한 작업부터 복잡한 자동화까지 널리 활용될 수 있으니, 자주 사용하는 명령어를 익혀두면 유용합니다.