brunch

You can make anything
by writing

- C.S.Lewis -

by Master Seo Jun 02. 2020

385. CLI로 AWS 관리하기

목표

CLI로 AWS 관리하기

스크립트로  AWS 관리하기


<0> AWS CLI 사용포트

TCP 443 포트  (https 포트 )



<1>  EC2 로그인



<2>   key pair 생성하기


1

웹 console로  key pair를 만들수 있다.

EC2 >  key pairs   >  create key pair  > aaa >  키페어가 down폴더에 다운로드 된다.


2. 

aws ec2 create-key-pair --key-name  bbb


3

./create-key.py

// 웹 console에서 ec2 key 가 만들어져 있는지 확인한다.


./clean-key.py

// 키페어가 3개가 모두 지워진다. 주의




<3>  cli로  s3 관리하기



s3 생성

aws s3 mb s3://seo111-s3


파일 올리기

aws s3 cp 111.txt  s3://seo111-s3


파일 확인하기

aws s3 ls s3://seo111-s3


파일 동기화 하기

aws s3 sync . s3://seo111-s3





<4> 

1

콘솔로 스넵셧 생성하기

EC2 > EBS >  Volume >  Action > Create Snapshot


2. cli로 스넵셧 생성하기

aws ec2 create-snapshot --description CLI --volume-id YOUR-VOLUME-ID

aws ec2 create-snapshot --description CLI --volume-id  vol-01c6b0e60531efec8


3.  스크립트

./snapshot.py





<5>  보안그룹 관리하기


1

베스천의 보안 그룹 만들기

EC2 > Security group > 

콘솔로 만들기  보안 그룹 만들기


2.

cli로  보안그룸 ID 확인

SECURITY_GROUP_ID=`aws ec2 describe-security-groups --filters Name=group-name,Values=Bastion --query SecurityGroups[*].GroupId --output text`

// 오류 , 확인 필요.


내 PC 공인 IP 확인  http://checkip.amazonaws.com/


cli로 보안 그룹 

aws ec2 authorize-security-group-ingress --group-id $SECURITY_GROUP_ID --protocol tcp --port 22 --cidr YOUR-PUBLIC-IP-ADDRESS/32

aws ec2 authorize-security-group-ingress --group-id $SECURITY_GROUP_ID --protocol tcp --port 22 --cidr 200.1.1.1/32


오픈 확인

./bastion-open


닫기 

./bastion-close.py





<6 >   EC2 인스턴스 제어


인스텐스 중지 스크립트

cat stop-terminate.py

테그 값을 읽어 중지, 종료 


./stop-terminate.py

변화 없다.



테스트 인스턴스

테그생성

stop-terminate


stop

저장


./stop-terminate.py

실행

//  키가 stop-terminate  값이  stop이면 서버 중지됨


태그

terminate

저장

./stop-terminate.py

//  키  stop-terminate 값이  terminate이면 서버 종료됨



테그가 없는 서버는  매일 저녁  중지??





<7>   cloudwatch 지표


cli를 통해 지표 전송


aws cloudwatch put-metric-data --namespace Lab --metric-name YOUR-INITIALS --value 42

aws cloudwatch put-metric-data --namespace Lab --metric-name game-web01 --value 42


확인

cloudwatch ? 측정항목 > 네임 스페이스> 측정 항목 클릭 


custom 1분으로 설정



<8>


스크립트 보안 자격증명

./show-credentials

access-key와 secret key를 확인할수 있다.

보안에 문제 되므로 주의해야 한다.




<9>AWS CLI 참고

https://brunch.co.kr/@topasvga/345

https://brunch.co.kr/@topasvga/386

https://brunch.co.kr/@topasvga/724

https://brunch.co.kr/@topasvga/747

https://brunch.co.kr/@topasvga/872


감사합니다.



매거진의 이전글 384. cloud formation으로 웹,DB한번에

매거진 선택

키워드 선택 0 / 3 0
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari