리소스 목록화 및 필터링 - Amazon Elastic Compute Cloud

리소스 목록화 및 필터링

Amazon EC2 콘솔을 사용하여 리소스의 유형 목록을 얻을 수 있습니다. 사용자는 해당 명령 또는 API 작업을 이용하여 리소스의 각 유형 목록을 획득할 수 있습니다. 리소스가 많은 경우 사용자는 결과를 필터링하여 특정 기준에 부합하는 리소스만을 포함시킬 수 있습니다.

콘솔을 이용하여 리소스 목록화 및 필터링

콘솔을 이용하여 리소스 목록화

사용자는 콘솔을 이용하여 자주 사용하는 Amazon EC2 리소스의 유형 목록을 확인할 수 있습니다. 추가 리소스를 확인하려면 명령줄 인터페이스 또는 API 작업을 사용합니다.

콘솔을 이용하여 EC2 리소스를 목록화하려면

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 리소스 유형에 해당하는 옵션을 선택합니다. 예를 들어, 인스턴스를 나열하려면 인스턴스(Instances)를 선택합니다.

  3. 이 페이지에는 선택한 리소스 유형의 모든 리소스가 표시됩니다.

콘솔을 이용하여 리소스 필터링

검색 기능은 이전 Amazon EC2 콘솔 간에 약간 다릅니다.

새 콘솔은 두 가지 유형의 필터링을 지원합니다.

  • API 필터링은 서버 측에서 발생합니다. 필터링은 API 호출에 적용되며 서버에서 반환되는 리소스 수를 줄입니다. 대규모 리소스 집합을 빠르게 필터링할 수 있으며 서버와 브라우저 간의 데이터 전송 시간과 비용을 줄일 수 있습니다.

  • 클라이언트 필터링은 클라이언트 측에서 발생합니다. 브라우저에서 이미 사용 가능한 데이터(즉, API에서 이미 반환된 데이터)를 필터링할 수 있습니다. 클라이언트 필터링은 API 필터와 함께 작동하여 브라우저에서 더 작은 데이터 세트로 필터링합니다.

새 Amazon EC2 콘솔에서는 다음과 같은 유형의 검색을 지원합니다.

키워드로 검색

키워드로 검색은 검색할 속성을 지정하지 않고도 리소스의 모든 속성에서 값을 검색할 수 있는 자유 텍스트 검색입니다.

참고

모든 키워드 검색은 클라이언트 필터링을 사용합니다.

키워드로 검색하려면 검색하려는 키워드를 검색 필드에 입력 또는 붙여넣기한 다음 Enter를 누릅니다. 예를 들어 123을 검색하면 IP 주소, 인스턴스 ID, VPC ID 또는 AMI ID와 같은 속성에 123이 있는 모든 인스턴스가 일치합니다. 자유 텍스트 검색에서 예기치 않은 일치 항목이 반환되는 경우 추가 필터를 적용하세요.

속성으로 검색

속성으로 검색하면 모든 리소스에서 특정 속성을 검색할 수 있습니다.

참고

속성 검색은 선택한 속성에 따라 API 필터링 또는 클라이언트 필터링을 사용합니다. 속성 검색을 수행할 때 그에 따라 속성이 그룹화됩니다.

예를 들어, 모든 인스턴스에 대한 인스턴스 상태 속성을 검색하여 stopped 상태에 있는 인스턴스만 반환할 수 있습니다. 방법:

  1. 인스턴스 화면의 검색 필드에서 Instance State 입력을 시작합니다. 문자를 입력하면 일치하는 속성 목록이 나타납니다.

  2. 목록에서 인스턴스 상태를 선택합니다. 선택한 속성에 사용할 수 있는 값 목록이 나타납니다.

  3. 목록에서 중지됨(Stopped)을 선택합니다.

다음 기법을 사용하여 검색을 향상시키거나 구체화할 수 있습니다.

역검색

