게으름을 위한 부지런한 게으름뱅리' 블로그

[AWS] aws cli ec2 describe-instances 명령어 모음 본문

IT/Cloud

[AWS] aws cli ec2 describe-instances 명령어 모음

LazismLee 2024. 6. 30. 11:22
반응형

`aws ec2 describe-instances` 명령어를 사용하여 조회할 수 있는 EC2 인스턴스의 정보는 다음과 같습니다:

1. 기본 정보
   - 인스턴스 ID
   - 이미지 ID (AMI)
   - 인스턴스 유형
   - 상태 (pending, running, stopped 등)
   - 퍼블릭 IP 주소 및 프라이빗 IP 주소
   - 서브넷 ID
   - VPC ID
   - 키 페어 이름 (SSH 접속에 사용)

2. 보안 및 네트워킹
   - 보안 그룹 정보 (그룹 ID, 그룹 이름)
   - 네트워크 인터페이스 정보 (네트워크 인터페이스 ID, IP 주소)

3. 스토리지
   - 사용 중인 EBS 볼륨 정보 (볼륨 ID, 사이즈, 타입 등)

4. 태그
   - 인스턴스에 연결된 태그들 (키-값 쌍)

5. 기타
   - 인스턴스 시작 시간
   - IAM 역할 (인스턴스 프로파일)
   - IAM 권한 및 역할

위 정보들은 `describe-instances` 명령어를 통해 제공되며, 필요에 따라 필터링하여 특정 인스턴스의 상세 정보를 조회할 수 있습니다.

EC2 인스턴스의 태그 정보 조회

aws ec2 describe-instances --filters "Name=tag:Name,Values=MyInstance"

명령어를 사용하여 특정 태그명을 포함하는 EC2 인스턴스들의 정보를 조회합니다. 예를 들어, 태그명이 "Name"이고 값이 "MyInstance"인 경우를 가정해 보겠습니다.

tag들을 한줄로 출력하기

aws ec2 describe-instances \
    --query "Reservations[*].Instances[*].Tags[*].[Key,Value]" \
    --output text
  • aws ec2 describe-instances: EC2 인스턴스의 상세 정보를 조회하는 AWS CLI 명령어입니다.
  • --query "Reservations[*].Instances[*].Tags[*].[Key,Value]": JMESPath 쿼리를 사용하여 JSON 출력에서 태그의 키와 값만을 추출합니다.
    • Reservations[*].Instances[*]: 모든 예약 (Reservations) 및 인스턴스 (Instances)를 선택합니다.
    • Tags[*].[Key,Value]: 각 태그에서 키(Key)와 값(Value)을 추출합니다.
  • --output text: 결과를 텍스트 형식으로 출력합니다.

이 명령어를 실행하면 각 EC2 인스턴스의 태그 정보가 키-값 쌍으로 한 줄씩 출력됩니다.

태그 정보로 IP 주소 추출

JSON 출력에서 IP 주소를 추출하기 위해 필요한 정보를 선택합니다. 주로 "Reservations" -> "Instances" -> "PrivateIpAddress" 또는 "PublicIpAddress" 필드를 확인할 수 있습니다. 예를 들어, "PrivateIpAddress"를 출력하려면 다음과 같이 사용할 수 있습니다.

aws ec2 describe-instances \
    --filters "Name=tag:Name,Values=MyInstance" \
    --query "Reservations[*].Instances[*].PrivateIpAddress" \
    --output text

 

Public IP 주소를 원할 경우

aws ec2 describe-instances \
--filters "Name=tag:Name,Values=MyInstance" \ 
--query "Reservations[*].Instances[*].PublicIpAddress" \
--output text

instance의 사용중인 볼륨과 사이즈 알기

aws ec2 describe-instances \
    --instance-ids <instance-id> \
    --query "Reservations[*].Instances[*].BlockDeviceMappings[*].{VolumeId: Ebs.VolumeId, Size: Ebs.VolumeSize}" \
    --output json

 

  1. EC2 인스턴스의 상세 정보 조회: 먼저 describe-instances 명령어를 사용하여 EC2 인스턴스의 상세 정보를 조회합니다.
  2. 사용 중인 볼륨 정보 추출: EC2 인스턴스의 상세 정보에서 사용 중인 EBS 볼륨의 정보를 추출합니다.

tag값이 A인 instance의 사용중인 볼륨과 사이즈 알기

aws ec2 describe-instances \
    --filters "Name=tag:tag-key,Values=A" \
    --query "Reservations[*].Instances[*].BlockDeviceMappings[*].{VolumeId: Ebs.VolumeId, Size: Ebs.VolumeSize}" \
    --output json

여기서 tag-key는 실제로 태그의 키 이름을 나타내며, 실제 값이 필요합니다.

 

반응형
Comments