Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- bash
- endpoint security
- pfsense
- Windows
- hardening
- G-suite
- XCP-ng
- 한글가이드
- xe guest utilities
- miniconda
- ssh key 배포
- 로그인불가
- proxycfg
- elastic stack
- ELASTIC
- freebsd
- centos 8
- Kibana
- docker
- Elasticsearch
- application security
- macos
- PlayBook
- 보안양파
- GitLab
- Proxy
- ansible
- x-pack
- Kibana server is not ready yet
Archives
- Today
- Total
선 밖에 선 자유인
AWS CLI 기본 본문
출처: <탄력적 개발로 이끄는 AWS 실천 기술> 외
- AWS CLI 설정
$ aws configure AWS Access Key ID : xxxxxxxxxxx AWS Secret Access Key : xxxxxxxxxxxxx Default region name : ap-northeast-2 Default output format :(Access Key, Secret Access Key 는 AWS 관리 콘솔에서 확인) - AWS CLI 명령어나 옵션 보완 기능
$ complete -C aws_complerwe aws (-> .bashrc 에 저장)- 키 쌍 생성
$ aws ec2 create-key-pair --key-name my-keypair-from-cli --query 'KeyMaterail' --output text > my-keypari-from-cli.pem- Security Group 생성
$ aws ec2 create-security-group --group-name my-security-group-from-cli --description my-security-goup-from-cli- EC2 구동
$ aws ec2 run-instances --image-id ami-xxxxx0a --instance-type t2.micro --security-group-ids sg-xaaaaa \ --key-name my-keypari-from-cli --subnet-id subnet-xxxxxxe- EC2 태그 생성
$ aws ec2 create-tags --resources i-xxxxxxa4 --tags Key=Name,Value=my-instance- EIP 할당 및 연결
$ aws ec2 allocate-address { "PublicIp": "52.xx.xxx.xxx", "Domain": "vpc" "AllocationId": "eipalloc-axxxxx1" }
$ aws ec2 associate-address --allocation-id eipalloc-axxxxx1 --instance-id i-xxxxxxx4- EC2 정지/삭제/재시작
$ aws ec2 stop-instance --instance-ids i-xxxxxx4 $ aws ec2 terminate-instance --instance-ids i-xxxxxx4 $ aws ec2 reboot-instance --instance-ids i-xxxxxx4[EC2 인스턴스 백업] - tag 생성
$ aws ec2 create-tags --resources i-xxxxxxa4 --tags Key=Backup,Value=1- tag를 붙인 인스턴스 확인
$ aws ec2 describe-instances --filters Name=tag-key,Values=backup- 필터를 통해 조건 지정
$ aws ec2 describe-instances --filters Name=tag-key,Values=backup \ --query 'Reservation[*].Instances[*].[InstanceId,to_string(Tags[?Key=='backup'].Value),to_string(Tags[? Key=='Name'].Value)]'- 필터를 통해 조건 지정 (텍스트 출력)
$ aws ec2 describe-instances --filters Name=tag-key,Values=backup \ --query 'Reservation[*].Instances[*].[InstanceId,to_string(Tags[?Key=='backup'].Value),to_string(Tags[? Key=='Name'].Value)]' --output text- 괄호 제거 및 åwk를 이용한 내용 출력
$ aws ec2 describe-instances --filters Name=tag-key,Values=backup \ --query 'Reservation[*].Instances[*].[InstanceId,to_string(Tags[?Key=='backup'].Value),to_string(Tags[? Key=='Name'].Value)]' | tr -d "[" | tr -d "]" | awk '{print $1","$2","$3}'* AMI 생성 스크립트 예제
#!/bin/sh instances=$(aws ec2 describe-instances --filters Name=tag-key,Values=backup \ --query 'Reservation[*].Instances[*].[InstanceId,to_string(Tags[?Key=='backup'].Value),to_string(Tags[?Key=='Name'].Value)]' | tr -d "[" | tr -d "]" | awk '{print $1","$2","$3}') for instance in $instances do parts=$(echo $instance | sed -e "s/,/ /g") columns=($parts) instance_id=${columns[0]} name=${columns[2]} aws ec2 create-image --instance-id $instance_id --no-reboot \ --name ${name}_`date +"%Y%m%d%H%M%S"` done- 할당된 Elastic IP 리스트 확인
$ aws ec2 describe-instances --query 'Reservations[*].Instances[?PublicIpAddress!=null].[PublicIpAddress]' -- output text아래와 같은 방식으로도 가능
aws ec2 describe-instances --query 'Reservations[*].Instances[*].PublicIpAddress' --output text- AWS Instance 리스트 확인
$ aws ec2 describe-instances- query 필터를 이용하여 확인 가능
$ aws ec2 describe-instances --query 'Reservations[0]' -> 할당된 1대 확인 $ aws ec2 describe-instances --query 'Reservations[0].[OwnerId, ReservationId, Instances[0].PublicIpAddress]' [ "622295120373", "r-0f0da6c1f98109a10", "XX.XXX.XXX.XX" ]- AWS Instance Tags 정보 확인
$ aws ec2 describe-instances --query 'Reservations[*].Instances[*].Tags[0].Value' --output text | awk '{print $1}' | sortaws-cli.pdf
Comments