Search

EC2

인스턴스 목록 가져오기

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
복사