Amazon EC2 리소스 태깅 - Amazon Elastic Compute Cloud

Amazon EC2 리소스 태깅

고유 메타데이터를 태그의 형태로 각 리소스에 배정하면 인스턴스, 이미지 및 기타 Amazon EC2 리소스를 쉽게 관리할 수 있습니다. 태그를 사용하면 용도, 소유자 또는 환경을 기준으로 하는 등 AWS 리소스를 다양한 방식으로 분류할 수 있습니다. 이 기능은 동일 유형의 리소스가 많을 때 유용합니다. 지정한 태그에 따라 특정 리소스를 빠르게 식별할 수 있습니다. 이 주제에서는 태그를 설명하고 태그를 생성하는 방법을 보여 줍니다.

주의

태그 키 및 해당 값은 다양한 API 호출에 의해 반환됩니다. DescribeTags에 대한 액세스를 거부해도 다른 API가 반환한 태그에 대한 액세스는 자동으로 거부되지 않습니다. 민감한 데이터를 태그에 포함하지 않는 것이 가장 좋습니다.

태그 기본 사항

태그는 AWS 리소스에 할당하는 레이블입니다. 각 태그는 사용자가 정의하는 와 선택적 으로 구성됩니다.

태그를 사용하면 용도, 소유자 또는 환경을 기준으로 하는 등 AWS 리소스를 다양한 방식으로 분류할 수 있습니다. 예를 들어, 계정의 Amazon EC2 인스턴스에 대해 각 인스턴스의 소유자나 스택 수준을 추적하는 데 도움이 되는 태그 세트를 정의할 수 있습니다.

다음 다이어그램은 태그 지정 방식을 설명합니다. —이 예에서는 두 가지 태그, 즉 Owner라는 키가 있는 태그 하나와 Stack이라는 키가 있는 태그 하나를 각 인스턴스에 배정했습니다. 또한 각 태그에는 연결된 값이 있습니다.


					태그 예제

각 리소스 유형에 대한 요건을 충족하는 태그 키 세트를 고안하는 것이 좋습니다. 일관된 태그 키 세트를 사용하면 리소스를 보다 쉽게 관리할 수 있습니다. 추가하는 태그에 따라 리소스를 검색하고 필터링할 수 있습니다. 효과적인 리소스 태깅 전략을 구현하는 방법에 관한 자세한 내용은 태깅 모범 사례 AWS 백서를 참조하세요.

태그는 Amazon EC2에는 의미가 없으며 엄격하게 문자열로 해석됩니다. 또한 태그는 리소스에 자동으로 배정되지 않습니다. 태그 키와 값을 편집할 수 있으며 언제든지 리소스에서 태그를 제거할 수 있습니다. 태그의 값을 빈 문자열로 설정할 수 있지만 태그의 값을 Null로 설정할 수는 없습니다. 해당 리소스에 대해 키가 기존 태그와 동일한 태그를 추가하는 경우 새 값이 이전 값을 덮어씁니다. 리소스를 삭제하면 리소스 태그도 삭제됩니다.

참고

리소스를 삭제한 후에도 해당 태그가 콘솔, API 및 CLI 출력에 잠시 동안 표시될 수 있습니다. 이러한 태그는 리소스에서 서서히 연결이 해제되고 영구적으로 삭제됩니다.

리소스에 태그 지정

계정에 이미 존재하는 대부분의 Amazon EC2 리소스에 태그를 지정할 수 있습니다. 다음 에는 태깅을 지원하는 리소스가 나와 있습니다.

Amazon EC2 콘솔을 사용하는 경우, 관련 리소스 화면에서 태그 탭을 사용하여 리소스에 태그를 적용하거나 AWS Resource Groups 콘솔에서 태그 편집기를 사용할 수 있습니다. 일부 리소스 화면을 사용하면 리소스를 생성할 때 리소스에 대해 태그를 지정할 수 있습니다. 예를 들어 Name의 키가 있는 태그와 지정하는 값이 있습니다. 대부분의 경우, 콘솔은 리소스 생성 직후(리소스 생성 중이 아니라) 태그를 적용합니다. 콘솔은 Name 태그에 따라 리소스를 조직할 수도 있지만 이 태그는 Amazon EC2 서비스에 대한 의미가 없습니다.

Amazon EC2 API, AWS CLI 또는 AWS SDK를 사용하는 경우 CreateTags EC2 API 작업을 사용하여 기존 리소스에 태그를 적용할 수 있습니다. 또한 일부 리소스 생성 작업에서는 리소스 생성 시 리소스의 태그를 지정할 수 있습니다. 리소스 생성 도중 태그를 적용할 수 없는 경우, 리소스 생성 프로세스가 롤백됩니다. 이는 태그를 사용하여 리소스가 생성되거나 아예 리소스가 생성되지 않도록 하고 언제든 태그 지정되지 않은 리소스가 남지 않게 합니다. 생성 시 리소스에 태그를 지정하면 리소스 생성 후 사용자 지정 태그 지정 스크립트를 실행할 필요가 없습니다. 사용자가 생성 시 리소스 태그를 지정할 수 있도록 하는 방법에 대한 자세한 내용은 생성 시 리소스 태깅에 대한 권한 부여 섹션을 참조하세요.

