수색…


비고

--query 매개 변수는 종종 간과 되지만 믿을 수 없을 정도로 강력합니다. JMESPath 쿼리 언어를 사용하여 원하는 서비스 응답을 정확하게 필터링합니다.

인스턴스를 읽기 쉬운 방법으로 나열

인스턴스에는 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  |
+--------------------------------------------------+-----------+---------------+----------+------------+


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow