Amazon EC2 리소스 찾기

Amazon EC2 리소스 찾기

Amazon EC2 콘솔을 사용해 일부 유형의 리소스 목록을 얻을 수 있어요. 각 유형의 리소스 목록은 해당 명령이나 API 작업을 사용해 얻을 수 있어요. 리소스가 많으면 특정 기준과 일치하는 리소스만 포함하거나 제외하도록 결과를 필터링할 수 있어요.

출처: 문서

본문

콘솔을 사용해 리소스 나열 및 필터링

콘솔을 사용해 리소스 나열하기

가장 일반적인 Amazon EC2 리소스 유형은 콘솔을 사용해 볼 수 있어요. 추가 리소스를 보려면 명령줄 인터페이스나 API 작업을 사용하세요.

콘솔로 EC2 리소스 나열하기
  1. Amazon EC2 콘솔(https://console.aws.amazon.com/ec2/)을 엽니다.
  2. Amazon EC2 리소스는 AWS 리전별로 다릅니다. 탐색 모음에서 Regions 선택기의 리전을 선택합니다.
  3. 탐색 창에서 리소스 유형에 해당하는 옵션을 선택합니다. 예를 들어 모든 인스턴스를 나열하려면 Instances를 선택합니다.

콘솔을 사용해 리소스 필터링하기

리소스 목록 필터링하기
  1. 탐색 창에서 리소스 유형(예: Instances)을 선택합니다.
  2. 검색 필드를 선택합니다.
  3. 목록에서 필터를 선택합니다.
  4. 연산자를 선택합니다(예: = (Equals)). 일부 속성에는 선택할 수 있는 연산자가 더 있습니다. 모든 화면이 연산자 선택을 지원하지는 않습니다.
  5. 필터 값을 선택합니다.
  6. 선택한 필터를 편집하려면 필터 토큰(파란색 박스)을 선택하고 필요한 편집을 한 다음 Apply를 선택합니다. 모든 화면이 선택한 필터 편집을 지원하지는 않습니다.
  7. 완료되면 필터를 제거합니다.

지원되는 필터

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

  • API 필터링(API filtering) 은 서버 쪽에서 발생합니다. 필터링이 API 호출에 적용되어 서버가 반환하는 리소스 수를 줄입니다. 대규모 리소스 집합에 걸친 빠른 필터링을 허용하고 서버와 브라우저 사이의 데이터 전송 시간과 비용을 줄일 수 있습니다. API 필터링은 =(같음)과 :(포함) 연산자를 지원하며 항상 대소문자를 구분합니다.
  • 클라이언트 필터링(Client filtering) 은 클라이언트 쪽에서 발생합니다. 브라우저에 이미 있는 데이터(즉, API가 이미 반환한 데이터)를 필터링할 수 있습니다. 클라이언트 필터링은 API 필터와 함께 사용되어 브라우저에서 더 작은 데이터 집합으로 필터링할 때 잘 작동합니다. API 필터링의 =(같음)과 :(포함) 연산자 외에도 클라이언트 필터링은 >=(크거나 같음) 같은 범위 연산자와 !=(같지 않음) 같은 부정(역) 연산자를 지원합니다.

Amazon EC2 콘솔은 다음 유형의 검색을 지원합니다.

키워드 검색

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

참고 — 모든 키워드 검색은 client filtering을 사용합니다.

키워드로 검색하려면 찾고 있는 것을 검색 필드에 입력하거나 붙여넣은 다음 Enter를 선택합니다. 예를 들어 123을 검색하면 IP 주소, 인스턴스 ID, VPC ID, AMI ID 같은 속성 또는 Name 같은 태그 중 어느 곳이든 123이 있는 모든 인스턴스와 일치합니다. 자유 텍스트 검색이 예기치 않은 일치 항목을 반환하면 추가 필터를 적용하세요.

속성 검색

속성 검색을 통해 모든 리소스에서 특정 속성을 검색할 수 있습니다.

참고 — 속성 검색은 선택한 속성에 따라 API filtering 또는 client filtering 중 하나를 사용합니다. 속성 검색을 수행할 때 속성은 그에 따라 그룹화됩니다.

예를 들어 모든 인스턴스에서 Instance state 속성을 검색해 stopped 상태인 인스턴스만 반환할 수 있습니다. 이렇게 하려면:

  • Instances 화면의 검색 필드에 Instance state를 입력하기 시작합니다. 문자를 입력하면 Instance state에 대한 두 가지 유형의 필터가 나타납니다: API filters와 Client filters.
  • 서버 쪽에서 검색하려면 API filters 아래에서 Instance state를 선택합니다. 클라이언트 쪽에서 검색하려면 Client filters 아래에서 Instance state (client) 를 선택합니다. 선택한 속성에 대한 가능한 연산자 목록이 나타납니다.
  • =(Equals) 연산자를 선택합니다. 선택한 속성과 연산자에 대한 가능한 값 목록이 나타납니다.
  • 목록에서 stopped를 선택합니다.

태그 검색

태그 검색을 사용하면 태그 키나 태그 값으로 현재 표시된 테이블의 리소스를 필터링할 수 있습니다.

태그 검색은 Preferences 창의 설정에 따라 API filtering 또는 client filtering 중 하나를 사용합니다.

태그에 대한 API 필터링 확인하기
  • Preferences 창을 엽니다.
  • Use regular expression matching 확인란을 선택 해제합니다. 이 확인란이 선택되면 클라이언트 필터링이 수행됩니다.
  • Use case sensitive matching 확인란을 선택합니다. 이 확인란이 선택 해제되면 클라이언트 필터링이 수행됩니다.
  • Confirm을 선택합니다.

태그로 검색할 때 다음 값을 사용할 수 있습니다.

  • (empty) – 지정된 태그 키를 가진 모든 리소스를 찾지만 태그 값이 없어야 합니다.
  • All values – 지정된 태그 키와 모든 태그 값을 가진 모든 리소스를 찾습니다.
  • Not tagged – 지정된 태그 키를 갖지 않는 모든 리소스를 찾습니다.
  • 표시된 값 – 지정된 태그 키와 지정된 태그 값을 가진 모든 리소스를 찾습니다.

다음 기법을 사용해 검색을 향상하거나 정제할 수 있습니다.

역 검색(Inverse search)

역 검색을 사용하면 지정된 값과 일치하지 않는 리소스를 찾을 수 있습니다. Instances와 AMIs 화면에서 역 검색은 !=(같지 않음) 또는 !:(포함하지 않음) 연산자를 선택한 다음 값을 선택해 수행됩니다. 다른 화면에서는 검색 키워드 앞에 느낌표(!) 문자를 붙여 역 검색을 수행합니다.

참고 — 역 검색은 client 필터의 키워드 검색과 속성 검색에서만 지원됩니다. API 필터의 속성 검색에서는 지원되지 않습니다.

예를 들어 모든 인스턴스에서 Instance state 속성을 검색해 terminated 상태인 인스턴스를 모두 제외할 수 있습니다. 이렇게 하려면:

  • Instances 화면의 검색 필드에 Instance state를 입력하기 시작합니다.
  • Client filters 아래에서 Instance state (client) 를 선택합니다. 역 검색은 client 필터에서만 지원됩니다. 가능한 연산자 목록이 나타납니다.
  • !=(Does not equal)를 선택한 다음 terminated를 선택합니다.

인스턴스 상태 속성으로 인스턴스를 필터링하려면 Instance state 열의 검색 아이콘( )을 사용할 수도 있습니다. 더하기 기호(+)가 있는 검색 아이콘은 해당 속성과 일치하는 모든 인스턴스를 표시합니다. 빼기 기호(-)가 있는 검색 아이콘은 해당 속성과 일치하는 모든 인스턴스를 제외 합니다.

역 검색의 또 다른 예시: launch-wizard-1이라는 이름의 보안 그룹이 할당되지 않은 모든 인스턴스를 나열하려면, Client filters 아래에서 Security group name 속성으로 검색하고 !=를 선택한 다음 검색 창에 launch-wizard-1을 입력합니다.

부분 검색(Partial search)

부분 검색을 사용하면 부분 문자열 값을 검색할 수 있습니다. 부분 검색을 수행하려면 찾으려는 키워드의 일부만 입력합니다. Instances와 AMIs 화면에서 부분 검색은 :(Contains) 연산자로만 수행할 수 있습니다. 다른 화면에서는 클라이언트 필터 속성을 선택하고 즉시 찾으려는 키워드의 일부만 입력할 수 있습니다. 예를 들어 Instance type 화면에서 모든 t2.micro, t2.small, t2.medium 인스턴스를 검색하려면 Instance Type 속성으로 검색하고 키워드에 t2를 입력합니다.

정규식 검색(Regular expression search)

정규식 검색을 사용하려면 Preferences 창에서 Use regular expression matching 확인란을 선택해야 합니다.

정규식은 필드의 값을 특정 패턴과 일치시킬 때 유용합니다. 예를 들어 s로 시작하는 값을 검색하려면 ^s를 검색합니다. xyz로 끝나는 값을 검색하려면 xyz$를 검색합니다. 또는 숫자로 시작하고 하나 이상의 문자로 이어지는 값을 검색하려면 [0-9]+.*를 검색합니다.

참고 — 정규식 검색은 client 필터의 키워드 검색과 속성 검색에서만 지원됩니다. API 필터의 속성 검색에서는 지원되지 않습니다.

대소문자 구분 검색(Case-sensitive search)

대소문자 구분 검색을 사용하려면 Preferences 창에서 Use case sensitive matching 확인란을 선택해야 합니다. 대소문자 구분 기본 설정은 클라이언트 및 태그 필터에만 적용됩니다.

참고 — API 필터는 항상 대소문자를 구분합니다.

와일드카드 검색(Wildcard search)

* 와일드카드를 사용해 0개 이상의 문자를 일치시킵니다. ? 와일드카드를 사용해 0개 또는 1개의 문자를 일치시킵니다. 예를 들어 prod, prods, production 값이 있는 데이터 집합에서 prod* 검색은 모든 값을 일치시키는 반면 prod?는 prod와 prods만 일치시킵니다. 리터럴 값을 사용하려면 백슬래시(\)로 이스케이프합니다. 예를 들어 "prod\\*"는 prod*와 일치합니다.

참고 — 와일드카드 검색은 API 필터의 속성 및 태그 검색에서만 지원됩니다. 키워드 검색과 client 필터의 속성 및 태그 검색에서는 지원되지 않습니다.

검색 결합(Combining searches)

일반적으로 같은 속성의 여러 필터는 자동으로 OR로 결합됩니다. 예를 들어 Instance State : Running과 Instance State : Stopped를 검색하면 실행 중이거나 중지된 모든 인스턴스가 반환됩니다. AND로 검색을 결합하려면 다른 속성에 걸쳐 검색합니다. 예를 들어 Instance State : Running과 Instance Type : c4.large를 검색하면 c4.large 유형 이고 실행 상태인 인스턴스만 반환됩니다.

콘솔을 사용해 필터 집합 저장하기

저장된 필터 집합(saved filter set) 은 Amazon EC2 리소스를 효율적으로 보기 위해 만들고 재사용할 수 있는 사용자 지정 필터 그룹입니다. 이 기능은 워크플로를 간소화해 특정 리소스 보기에 빠르게 접근할 수 있게 해 줍니다.

저장된 필터 집합은 Amazon EC2 콘솔에서만 지원되며 현재 Volumes 페이지에서만 사용할 수 있습니다.

주요 기능

  • 사용자 지정: 필요에 맞는 필터 집합을 만들 수 있습니다. 예를 들어 지정된 날짜 이후에 생성된 gp3 볼륨만 표시하는 필터 집합을 만들 수 있습니다.
  • 기본 필터: 페이지에 대한 기본 필터 집합을 설정하면 페이지로 이동할 때 기본 필터가 자동으로 적용됩니다. 기본이 설정되지 않으면 필터가 적용되지 않습니다.
  • 쉬운 적용: 저장된 필터 집합을 선택해 즉시 적용할 수 있습니다. 그러면 Amazon EC2가 관련 리소스를 표시하고 활성 필터는 파란색 토큰으로 표시됩니다.
  • 유연성: 필요에 따라 필터 집합을 만들고, 수정하고, 삭제할 수 있습니다.

필터 집합 만들기

  1. Amazon EC2 콘솔(https://console.aws.amazon.com/ec2/)을 엽니다.
  2. 탐색 창에서 Volumes를 선택합니다.
  3. 검색 필드에서 필터 집합에 대한 필터를 선택합니다.
  4. Clear filters 버튼 옆의 화살표를 선택하고 Save new filter set을 선택합니다.
  5. Save filter set 창에서 다음을 수행합니다.
    • Filter set name에 필터 집합 이름을 입력합니다.
    • (선택 사항) Filter set description에 필터 집합 설명을 입력합니다.
    • (선택 사항) 필터 집합을 기본 필터로 설정하려면 Set as default 확인란을 선택합니다.
  6. Save를 선택합니다.

참고 — 기본 필터는 콘솔 페이지를 열 때마다 자동으로 적용됩니다.

필터 집합 수정하기

  1. Saved filter sets 목록에서 수정할 필터를 선택합니다.
  2. 필터를 추가하려면 검색 필드에서 필터 집합에 추가할 필터를 선택합니다. 집합의 필터를 삭제하려면 필터 토큰의 X를 선택합니다.
  3. Clear filters 버튼 옆의 화살표를 선택하고 Modify filter set을 선택합니다.
  4. Modify filter set 창에서 다음을 수행합니다.
    • (선택 사항) 필터 집합을 기본 필터로 설정하려면 Set as default 확인란을 선택합니다.
  5. Modify를 선택합니다.

필터 집합 삭제하기

  1. Saved filter sets 목록에서 삭제할 필터를 선택합니다.
  2. Clear filters 버튼 옆의 화살표를 선택하고 Delete filter set을 선택합니다.
  3. Delete filter set 창에서 필터를 검토해 삭제하려는 필터가 맞는지 확인한 다음 Delete를 선택합니다.

명령줄을 사용해 리소스 나열 및 필터링

각 리소스 유형에는 해당 유형의 리소스를 설명, 나열 또는 가져오는 데 사용하는 해당 API 작업이 있어요. 결과 리소스 목록은 길어질 수 있으므로 특정 기준과 일치하는 리소스만 포함하도록 결과를 필터링하는 것이 더 빠르고 유용할 수 있어요.

필터링 고려 사항
  • 단일 요청에서 최대 50개 필터와 최대 200개의 총 필터 값을 지정할 수 있습니다.
  • 필터 문자열은 최대 255자까지 가능합니다.
  • 필터 값에 와일드카드를 사용할 수 있습니다. 별표(*)는 0개 이상의 문자를, 물음표(?)는 0개 또는 1개의 문자를 일치시킵니다.
  • 필터 값은 대소문자를 구분합니다.
  • 검색에는 와일드카드 문자의 리터럴 값을 포함할 수 있습니다. 문자 앞에 백슬래시를 붙여 이스케이프하면 됩니다. 예를 들어 \\*amazon\\?\\\\ 값은 리터럴 문자열 *amazon?\을 검색합니다.
  • 필터 값으로 null을 지정할 수 없습니다. 대신 클라이언트 쪽 필터링을 사용합니다. 예를 들어 다음 명령은 --query 옵션을 사용해 키 페어 없이 실행된 인스턴스의 ID를 반환합니다.
aws ec2 describe-instances \
    --query 'Reservations[*].Instances[?!not_null(KeyName)].InstanceId' \
    --output text

AWS CLI

예시: 단일 필터 지정하기

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

--filters Name=instance-state-name,Values=running

실행 중인 인스턴스의 인스턴스 ID만 나열하려면 --query 옵션을 다음과 같이 추가합니다.

--query "Reservations[*].Instances[*].InstanceId"
예시: 여러 필터 또는 필터 값 지정하기

여러 필터나 여러 필터 값을 지정하면 리소스가 출력에 포함되려면 모든 필터와 일치해야 합니다.

다음 옵션을 사용해 유형이 m5.large 또는 m5d.large인 모든 인스턴스를 나열할 수 있습니다.

--filters Name=instance-type,Values=m5.large,m5d.large

다음 옵션을 사용해 유형이 t2.micro인 모든 중지된 인스턴스를 나열할 수 있습니다.

--filters Name=instance-state-name,Values=stopped Name=instance-type,Values=t2.micro
예시: 필터 값에 와일드카드 사용하기

describe-snapshots와 함께 다음 옵션을 사용해 설명이 "database"인 스냅샷만 반환할 수 있습니다.

--filters Name=description,Values=database

* 와일드카드는 0개 이상의 문자를 일치시킵니다. 다음 옵션을 사용해 설명에 database 단어가 포함된 스냅샷만 반환할 수 있습니다.

--filters Name=description,Values=*database*

? 와일드카드는 정확히 1개의 문자를 일치시킵니다. 다음 옵션을 사용해 설명이 "database"이거나 "database" 뒤에 한 문자가 있는 스냅샷만 반환할 수 있습니다.

--filters Name=description,Values=database?

다음 옵션을 사용해 설명이 "database" 뒤에 최대 4개의 문자가 있는 스냅샷만 반환할 수 있습니다. 이는 "database" 뒤에 5개 이상의 문자가 있는 설명을 제외합니다.

--filters Name=description,Values=database????
예시: 날짜 기준 필터링하기

AWS CLI로 JMESPath를 사용해 표현식으로 결과를 필터링할 수 있습니다. 예를 들어 다음 describe-snapshots 명령은 지정된 날짜 이전에 지정된 AWS 계정이 만든 모든 스냅샷의 ID를 표시합니다. 소유자를 지정하지 않으면 결과에 모든 공개 스냅샷이 포함됩니다.

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

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

aws ec2 describe-snapshots \
    --filters Name=owner-id,Values=123456789012 \
    --query "Snapshots[?(StartTime>='2024-01-01') && (StartTime<='2024-12-31')].[SnapshotId]" \
    --output text
예시: 태그 기준 필터링하기

태그에 따라 리소스 목록을 필터링하는 예시는 태그로 Amazon EC2 리소스 필터링하기 를 참고하세요.

PowerShell

예시: 단일 필터 지정하기

Get-EC2Instance를 사용해 Amazon EC2 인스턴스를 나열할 수 있습니다. 필터 없이 응답에는 모든 리소스에 대한 정보가 포함됩니다. 다음 파라미터를 사용해 출력에 실행 중인 인스턴스만 포함할 수 있습니다.

-Filter @{Name="instance-state-name"; Values="running"}

다음 예시는 실행 중인 인스턴스의 인스턴스 ID만 나열합니다.

(Get-EC2Instance -Filter @{Name="instance-state-name"; Values="stopped"}).Instances | Select InstanceId
예시: 여러 필터 또는 필터 값 지정하기
-Filter @{Name="instance-type"; Values="m5.large", "m5d.large"}
-Filter @{Name="instance-state-name"; Values="stopped"}, @{Name="instance-type"; Values="t2.micro"}

AWS Global View를 사용해 리전 간 리소스 보기

AWS Global View를 사용하면 단일 AWS 리전에서 또는 단일 콘솔에서 여러 리전에 걸쳐 리소스를 동시에 보고 검색할 수 있습니다. 자세한 내용은 AWS Global View를 사용해 리전 간 리소스 보기 를 참고하세요.

더 알아보기

  • 리소스용 리전 선택하기
  • AWS Global View