다음 표는 태깅할 수 있는 Amazon EC2 리소스와 Amazon EC2 API, AWS CLI 또는 AWS SDK를 사용하여 생성 시 태깅할 수 있는 리소스를 설명합니다.

Amazon EC2 리소스 태그 지정 지원
리소스 태그 지원 생성 시 태그 지정 지원

AFI

AMI

번들 작업

아니요

아니요

Capacity Reservation

통신 사업자 게이트웨이

Client VPN 엔드포인트

Client VPN 경로

아니요

아니요

고객 게이트웨이

Dedicated Host

전용 호스트 예약

DHCP 옵션

EBS 스냅샷

EBS 볼륨

EC2 Fleet

외부 전용 인터넷 게이트웨이

탄력적 IP 주소

Elastic Graphics 액셀러레이터

아니요
인스턴스
인스턴스 이벤트 창

인스턴스 스토어 볼륨

해당 사항 없음

해당 사항 없음

인터넷 게이트웨이

IP 주소 풀(BYOIP)

키 페어

시작 템플릿

시작 템플릿 버전

아니요

아니요

로컬 게이트웨이

아니요

로컬 게이트웨이 라우팅 테이블

아니요

로컬 게이트웨이 가상 인터페이스

아니요

로컬 게이트웨이 가상 인터페이스 그룹

아니요

로컬 게이트웨이 라우팅 테이블 VPC 연결

로컬 게이트웨이 라우팅 테이블 가상 인터페이스 그룹 연결

아니요

NAT 게이트웨이

네트워크 ACL

네트워크 인터페이스

배치 그룹

접두사 목록

Reserved Instance

아니요

예약 인스턴스 목록

아니요

아니요
라우팅 테이블

스팟 플릿 요청

스팟 인스턴스 요청

보안 그룹
보안 그룹 규칙 아니요
서브넷
트래픽 미러 필터
트래픽 미러 세션
트래픽 미러 대상

Transit Gateway

Transit Gateway 멀티캐스트 도메인

Transit Gateway 라우팅 테이블

전송 게이트웨이 VPC 연결

가상 프라이빗 게이트웨이

VPC

VPC 엔드포인트

VPC 엔드포인트 서비스

VPC 엔드포인트 서비스 구성

VPC 흐름 로그

VPC 피어링 연결

VPN 연결

Amazon EC2 콘솔에서 Amazon EC2 인스턴스 시작 마법사를 사용하여 생성할 때 인스턴스, 볼륨, 탄력적 그래픽, 네트워크 인터페이스 및 스팟 인스턴스 요청에 태그를 지정할 수 있습니다. 볼륨 화면을 사용하여 생성 시 EBS 볼륨에 태그를 지정하거나 스냅샷 화면을 사용하여 EBS 스냅샷에 태그를 지정할 수 있습니다. 또는 리소스를 만들 때 리소스 생성 Amazon EC2 API(예: RunInstances)를 사용하여 태그를 적용하십시오.

생성 시 태그를 지원하는 Amazon EC2 API 작업에 IAM 정책의 태그 기반 리소스 수준 권한을 적용하여 생성 시 리소스에 태그를 지정할 수 있는 사용자와 그룹을 세밀하게 제어할 수 있습니다. 리소스를 생성하면 태그가 즉시 적용되기 때문에 생성 단계부터 리소스를 적절하게 보호할 수 있습니다. 따라서 태그를 기반으로 리소스 사용을 제어하는 리소스 권한이 즉시 발효됩니다.— 이에 따라 더욱 정확한 리소스 추적 및 보고가 가능합니다. 새 리소스에서 태그 지정 사용을 적용하고 리소스에서 어떤 태그 키와 값이 설정되는지 제어할 수 있습니다.

IAM 정책에서 CreateTagsDeleteTags Amazon EC2 API 작업에 리소스 수준 권한을 적용하여 기존 리소스에서 어떤 태그 키와 값이 설정되는지 제어할 수도 있습니다. 자세한 내용은 예: 태그 리소스 섹션을 참조하세요.

결제를 위한 리소스 태깅에 대한 자세한 내용은 AWS Billing 사용 설명서에서 비용 할당 태그 사용을 참조하세요.

태그 제한

태그에 적용되는 기본 제한은 다음과 같습니다.

  • 리소스당 최대 태그 수 – 50개

  • 각 리소스에 대해 각 태그 키는 고유하며 하나의 값만 가질 수 있습니다.

  • 최대 키 길이 - UTF-8 형식의 유니코드 문자 128자

  • 최대 값 길이 - UTF-8 형식의 유니코드 문자 256자

  • 허용되는 문자

    • EC2는 태그에 모든 문자를 사용할 수 있지만, 다른 AWS 서비스에는 제한이 적용되기도 합니다. 모든 AWS 서비스에서 허용되는 문자는 UTF-8로 표현할 수 있는 문자(a-z, A-Z), 숫자(0-9) 및 공백과 특수 문자(+ - = . _ : / @)입니다.

    • 인스턴스 메타데이터에서 인스턴스 태그를 활성화하면 인스턴스 태그 는 문자(a-z, A-Z), 숫자(0-9) 및 + - = . , _ : @ 문자만 사용할 수 있습니다. 인스턴스 태그 에는 공백 또는 /가 포함될 수 없으며, .(마침표 1개), ..(마침표 2개) 또는 _index만으로 구성될 수 없습니다. 자세한 내용은 인스턴스 메타데이터의 인스턴스 태그 작업 단원을 참조하십시오.

  • 태그 키와 값은 대/소문자를 구분합니다.

  • aws: 접두사는 AWS용으로 예약되어 있습니다. 태그에 이 접두사가 있는 태그 키가 있는 경우 태그의 키 또는 값을 편집하거나 삭제할 수 없습니다. aws: 접두사가 지정된 태그는 리소스당 태그 수 제한에 포함되지 않습니다.

