AWS CLI는 AWS를 명령어로 관리하는 도구이며, 여러 서비스들을 스크립트를 통해 자동화할 수 있습니다.
일반적으로는 콘솔을 통해 상호작용하며 서비스를 생성하고 삭제합니다. 그러니 aws cli를 통해 이 모든 것을 명령어로 실행할 수 있습니다.
인프라 규모가 커지게 되면 스크립트를 통해 자동화하는 것이 더 편리합니다.
AWS CLI 설치
Linux x86 (64-bit)
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
aws --version # awscli 버전 확인
macOS
Homebrew를 통해 간단히 설치가 가능합니다.
brew install awscli
aws --version $ awscli 버전 확인
Windows
https://awscli.amazonaws.com/AWSCLIV2.msi
위 파일 다운로드 후 설치
AWS CLI 인증 설정
AWS CLI을 통해 서비스를 제어하려면 사용자 정보가 필요합니다.
이 사용자 정보는 Access Key, Secret Access Key를 통해 식별합니다.
(다만 Access Key는 최대 2개까지 발급 가능하기 때문에, 분실한 경우 재발급 받으시면 됩니다.)
aws configure
AWS Access Key ID [None] : [발급받은 IAM Access Key ID]
AWS Secret Access Key [None] : [발급받은 IAM Secret Access Key]
Default region name [None] : 리전 입력(예: ap-northeast-2 (서울))
Default output format [None] : text / json / table (기본값 json)
다중 사용자 인증이 필요한 경우, --profile 옵션을 통해 구성할 수 있습니다.
aws configure --profile [원하는 프로필명]
AWS CLI 기본 명령어
EC2
1. 인스턴스 목록 조회
aws ec2 describe-instances
2. EC2 인스턴스 생성
aws ec2 run-instances \
--image-id ami-xxxxxxxxxxxxxxxxx \ # 설치하고자 하는 OS의 ami 입력
--instance-type t3.micro \
--key-name my-key \ # 로그인 할 때 사용할 key name 입력
--security-group-ids sg-xxxxxxxxxxxxxxxxx \
--subnet-id subnet-xxxxxxxxxxxxxxxxx \
--count 1
3. EC2 인스턴스 시작
aws ec2 start-instances --instance-ids [실행할 EC2 인스턴스 ID]
4. EC2 인스턴스 중지
aws ec2 stop-instances --instance-ids [중지할 EC2 인스턴스 ID]
5. EC2 인스턴스 종료(삭제)
aws ec2 terminate-instances --instance-ids [종료(삭제)할 EC2 인스턴스 ID)]
6. AMI 목록 조회
aws ec2 describe-images --owners amazon # amazon이 소유한 os ami 출력 (예: Amazon Linux)
7. EC2 키페어 목록
aws ec2 describe-key-pairs
S3
1. S3 버킷 목록 조회
aws s3 ls
2. 버킷 생성
aws s3 mb s3://[생성할 버킷 이름]
3. 파일 업로드
aws s3 cp [업로드할 파일] s3://[업로드할 버킷 이름]/
# ex
aws s3 cp ./test.txt s3://my-bucket-name/
4. 파일 다운로드
aws s3 cp s3://[버킷 이름]/[다운로드 할 파일] [다운로드 받을 경로]
# ex
aws s3 cp s3://my-bucket-name/test.txt ./
5. 폴더 동기화
aws s3 sync [동기화 할 디렉터리] s3://[버킷 이름]/
# ex
aws s3 sync ./local-folder s3://my-bucket-name/
IAM
1. IAM 사용자 목록 조회
aws iam list-users
2. IAM 역할 목록 조회
aws iam list-roles
Lamdba
1. Lamdba 함수 목록 조회
aws lambda list-functions
CloudWatch (로그)
1. 로그 그룹 조회
aws logs describe-log-groups
RDS
1. RDS DB 인스턴스 목록 조회
# 전체 조회
aws rds describe-db-instances
# 특정 인스턴스 조회
aws rds describe-db-instances --db-instance-identifier [RDS 명]
2. 인스턴스 상태 확인
aws rds describe-db-instances \
--query 'DBInstances[*].[DBInstanceIdentifier,DBInstanceStatus]' \
--output table
3. RDS 생성
aws rds create-db-instance \
--db-instance-identifier [생성할 DB 명] \
--db-instance-class db.t3.micro \ # 인스턴스 사양
--engine mysql \ # 설치할 DBMS
--allocated-storage 20 \ # 용량 설정 (단위: GB)
--master-username admin \ # 관리자 계정
--master-user-password 'Password123!' \ # 관리자 계정 PW
--vpc-security-group-ids sg-xxxxxxxx \ # 어느 VPC에 만들것인가
--db-subnet-group-name my-db-subnet-group \ # 어느 서브넷에 만들것인가
--backup-retention-period 7 \ # 백업 보존 기간
--publicly-accessible # public 설정
4. RDS 시작
aws rds start-db-instance \
--db-instance-identifier [시작할 RDS 명]
5. RDS 중지
aws rds stop-db-instance \
--db-instance-identifier [중지할 RDS 명]
6. RDS 재부팅
aws rds reboot-db-instance \
--db-instance-identifier [재부팅할 RDS 명]
7. RDS 삭제
aws rds delete-db-instance \
--db-instance-identifier [삭제할 DB 명] \
--skip-final-snapshot
네트워크
1. VPC 목록
aws ec2 describe-vpcs
2. 서브넷 목록
aws ec2 describe-subnets
'AWS' 카테고리의 다른 글
| [AWS] Terraform 설치 및 사용 (1) | 2026.03.06 |
|---|---|
| [AWS] CloudShell 사용 (0) | 2026.03.06 |
댓글