역검색을 통해, 지정된 값과 일치하지 않는 리소스를 검색할 수 있습니다. 역검색은 검색 키워드 앞에 느낌표(!)를 붙여 수행됩니다. 예를 들어, launch-wizard-1이라는 보안 그룹이 할당되지 않은 모든 인스턴스를 나열하려면 보안 그룹 이름 속성으로 검색하고 키워드로 !launch-wizard-1을 입력합니다.

참고

역검색은 클라이언트 필터에 대한 키워드 검색 및 속성 검색에서만 지원됩니다. API 필터에 대한 속성 검색에서는 지원되지 않습니다.

부분 검색

부분 검색을 사용하면 부분 문자열 값을 검색할 수 있습니다. 부분 검색을 수행하려면 검색할 키워드의 일부만 입력합니다. 예를 들어, 모든 t2.micro, t2.smallt2.medium 인스턴스를 검색하려면 인스턴스 유형 속성으로 검색하고 키워드로 t2를 입력합니다.

참고

부분 검색은 클라이언트 필터에 대한 키워드 검색 및 속성 검색에서만 지원됩니다. API 필터에 대한 속성 검색에서는 지원되지 않습니다.

정규식 검색

정규식 검색을 사용하려면 기본 설정에서 정규식 일치 사용(Use regular expression matching)을 활성화해야 합니다.

필드의 값이 특정 패턴에 맞아야 하는 경우 정규식을 유용하게 활용할 수 있습니다. 예를 들어, s로 시작하는 값을 검색하려면 ^s를 검색합니다. xyz로 끝나는 값을 검색하려면 xyz$를 검색합니다. 또는 뒤에 하나 이상의 문자가 오는 숫자로 시작하는 값을 검색하려면 [0-9]+.*를 검색합니다. 정규식 검색은 대소문자를 구별하지 않습니다.

참고

정규식 검색은 클라이언트 필터에 대한 키워드 검색 및 속성 검색에서만 지원됩니다. API 필터에 대한 속성 검색에서는 지원되지 않습니다.

와일드카드 검색

0개 이상의 문자와 일치시키려면 * 와일드카드를 사용합니다. 0개 또는 1개 이상의 문자와 일치시키려면 ? 와일드카드를 사용합니다. 예를 들어, prod, prods 및 production 값을 가진 데이터 세트가 있는 경우, "prod*"는 모든 값과 일치하지만 "prod?"는 prodprods와만 일치합니다. 리터럴 값을 사용하려면 백슬래시(\)로 이스케이프합니다. 예를 들어, "prod\*"는 prod*와 일치합니다.

참고

와일드카드 검색은 API 필터에 대한 속성 검색에서만 지원됩니다. 클라이언트 필터에 대한 키워드 검색 및 속성 검색에서는 지원되지 않습니다.

검색 결합

일반적으로 동일한 속성을 가진 여러 필터는 OR을 사용하여 자동으로 조인됩니다. 예를 들어, Instance State : RunningInstance State : Stopped를 검색하면 실행 중이거나 중지된 모든 인스턴스가 반환됩니다. AND를 사용하여 검색을 조인하려면 여러 다른 속성을 검색합니다. 예를 들어, Instance State : RunningInstance Type : c4.large를 검색하면 c4.large 유형이면서 중지된 상태의 인스턴스만 반환됩니다.

이전 Amazon EC2 콘솔에서는 다음과 같은 유형의 검색을 지원합니다.

키워드로 검색

키워드로 검색은 리소스의 모든 속성에서 값을 검색할 수 있는 자유 텍스트 검색입니다. 키워드로 검색하려면 검색하려는 키워드를 검색 필드에 입력 또는 붙여넣기한 다음 Enter를 누릅니다. 예를 들어 123을 검색하면 IP 주소, 인스턴스 ID, VPC ID 또는 AMI ID와 같은 속성에 123이 있는 모든 인스턴스가 일치합니다. 자유 텍스트 검색에서 예기치 않은 일치 항목이 반환되는 경우 추가 필터를 적용하세요.