태그에만 기초하여 리소스를 종료, 중지 또는 삭제할 수 없습니다. 리소스 식별자를 지정해야 합니다. 예를 들어 DeleteMe라는 태그 키로 태그를 지정한 스냅샷을 삭제하려면 해당 스냅샷의 리소스 식별자(예: DeleteSnapshots)를 지정하여 snap-1234567890abcdef0 작업을 사용해야 합니다.

퍼블릭 또는 공유 리소스에 태그를 지정할 경우 할당하는 태그는 사용자의 AWS 계정에만 사용할 수 있으며 다른 AWS 계정은 해당 태그에 액세스할 수 없습니다. 공유 리소스에 대한 태그 기반 액세스 제어의 경우 각 AWS 계정은 리소스에 대한 액세스를 제어하기 위해 자체 태그 세트를 할당해야 합니다.

모든 리소스에 태그를 지정할 수는 없습니다. 자세한 내용은 Amazon EC2 리소스 태그 지정 지원 섹션을 참조하세요.

태그 및 액세스 관리

AWS Identity and Access Management(IAM)를 사용하는 경우 AWS 계정에서 태그를 생성, 편집 또는 삭제할 수 있는 권한이 있는 사용자를 제어할 수 있습니다. 자세한 내용은 생성 시 리소스 태깅에 대한 권한 부여 섹션을 참조하세요.

리소스 태그를 사용하여 속성 기반 제어(ABAC)를 구현할 수도 있습니다. 리소스에 대한 태그를 기반으로 작업을 허용하는 IAM 정책을 생성할 수 있습니다. 자세한 내용은 리소스 태그를 사용하여 EC2 리소스에 대한 액세스 제어 섹션을 참조하세요.

결제를 위한 리소스 태깅

또한 태그를 사용하여 비용 구조를 반영하도록 AWS 청구서를 구성할 수 있습니다. 이렇게 하려면 가입하여 태그 키 값이 포함된 AWS 계정 청구서를 가져옵니다. 태그를 사용한 비용 할당 보고서 설정에 대한 자세한 내용은 AWS Billing 사용 설명서에서 월간 비용 할당 보고서를 참조하세요. 결합된 리소스의 비용을 확인하려면 태그 키 값을 동일한 리소스에 따라 결제 정보를 구성할 수 있습니다. 예를 들어, 특정 애플리케이션 이름으로 여러 리소스에 태그를 지정한 다음 결제 정보를 구성하여 여러 서비스에 걸친 해당 애플리케이션의 총 비용을 볼 수 있습니다. 자세한 내용은 AWS Billing 사용 설명서에서 비용 할당 태그 사용을 참조하세요.

참고

방금 보고서를 활성화한 경우, 24시간 후에 이번 달의 데이터를 볼 수 있습니다.

비용 할당 태그는 비용에 기여하는 리소스를 나타낼 수 있지만, 리소스를 삭제하거나 비활성화한다고 해서 비용이 항상 절감되는 것은 아닙니다. 예를 들어, 원본 데이터가 포함된 스냅샷을 삭제하더라도 다른 스냅샷에서 참조하는 스냅샷 데이터는 보존됩니다. 자세한 내용은 AWS Billing 사용 설명서에서 Amazon Elastic Block Store 볼륨 및 스냅샷을 참조하세요.

참고

태그된 탄력적 IP 주소는 비용 할당 보고서에 나타나지 않습니다.

콘솔을 사용하여 태그 작업

Amazon EC2 콘솔을 사용하여 개별 리소스의 태그를 표시하고 한 번에 한 리소스의 태그를 적용하거나 제거할 수 있습니다.

AWS Resource Groups 콘솔의 태그 편집기를 사용하여 모든 리전에 있는 모든 Amazon EC2 리소스의 태그를 표시할 수 있습니다. 리소스와 리소스 유형별로 태그를 볼 수 있으며, 지정된 태그와 연결되어 있는 리소스 유형을 볼 수 있습니다. 한 번에 여러 리소스 및 여러 리소스 유형의 태그를 적용하거나 제거할 수 있습니다. 태그 편집기는 태그를 생성하고 관리하는 중앙 통합 방식을 제공합니다. 자세한 내용을 알아보려면 AWS 리소스 태깅 사용 설명서를 참조하세요.

태그 표시

Amazon EC2 콘솔에 개별 리소스의 태그를 표시할 수 있습니다. 모든 리소스의 태그를 표시하려면AWS Resource Groups 콘솔의 태그 편집기를 사용하세요.

개별 리소스의 태그 표시

Amazon EC2 콘솔에서 리소스 관련 페이지를 선택하면 이러한 리소스의 목록이 표시됩니다. 예를 들어, 탐색 창에서 인스턴스를 선택하는 경우 콘솔에 Amazon EC2 인스턴스가 표시됩니다. 이러한 목록 중 하나(예: 인스턴스)에서 리소스를 선택하는 경우 해당 리소스에서 태그를 지원하면 관련 태그를 보고 관리할 수 있습니다. 대부분의 리소스 페이지에서 태그(Tags) 탭을 선택하여 태그를 볼 수 있습니다.

키가 동일한 태그의 값을 모두 표시하는 새 열을 리소스 목록에 추가할 수 있습니다. 이 열을 사용하여 태그를 기준으로 리소스 목록을 정렬하고 필터링할 수 있습니다.

New console
리소스에 새 열을 추가하여 태그를 표시하는 방법
  1. EC2 콘솔에서 화면의 오른쪽 상단 모서리에 있는 기본 설정 기어 모양 아이콘을 선택합니다.

  2. 기본 설정 대화 상자의 태그 열(왼쪽 아래)에서 태그 키를 하나 이상 선택한 다음 확인을 선택합니다.

Old console

리소스에 새 열을 추가하여 태그를 표시하는 방법에는 두 가지가 있습니다.

  • 태그 탭에서 열 표시를 선택합니다. 새 열이 콘솔에 추가됩니다.

  • 열 표시/숨기기 기어 모양 아이콘을 선택하고 열 표시/숨기기 대화 상자의 태그 키에서 태그 키를 선택합니다.

여러 리소스에 대한 태그 표시

AWS Resource Groups 콘솔에서 태그 편집기를 사용하여 여러 리소스에 태그를 표시할 수 있습니다. 자세한 내용을 알아보려면 AWS 리소스 태깅 사용 설명서를 참조하세요.

개별 리소스의 태그 추가 및 삭제

리소스 페이지에서 개별 리소스에 대한 태그를 직접 관리할 수 있습니다.

개별 리소스에 태그를 추가하려면
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 모음에서 태깅할 리소스가 있는 리전을 선택합니다. 자세한 내용은 리소스 위치 단원을 참조하십시오.

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

  4. 리소스 목록에서 리소스를 선택하고 태그 탭을 선택합니다.

  5. 태그 관리를 선택한 다음 새 태그 추가를 선택합니다. 해당 태그의 키와 값을 입력합니다. 추가할 각 추가 태그에 대해 새 태그 추가를 다시 선택합니다. 태그 추가가 완료되면 저장을 선택합니다.

개별 리소스에서 태그를 삭제하려면
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 모음에서 태그를 제거할 리소스가 있는 리전을 선택합니다. 자세한 내용은 리소스 위치 단원을 참조하십시오.

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

  4. 리소스 목록에서 리소스를 선택하고 태그 탭을 선택합니다.

  5. 태그 관리를 선택합니다. 제거할 태그 각각에 대해 제거를 선택합니다. 태그 제거를 마쳤으면 저장을 선택합니다.

여러 리소스의 태그 추가 및 삭제

여러 리소스에 태그를 추가하는 방법
  1. AWS 리소스 그룹 콘솔(https://console.aws.amazon.com/resource-groups/tag-editor)에서 태그 편집기를 엽니다.

  2. 리전에서 태그를 지정할 리소스가 있는 리전을 하나 이상 선택합니다.

  3. 리소스 유형에서 태그를 지정할 리소스 유형(예: AWS::EC2::Instance)을 선택합니다.

  4. 리소스 검색을 선택합니다.

  5. 리소스 검색 결과에서 태그를 지정할 각 리소스 옆의 확인란을 선택합니다.

  6. 선택한 리소스 태그 관리를 선택합니다.

  7. 선택한 모든 리소스의 태그 편집에서 태그 추가를 선택한 다음 새 태그 키와 값을 입력합니다. 추가할 각 추가 태그에 대해 태그 추가(Add tag)를 다시 선택합니다.

    참고

    태그 키가 기존 태그와 동일한 새 태그를 추가하는 경우 새 태그가 기존 태그를 덮어씁니다.

  8. 변경 사항 검토 및 적용을 선택합니다.

  9. Apply changes to all selected(모든 선택 항목에 변경 사항 적용)를 선택합니다.

여러 리소스에서 태그를 제거하는 방법
  1. AWS 리소스 그룹 콘솔(https://console.aws.amazon.com/resource-groups/tag-editor)에서 태그 편집기를 엽니다.

  2. 리전에서 태그를 제거할 리소스가 있는 리전을 선택합니다.

  3. 리소스 유형에서 태그를 제거할 리소스 유형(예: AWS::EC2::Instance)을 선택합니다.

  4. 리소스 검색을 선택합니다.

  5. 리소스 검색 결과에서 태그를 제거할 각 리소스 옆의 확인란을 선택합니다.

  6. 선택한 리소스 태그 관리를 선택합니다.

  7. 선택한 모든 리소스의 태그 편집에서 제거할 태그 옆에 있는 태그 제거를 선택합니다.

  8. 변경 사항 검토 및 적용을 선택합니다.

  9. Apply changes to all selected(모든 선택 항목에 변경 사항 적용)를 선택합니다.

인스턴스 시작 시 태그 추가

New console
인스턴스 시작 마법사를 사용하여 태그를 추가하려면
  1. 탐색 모음에서 인스턴스를 시작할 지역을 선택합니다. 일부 Amazon EC2 리소스는 리전 간에 공유될 수 있지만 그렇지 않은 리소스도 있으므로 잘 선택해야 합니다. 요구 사항을 충족하는 리전을 선택합니다. 자세한 내용은 리소스 위치 섹션을 참조하세요.

  2. 인스턴스 시작을 선택합니다.

  3. Name and tags(이름 및 태그) 아래에서 인스턴스를 설명하는 이름을 입력하고 태그를 지정할 수 있습니다.

    인스턴스 이름은 태그이며, 여기서 키는 이름이고 값은 사용자가 지정하는 이름입니다. 인스턴스, 볼륨, 탄력적 그래픽 및 네트워크 인터페이스에 태그를 지정할 수 있습니다. 스팟 인스턴스의 경우 스팟 인스턴스 요청만 태깅할 수 있습니다.

    인스턴스 이름과 추가 태그를 지정하는 것은 선택 사항입니다.

    • 이름(Name)에 인스턴스를 설명하는 이름을 입력합니다. 이름을 지정하지 않으면 인스턴스를 시작할 때 자동으로 생성되는 ID로 인스턴스를 식별할 수 있습니다.

    • 태그를 추가하려면 추가 태그 추가(Add additional tags)를 선택합니다. 태그 추가(Add tag)를 선택한 다음 키와 값을 입력하고 태그를 지정할 리소스 유형을 선택합니다. 추가할 각 추가 태그에 대해 태그 추가(Add tag)를 다시 선택합니다.

  4. Application and OS Images (Amazon Machine Image)(애플리케이션 및 OS 이미지(Amazon Machine Image))에서 인스턴스의 운영 체제(OS)와 AMI를 선택합니다. 자세한 내용은 애플리케이션 및 OS 이미지(Amazon Machine Image) 단원을 참조하십시오.

  5. (선택 사항) 키 페어(로그인)(Key pair (login)) 아래의 키 페어 이름(Key pair name)에서 기존 키 페어를 선택하거나 새로 생성합니다.

  6. 다른 모든 필드는 기본값으로 두거나 원하는 인스턴스 구성에 해당하는 값을 선택합니다. 필드에 대한 자세한 내용은 정의된 파라미터를 사용하여 인스턴스 시작 단원을 참조하십시오.

  7. Summary(요약) 패널에서 설정을 검토한 다음 Launch instance(인스턴스 시작)를 선택합니다.

Old console
인스턴스 시작 마법사를 사용하여 태그를 추가하려면
  1. 탐색 모음에서 인스턴스를 시작할 지역을 선택합니다. 일부 Amazon EC2 리소스는 리전 간에 공유될 수 있지만 그렇지 않은 리소스도 있으므로 잘 선택해야 합니다. 요구 사항을 충족하는 리전을 선택합니다. 자세한 내용은 리소스 위치 섹션을 참조하세요.

  2. 인스턴스 시작을 선택합니다.

  3. [Amazon Machine Image(AMI) 선택(Choose an Amazon Machine Image (AMI))] 페이지에서는 Amazon Machine Image(AMI)라고 불리는 일련의 기본 구성들을 목록으로 표시합니다. 사용할 AMI를 선택하고 선택을 선택합니다. 자세한 내용은 Windows AMI 찾기 섹션을 참조하세요.

  4. 인스턴스 세부 정보 구성 페이지에서 필요에 따라 인스턴스 설정을 구성하고 다음: 스토리지 추가(Next: Add Storage)를 선택합니다.

  5. 스토리지 추가 페이지에서 인스턴스에 대한 추가 스토리지 볼륨을 지정할 수 있습니다. 모두 마쳤으면 다음: 태그 추가(Next: Add Tags)를 선택합니다.

  6. 태그 추가 페이지에서 인스턴스나 볼륨 또는 이 둘의 태그를 지정합니다. 태그 추가를 선택하여 리소스에 한 개 이상의 태그를 인스턴스에 추가할 수 있습니다. 모두 마쳤으면 다음: 보안 그룹 구성(Next: Configure Security Group)을 선택합니다.

  7. 보안 그룹 구성 페이지에서 소유하는 기존 보안 그룹 중 하나를 선택하거나 마법사를 통해 새 보안 그룹을 생성합니다. 작업을 마치면 검토 후 시작(Review and Launch)을 선택합니다.

  8. 설정을 검토합니다. 선택한 항목에 만족하면 시작을 선택합니다. 기존 키 페어를 선택하거나 새 키 페어를 생성하고, 승인 확인란을 선택하고 인스턴스 시작을 선택합니다.

태그를 기준으로 리소스 목록 필터링

하나 이상의 태그 키와 태그 값에 따라 리소스 목록을 필터링할 수 있습니다.

Amazon EC2 콘솔에서 태그를 기준으로 리소스 목록을 필터링하는 방법
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

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

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

  4. 목록의 태그에서 태그 키를 선택합니다.

  5. 목록에서 해당 태그 값을 선택합니다.

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

Amazon EC2 콘솔에서의 필터 사용에 관한 자세한 내용은 리소스 나열 및 필터링 섹션을 참조하세요.

태그 편집기를 사용하여 여러 리전의 여러 리소스를 태그별로 필터링하는 방법

AWS 리소스 그룹 콘솔에서 태그 편집기를 사용하여 여러 리전의 여러 리소스를 태그별로 필터링할 수 있습니다. 자세한 내용은 AWS 리소스 태깅 사용 설명서의 태그를 지정할 리소스 찾기를 참조하세요.

명령줄을 사용하여 태그 작업

create 명령에 대한 태그 사양 매개변수를 사용하여 생성 시 여러 EC2 리소스에 태그를 추가할 수 있습니다. 리소스에 대한 describe 명령을 사용하여 리소스에 대한 태그를 볼 수 있습니다. 다음 명령을 사용하여 기존 리소스에 대한 태그를 추가, 업데이트 또는 삭제할 수도 있습니다.

작업 AWS CLI AWS Tools for Windows PowerShell

하나 이상의 태그를 추가하거나 덮어씁니다.

create-tags

New-EC2Tag

하나 이상의 태그를 삭제합니다.

delete-tags

Remove-EC2Tag

하나 이상의 태그에 대해 설명합니다.

describe-tags

Get-EC2Tag

리소스 생성 시 태그 추가

다음 예제는 리소스를 생성할 때 태그를 적용하는 방법을 보여 줍니다.

참고

JSON 형식의 파라미터를 명령줄에 입력하는 방법은 운영 체제에 따라 다릅니다.

  • Linux, macOS, Unix 및 Windows PowerShell에서는 작은 따옴표(')를 사용하여 JSON 데이터 구조를 묶습니다.

  • Windows - Windows 명령줄에서 명령을 사용할 때 작은따옴표를 사용하지 마세요.

자세한 내용은 AWS CLI에 대한 파라미터 값 지정을 참조하십시오.

예제: 인스턴스를 시작하고 인스턴스와 볼륨에 태그 적용

다음 run-instances 명령은 인스턴스를 시작하고 키가 webserver이고 값이 production인 태그를 인스턴스에 적용합니다. 또한 이 명령은 생성되는 EBS 볼륨(이 경우에는 루트 볼륨)에 키가 cost-center이고 값이 cc123인 태그를 적용합니다.

aws ec2 run-instances \ --image-id ami-abc12345 \ --count 1 \ --instance-type t2.micro \ --key-name MyKeyPair \ --subnet-id subnet-6e7f829e \ --tag-specifications 'ResourceType=instance,Tags=[{Key=webserver,Value=production}]' 'ResourceType=volume,Tags=[{Key=cost-center,Value=cc123}]'

시작 중에 인스턴스와 볼륨에 동일한 태그 키와 값을 적용할 수 있습니다. 다음 명령은 인스턴스를 시작하고 키가 cost-center이고 값이 cc123인 태그를 인스턴스와 생성되는 일체의 EBS 볼륨에 적용합니다.

aws ec2 run-instances \ --image-id ami-abc12345 \ --count 1 \ --instance-type t2.micro \ --key-name MyKeyPair \ --subnet-id subnet-6e7f829e \ --tag-specifications 'ResourceType=instance,Tags=[{Key=cost-center,Value=cc123}]' 'ResourceType=volume,Tags=[{Key=cost-center,Value=cc123}]'
예제: 볼륨 생성 및 태그 적용

다음 create-volume 명령은 볼륨을 생성하고 2개의 태그(purpose=productioncost-center=cc123)를 적용합니다.

aws ec2 create-volume \ --availability-zone us-east-1a \ --volume-type gp2 \ --size 80 \ --tag-specifications 'ResourceType=volume,Tags=[{Key=purpose,Value=production},{Key=cost-center,Value=cc123}]'

기존 리소스에 태그 추가

다음 예제에서는 create-tags 명령을 사용하여 기존 리소스에 태그를 추가하는 방법을 보여줍니다.

예제: 리소스에 태그 추가

이 예제에서는 지정된 이미지에 Stack=production 태그를 추가하거나 태그 키가 Stack인 AMI의 기존 태그를 덮어씁니다. 이 명령이 성공하면 출력이 반환되지 않습니다.

aws ec2 create-tags \ --resources ami-78a54011 \ --tags Key=Stack,Value=production
예제: 여러 리소스에 태그 추가

이 예제에서는 AMI와 인스턴스에 대해 두 개의 태그를 추가(또는 덮어쓰기)합니다. 태그 중 하나에 값이 없는 키(webserver)만 포함되어 있습니다(값을 빈 문자열로 설정). 다른 태그는 키(stack)와 값(Production)으로 구성됩니다. 이 명령이 성공하면 출력이 반환되지 않습니다.

aws ec2 create-tags \ --resources ami-1a2b3c4d i-1234567890abcdef0 \ --tags Key=webserver,Value= Key=stack,Value=Production
예제: 특수 문자에 태그 추가

이 예제에서는 [Group]=test 태그를 인스턴스에 추가합니다. 대괄호([])는 이스케이프해야 하는 특수 문자입니다.

Linux 또는 OS X를 사용하는 경우 특수 문자를 이스케이프하려면 특수 문자가 있는 요소를 큰 따옴표(")로 묶은 다음 전체 키 및 값 구조를 작은 따옴표(')로 묶으십시오.

aws ec2 create-tags \ --resources i-1234567890abcdef0 \ --tags 'Key="[Group]",Value=test'

Windows를 사용하는 경우 특수 문자를 이스케이프하려면 다음과 같이 특수 문자가 있는 요소를 큰 따옴표(“)로 묶은 다음 각 큰 따옴표 문자 앞에 백슬래시(\)를 붙입니다.

aws ec2 create-tags ^ --resources i-1234567890abcdef0 ^ --tags Key=\"[Group]\",Value=test

Windows PowerShell을 사용하는 경우 특수 문자를 이스케이프하려면 다음과 같이 특수 문자가 있는 값을 큰 따옴표(")로 묶고 각 큰 따옴표 문자 앞에 백슬래시(\)를 붙인 다음 전체 키 및 값 구조를 작은 따옴표(')로 묶습니다.

aws ec2 create-tags ` --resources i-1234567890abcdef0 ` --tags 'Key=\"[Group]\",Value=test'

태깅된 리소스 설명

다음 예제에서는 describe-instances 필터를 사용하여 특정 태그를 가진 인스턴스를 보는 방법을 보여줍니다. 모든 EC2 describe 명령은 이 구문을 사용하여 단일 리소스 유형에서 태그별로 필터링합니다. 또는 describe-tags 명령을 사용하여 EC2 리소스 유형에서 태그별로 필터링할 수 있습니다.

예제: 지정된 태그 키를 가진 인스턴스에 대한 설명 제공

다음 명령은 태그 값과 상관없이 Stack 태그를 가진 인스턴스에 대한 설명을 제공합니다.

aws ec2 describe-instances \ --filters Name=tag-key,Values=Stack
예제: 지정된 태그를 가진 인스턴스에 대한 설명 제공

다음 명령은 Stack=production 태그를 가진 인스턴스에 대한 설명을 제공합니다.

aws ec2 describe-instances \ --filters Name=tag:Stack,Values=production
예제: 지정된 태그 값을 가진 인스턴스에 대한 설명 제공

다음 명령은 태그 키와 상관없이 값이 production인 태그를 가진 인스턴스에 대한 설명을 제공합니다.

aws ec2 describe-instances \ --filters Name=tag-value,Values=production
예제: 지정된 태그를 가진 모든 EC2 리소스에 대한 설명 제공

다음 명령은 Stack=Test 태그가 있는 모든 EC2 리소스에 대해 설명합니다.

aws ec2 describe-tags \ --filters Name=key,Values=Stack Name=value,Values=Test

인스턴스 메타데이터의 인스턴스 태그 작업

인스턴스 메타데이터에서 인스턴스의 태그에 액세스할 수 있습니다. 인스턴스 메타데이터에서 태그에 액세스하면 더 이상 DescribeInstances 또는 DescribeTags API 호출을 사용하여 태그 정보를 검색할 필요가 없습니다. 그러면 초당 API 트랜잭션이 줄어들고 제어하는 인스턴스 수에 따라 태그 검색이 확장될 수 있습니다. 또한 인스턴스에서 실행 중인 로컬 프로세스는 인스턴스 메타데이터에서 직접 인스턴스의 태그 정보를 볼 수 있습니다.

기본적으로 태그는 인스턴스 메타데이터에서 사용할 수 없으므로 액세스를 명시적으로 허용해야 합니다. 인스턴스 시작 시 또는 실행 중이거나 중지된 인스턴스에서 시작 후 액세스를 허용할 수 있습니다. 시작 템플릿에서 이를 지정하여 태그에 대한 액세스를 허용할 수도 있습니다. 템플릿을 사용하여 시작된 인스턴스는 인스턴스 메타데이터의 태그에 대한 액세스를 허용합니다.

인스턴스 태그를 추가하거나 제거하면 인스턴스가 실행되는 동안 인스턴스를 중지했다가 시작할 필요 없이 인스턴스 메타데이터가 업데이트됩니다.

인스턴스 메타데이터의 태그에 대한 액세스 허용

기본적으로 인스턴스 메타데이터의 인스턴스 태그에 액세스할 수 없습니다. 각 인스턴스에 대해 다음 방법 중 하나를 사용하여 액세스를 명시적으로 허용해야 합니다.

콘솔을 사용하여 인스턴스 메타데이터의 태그에 대한 액세스 허용
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 Instances(인스턴스)를 선택합니다.

  3. 인스턴스를 선택한 다음 작업(Actions), 인스턴스 설정(Instance settings), 인스턴스 메타데이터의 태그 허용(Allow tags in instance metadata)을 선택합니다.

  4. 인스턴스 메타데이터의 태그에 대한 액세스를 허용하려면 허용(Allow) 확인란을 선택합니다.

  5. Save(저장)를 선택합니다.

AWS CLI를 사용하여 시작 시 인스턴스 메타데이터의 태그에 대한 액세스 허용

run-instances 명령을 사용하고 InstanceMetadataTagsenabled로 설정합니다.

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type c3.large \ ... --metadata-options "InstanceMetadataTags=enabled"
AWS CLI를 사용하여 실행 중이거나 중지된 인스턴스의 인스턴스 메타데이터의 태그에 대한 액세스 허용

modify-instance-metadata-options 명령을 사용하고 --instance-metadata-tagsenabled로 설정합니다.

aws ec2 modify-instance-metadata-options \ --instance-id i-123456789example \ --instance-metadata-tags enabled

인스턴스 메타데이터의 태그에 대한 액세스 해제

인스턴스 메타데이터의 인스턴스 태그에 대한 액세스를 해제하려면 다음 방법 중 하나를 사용합니다. 기본적으로 해제되어 있기 때문에 시작 시 인스턴스 메타데이터의 인스턴스 태그에 대한 액세스를 해제할 필요가 없습니다.

콘솔을 사용하여 인스턴스 메타데이터의 태그에 대한 액세스 해제
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 Instances(인스턴스)를 선택합니다.

  3. 인스턴스를 선택한 다음 작업(Actions), 인스턴스 설정(Instance settings), 인스턴스 메타데이터의 태그 허용(Allow tags in instance metadata)을 선택합니다.

  4. 인스턴스 메타데이터의 태그에 대한 액세스를 해제하려면 허용(Allow) 확인란 선택을 취소합니다.

  5. Save(저장)를 선택합니다.

AWS CLI를 사용하여 인스턴스 메타데이터의 태그에 대한 액세스 해제

modify-instance-metadata-options 명령을 사용하고 --instance-metadata-tagsdisabled로 설정합니다.

aws ec2 modify-instance-metadata-options \ --instance-id i-123456789example \ --instance-metadata-tags disabled

인스턴스 메타데이터의 태그에 대한 액세스가 허용되는지 확인

각 인스턴스별로 Amazon EC2 콘솔 또는 AWS CLI를 사용하여 인스턴스 메타데이터의 인스턴스 태그에 대한 액세스가 허용되는지 여부를 확인할 수 있습니다.

콘솔을 사용하여 인스턴스 메타데이터의 태그에 대한 액세스가 허용되는지 확인하려면
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 인스턴스를 선택한 다음 인스턴스를 선택합니다.

  3. Details(세부 정보) 탭에서 Allow tags in instance metadata(인스턴스 메타데이터의 태그 허용) 필드를 선택합니다. 값이 Enabled인 경우 인스턴스 메타데이터의 태그가 허용됩니다. 값이 Disabled인 경우 인스턴스 메타데이터의 태그가 허용되지 않습니다.

AWS CLI를 사용하여 인스턴스 메타데이터의 태그에 대한 액세스가 허용되는지 확인하려면

describe-instances 명령을 사용하여 인스턴스 ID를 지정합니다.

aws ec2 describe-instances \ --instance-ids i-1234567890abcdef0

다음 예제 출력은 공간을 아끼기 위해 잘렸습니다. "InstanceMetadataTags" 파라미터는 인스턴스 메타데이터의 태그가 허용되는지 여부를 나타냅니다. 값이 enabled인 경우 인스턴스 메타데이터의 태그가 허용됩니다. 값이 disabled인 경우 인스턴스 메타데이터의 태그가 허용되지 않습니다.

{ "Reservations": [ { "Groups": [], "Instances": [ { "AmiLaunchIndex": 0, "ImageId": "ami-0abcdef1234567890", "InstanceId": "i-1234567890abcdef0", ... "MetadataOptions": { "State": "applied", "HttpTokens": "optional", "HttpPutResponseHopLimit": 1, "HttpEndpoint": "enabled", "HttpProtocolIpv6": "disabled", "InstanceMetadataTags": "enabled" }, ...

인스턴스 메타데이터에서 태그 검색

인스턴스 메타데이터에서 인스턴스 태그가 허용되는 경우 인스턴스 메타데이터에서 tags/instance 범주에 액세스할 수 있습니다. 인스턴스 메타데이터에서 태그를 검색하는 방법에 대한 예는 인스턴스에 대한 인스턴스 태그 가져오기 섹션을 참조하세요.

CloudFormation을 사용하여 리소스에 태그 추가

Amazon EC2 리소스 유형에서는 Tags 또는 TagSpecifications 속성을 사용하여 태그를 지정합니다.

다음 예에서는 Tags 속성을 사용하여 AWS::EC2::InstanceStack=Production 태그를 추가합니다.

예: YAML 태그
Tags: - Key: "Stack" Value: "Production"
예: JSON 태그
"Tags": [ { "Key": "Stack", "Value": "Production" } ]

다음 예에서는 Stack=Production 속성을 사용하여 AWS::EC2::LaunchTemplate LaunchTemplateDataTagSpecifications 태그를 추가합니다.

예: YAML TagSpecifications
TagSpecifications: - ResourceType: "instance" Tags: - Key: "Stack" Value: "Production"
예: JSON TagSpecifications
"TagSpecifications": [ { "ResourceType": "instance", "Tags": [ { "Key": "Stack", "Value": "Production" } ] } ]