AWS CLI
aws cli 설치
$ cd ~
$ sudo apt update
$ sudo wget https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip
$ sudo apt install unzip
$ sudo unzip awscli-exe-linux-x86_64.zip
$ sudo ./aws/install
$ aws --version
- shell script (install-aws-cli.sh)
#!/bin/bash
cd ~
sudo apt update
sudo wget https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip
sudo apt install unzip
sudo unzip awscli-exe-linux-x86_64.zip
sudo ./aws/install
aws --version
aws configure
# access key : 만든 엑세스 키
# secret access key : 만든 시크릿 엑세스 키
# region : iam 리전 (ap-northeast-2 (서울))
# default fomat : 아무것도 입력하지 않아도 됨(Defalt : json)
S3 cli
# s3 리스트
$ aws s3 ls
# s3 에 있는 특정 파일 다운로드
$ aws s3 cp [s3://[버킷이름]/[파일명]] [다운 받을 경로]
# s3 에 있는 파일 전체 다운로드
$ aws s3 cp [S3 버킷이름] [다운 받을 경로] --recursive
EC2 cli
# image-id : 아마존 이미지 id (ubuntu 20.04 : ami-08597df434c0ea272)
# count : 생성할 인스턴스 갯수
# instance-type : 인스턴스 성능
# key-name : ssh private key name 확장자 붙일 필요 x
# secruity-group-ids : 보안 그룹 id (네트워크 규칙)
# subnet-id : subnet id (vpc 안적어도 되는 이유 : subnet이 더 자세한 단위기 때문)
$ aws ec2 run-instances \
$ --image-id ami-08597df434c0ea272 \
$ --count 1 \
$ --instance-type t2.micro \
$ --key-name test-key \
$ --security-group-ids sg-0123456789abcd \
$ --subnet-id subnet-0123456789abcd
- shell script (create-instance-with-aws-cli.sh)
- jq : shell script 에서 json을 읽을 수 있는 패키지
- jq를 사용하는 이유 인스턴스를 만들었을 때 인스턴스 아이디를 가지고 인스턴스 이름을 적용 시킬 수 있음
- “id”
$ wget http://stedolan.github.io/jq/download/linux64/jq
$ sudo chmod +x ./jq
$ sudo cp jq /usr/bin
#!/bin/bash
aws ec2 run-instances \
--image-id ami-08597df434c0ea272 \
--count 1 \
--instance-type t2.micro \
--key-name ssy-ubuntu-key \
--security-group-ids sg-*0123456789abcde* \
--subnet-id subnet-*0123456789abcde* > ec2-instance-info.json
instance_id=$(cat ec2-instance-info.json | jq '.Instances[0].InstanceId' | sed 's/"//g')
aws ec2 create-tags --resources $instance_id --tags Key=Name,Value=ssy-ubuntu-public
$ sh create-instance-with-aws-cli.sh
댓글남기기