aws-cli
--query 매개 변수
수색…
비고
인스턴스를 읽기 쉬운 방법으로 나열
인스턴스에는 describe-instances
대한 호출에서 반환되는 많은 메타 데이터가 있지만 종종 기본 사항 만보고 싶을 때가 있습니다. 테이블 출력과 결합 된 JMESPath 조회를 사용하여 간결한 인스턴스 정보를 쉽게 읽을 수있는 f 식으로 표시 할 수 있습니다.
aws ec2 describe-instances --output table --query "Reservations[].Instances[].{Name: Tags[?Key == 'Name'].Value | [0], Id: InstanceId, State: State.Name, Type: InstanceType}"
-----------------------------------------------------
| DescribeInstances |
+-----------+---------------+----------+------------+
| Id | Name | State | Type |
+-----------+---------------+----------+------------+
| i-abc123 | None | stopped | m3.large |
| i-def456 | amazon linux | stopped | t2.micro |
| i-ghi789 | proxy | running | t2.micro |
+-----------+---------------+----------+------------+
이제 조각을 하나씩 나눌 수 있습니다. 먼저, --output table
있습니다. 그러면 응답의 색상 표가 만들어집니다. 이것은 일반적으로 작은 데이터 집합을 반환하는 명령 또는 데이터를 필터링 한 위치에서 가장 유용합니다.
이제 - --query
. 이것은 길어 보이지만 실제로는 아주 간단합니다. 첫 번째 부분은 Reservations[].Instances[]
입니다. 반환 된 모든 인스턴스의 병합 된 목록을 반환합니다.
쿼리의 다음 부분은 .{}
캡슐화됩니다. 이 작업은 목록의 각 항목에 대해 새 json 객체를 만드는 것입니다. 여기서 각 값은 소스 객체 (이 경우 인스턴스)에 적용 할 JMESPath 쿼리입니다. 이들 중 대부분은 매우 간단하지만 Name
은 다소 복잡합니다.
Name
을 얻기위한 전체 쿼리는 Tags[?Key == 'Name'].Value | [0]
. 첫 번째 부분 인 Tags[?Key == 'Name']
은 인스턴스의 태그에서 키가 Name
인 태그를 검색합니다. 후반부. .Value | [0]
은 각 태그의 값을 선택한 다음 목록의 첫 번째 항목을 가져옵니다 (이 경우에는 하나만 존재합니다).
그 테이블에서 원하는 것이 정확히 당신에게 달린 것입니다. 예를 들어 DNS 정보를 추가하려면 다음과 같이 새 키 DNS: PublicDnsName
쉽게 추가 할 수 있습니다 DNS: PublicDnsName
:
aws ec2 describe-instances --output table --query "Reservations[].Instances[].{Name: Tags[?Key == 'Name'].Value | [0], Id: InstanceId, State: State.Name, Type: InstanceType, DNS: PublicDnsName}"
--------------------------------------------------------------------------------------------------------
| DescribeInstances |
+--------------------------------------------------+-----------+---------------+----------+------------+
| DNS | Id | Name | State | Type |
+--------------------------------------------------+-----------+---------------+----------+------------+
| | i-abc123 | None | stopped | m3.large |
| | i-def456 | amazon linux | stopped | t2.micro |
| ec2-192-168-1-1.us-west-2.compute.amazonaws.com | i-ghi789 | proxy | running | t2.micro |
+--------------------------------------------------+-----------+---------------+----------+------------+