인스턴스 목록 가져오기
aws ec2 describe-instances --query "Reservations[].Instances[].InstanceId"
Shell
복사
인스턴스 타입 가져오기
aws ec2 describe-instances --filter Name=tag:Name,Values=<Instance_Name> --query "Reservations[].Instances[].InstanceType"
Shell
복사
인스턴스 퍼블릭 IP 가져오기
aws ec2 describe-instances --filter Name=tag:Name,Values=<Instance_Name> --query "Reservations[].Instances[].PublicIpAddress"
Shell
복사
인스턴스 ID 가져오기
aws ec2 describe-instances --filters "Name=tag:Name,Values=<Instance_Name>" --query "Reservations[0].Instances[0].InstanceId" --output text
Shell
복사
인스턴스 AMI 가져오기
aws ec2 describe-instances --instance-ids "$INSTANCE_ID" --query "Reservations[0].Instances[0].ImageId" --output text
Shell
복사
실행 중인 EC2 인스턴스ID만 가져오기
aws ec2 describe-instances --filters "Name=instance-state-name,Values=running" --query 'Reservations[].Instances[].InstanceId'
Shell
복사
특정 태그를 가진 인스턴스 가져오기
aws ec2 describe-instances --filters "Name=tag:Environment,Values=Dev"
Shell
복사
인스턴스 보안그룹 이름 가져오기
aws ec2 describe-instances --instance-ids "$INSTANCE_ID" --query "Reservations[0].Instances[0].SecurityGroups[0].GroupName" --output text
Shell
복사
인스턴스 보안그룹 ID 가져오기
aws ec2 describe-instances --instance-ids "$INSTANCE_ID" --query "Reservations[0].Instances[0].SecurityGroups[0].GroupId" --output text
Shell
복사
인스턴스 시작하기
aws ec2 start-instances --instance-ids <InstanceID>
Shell
복사
인스턴스 멈추기
aws ec2 start-instances --instance-ids <InstanceID>
Shell
복사
특정 인스턴스 지우기
aws ec2 terminate-instances --instance-ids $(aws ec2 describe-instances --filters Name=tag:Project,Values=<Instance_Name> --query Reservations[].Instances[].InstanceId --output text)
Shell
복사
특정 인스턴스 빼고 모두 지우기
aws ec2 terminate-instances --instance-ids $(aws ec2 describe-instances --filters "Name=instance-state-name,Values=pending,running,stopped,stopping" --query "Reservations[].Instances[?InstanceId!='i-09ccc210359f74521'].[InstanceId]" --output text | tr '\n' ' ') --region ap-northeast-2
Shell
복사
INSTANCE_IDS=$(aws ec2 describe-instances --filters "Name=instance-state-name,Values=running,stopped" --query 'Reservations[*].Instances[?not_null(Tags[?Key==`Name` && Value!=`<Instance_Name>`])].[InstanceId]' --output text)
[ -n "$INSTANCE_IDS" ] && for ID in $INSTANCE_IDS; do aws ec2 modify-instance-attribute --instance-id $ID --no-disable-api-termination; done
[ -n "$INSTANCE_IDS" ] && echo "$INSTANCE_IDS" | xargs -n 1 aws ec2 terminate-instances --instance-ids && echo "$INSTANCE_IDS" | xargs -n 1 aws ec2 wait instance-terminated --instance-ids
Shell
복사
최대 네트워크 인터페이스를 검색
aws ec2 describe-instance-types \
--filters "Name=instance-type,Values=c5.*" \
--query "InstanceTypes[].{ \
Type: InstanceType, \
MaxENI: NetworkInfo.MaximumNetworkInterfaces, \
IPv4addr: NetworkInfo.Ipv4AddressesPerInterface}" \
--output table
Shell
복사