속성으로 검색

속성으로 검색하면 모든 리소스에서 특정 속성을 검색할 수 있습니다. 예를 들어, 모든 인스턴스에 대한 상태 속성을 검색하여 stopped 상태에 있는 인스턴스만 반환할 수 있습니다. 방법:

  1. 인스턴스 화면의 검색 필드에서 Instance State 입력을 시작합니다. 문자를 입력하면 일치하는 속성 목록이 나타납니다.

  2. 목록에서 인스턴스 상태를 선택합니다. 선택한 속성에 사용할 수 있는 값 목록이 나타납니다.

  3. 목록에서 중지됨(Stopped)을 선택합니다.

다음 기법을 사용하여 검색을 향상시키거나 구체화할 수 있습니다.

역검색

역검색을 통해, 지정된 값과 일치하지 않는 리소스를 검색할 수 있습니다. 역검색은 검색 키워드 앞에 느낌표(!)를 붙여 수행됩니다. 예를 들어, 종료되지 않은 모든 인스턴스를 나열하려면 인스턴스 상태 속성으로 검색하고 키워드로 !Terminated를 입력합니다.

부분 검색

부분 검색을 사용하면 부분 문자열 값을 검색할 수 있습니다. 부분 검색을 수행하려면 검색할 키워드의 일부만 입력합니다. 예를 들어, 모든 t2.micro, t2.smallt2.medium 인스턴스를 검색하려면 인스턴스 유형 속성으로 검색하고 키워드로 t2를 입력합니다.

정규식 검색

필드의 값이 특정 패턴에 맞아야 하는 경우 정규식을 유용하게 활용할 수 있습니다. 예를 들어, s로 시작하는 속성 값이 있는 모든 인스턴스를 검색하려면 ^s를 검색합니다. 또는 xyz로 끝나는 속성 값이 있는 모든 인스턴스를 검색하려면 xyz$를 검색합니다. 정규식 검색은 대소문자를 구별하지 않습니다.

검색 결합

일반적으로 동일한 속성을 가진 여러 필터는 OR을 사용하여 자동으로 조인됩니다. 예를 들어, Instance State : RunningInstance State : Stopped를 검색하면 실행 중이거나 중지된 모든 인스턴스가 반환됩니다. AND를 사용하여 검색을 조인하려면 여러 다른 속성을 검색합니다. 예를 들어, Instance State : RunningInstance Type : c4.large를 검색하면 c4.large 유형이면서 중지된 상태의 인스턴스만 반환됩니다.

리소스 목록을 필터링하려면

  1. 탐색 창에서 리소스 유형(예: 인스턴스])을 선택합니다.

  2. 검색 필드를 선택합니다.

  3. 목록에서 필터를 선택합니다.

  4. 필터 값을 지정합니다.

  5. 작업을 마쳤으면 필터를 제거합니다.

CLI 및 API를 이용하여 목록화 및 필터링

각 리소스 유형에는 사용자가 해당 유형의 리소스를 목록화하기 위해 사용하는 해당 CLI 명령 및 API 작업이 있습니다. 결과 리소스 목록은 길이가 길 수 있기 때문에 결과를 필터링하여 특정 기준에 부합하는 리소스만 포함시키는 것이 더 빠르고 유용할 수 있습니다.

필터링 고려 사항

  • 단일 요청에서 여러 필터와 여러 필터 값을 지정할 수 있습니다.

  • 또한 필터 값과 함께 와일드카드를 사용할 수 있습니다. 별표(*)는 0개 이상의 문자에 해당하고 물음표(?)는 0개 또는 1개의 문자에 해당합니다.

  • 필터 값은 대소문자를 구분합니다.

  • 검색에는 와이드카드 문자의 리터럴 값이 포함될 수 있고 문자 앞에 백슬래시를 사용하면 벗어날 수 있습니다. 예를 들어, \*amazon\?\\ 값은 리터럴 문자열 *amazon?\을 검색합니다.

지원되는 필터

각 Amazon EC2 리소스에 대해 지원되는 필터를 보려면 다음 설명서를 참조하십시오.

예: 단일 필터 지정

describe-instances를 사용하여 Amazon EC2 인스턴스를 나열할 수 있습니다. 필터가 없으면 응답에는 모든 리소스에 대한 정보가 포함됩니다. 다음 명령을 사용하여 출력에 실행 중인 인스턴스만 포함할 수 있습니다.

aws ec2 describe-instances --filters Name=instance-state-name,Values=running

실행 중인 인스턴스의 인스턴스 ID만 나열하려면 다음과 같이 --query 파라미터를 추가합니다.

aws ec2 describe-instances --filters Name=instance-state-name,Values=running --query "Reservations[*].Instances[*].InstanceId" --output text

다음은 예제 출력입니다.

i-0ef1f57f78d4775a4 i-0626d4edd54f1286d i-04a636d18e83cfacb

예: 여러 필터 또는 필터 값 지정

여러 필터 또는 여러 필터 값을 지정하는 경우, 리소스는 결과에 포함할 모든 필터와 일치해야 합니다.

다음 명령을 사용하여 유형이 m5.large 또는 m5d.large인 모든 인스턴스를 나열할 수 있습니다.

aws ec2 describe-instances --filters Name=instance-type,Values=m5.large,m5d.large

다음 명령을 사용하여 유형이 t2.micro인 중지된 모든 인스턴스를 나열할 수 있습니다.

aws ec2 describe-instances --filters Name=instance-state-name,Values=stopped Name=instance-type,Values=t2.micro

예: 필터 값에 와일드카드 사용

describe-snapshots를 사용하여 EBS 스냅샷을 설명할 때 description 필터에 대한 필터 값으로 database를 지정하면 명령은 설명이 "database"인 스냅샷만 반환합니다.

aws ec2 describe-snapshots --filters Name=description,Values=database

* 와일드카드는 0개 이상의 문자와 일치합니다. *database*를 필터 값으로 지정하는 경우 명령은 설명에 database라는 단어가 포함된 스냅샷만 반환합니다.

aws ec2 describe-snapshots --filters Name=description,Values=*database*

? 와일드카드는 정확히 1개 문자와 일치합니다. database?를 필터 값으로 지정하는 경우 명령은 설명이 "database"이거나 "database" 뒤에 한 문자가 있는 스냅샷만 반환합니다.

aws ec2 describe-snapshots --filters Name=description,Values=database?

database????를 지정하면 명령은 설명에 “database” 뒤에 최대 4개 문자가 있는 스냅샷만 반환합니다. "database" 뒤에 5개 이상의 문자가 있는 설명은 제외됩니다.

aws ec2 describe-snapshots --filters Name=description,Values=database????

예: 날짜를 기준으로 필터링

AWS CLI를 사용하면 JMESPath를 통해 표현식을 사용하여 결과를 필터링할 수 있습니다. 예를 들어, 다음 describe-snapshots 명령은 지정된 날짜(2020-03-31로 표시) 이전에 AWS 계정에서 생성된 모든 스냅샷의 ID( 123456789012로 표시)를 표시합니다. 소유자를 지정하지 않으면 모든 퍼블릭 스냅샷이 결과에 포함됩니다.

aws ec2 describe-snapshots --filters Name=owner-id,Values=123456789012 --query "Snapshots[?(StartTime<=`2020-03-31`)].[SnapshotId]" --output text

다음 명령은 지정된 날짜 범위에 생성된 모든 스냅샷의 ID를 표시합니다.

aws ec2 describe-snapshots --filters Name=owner-id,Values=123456789012 --query "Snapshots[?(StartTime>=`2019-01-01`) && (StartTime<=`2019-12-31`)].[SnapshotId]" --output text

태그를 기준으로 필터링

태그에 따라 리소스 목록을 필터링하는 방법에 대한 예는 명령줄을 사용한 태그 작업 단원을 참조하십시오.