Amazon EC2 리소스에 태그를 지정하기 위한 구조적이고 일관성 있는 전략을 구현하려고 합니다. 태그를 사용하여 EC2 리소스의 리소스 할당 및 비용 효율성을 최적화하려면 어떻게 해야 합니까?

지극히 단순한 관점에서 바라보면 태그는 AWS 리소스에 할당할 수 있는 이름-값 문자열 쌍입니다. EC2 사용 시나리오에 적합한 태그 지정 전략을 공식화하기 위해 태그에 대한 자세한 정보가 필요합니다.

이 문서에서는 다음과 같은 기본적인 리소스 태그 지정 개념에 대해 설명합니다.

• 태그 지정 개요
• 태그 지정 제한 사항
• 태그 지정 명명 규칙 및 권장 사항
• 태그 지정 API 및 CLI 명령
• Windows PowerShell용 AWS 도구에서 태그 필터 사용

태그는 애플리케이션 식별자, 환경 또는 소유자와 같은 설명 메타데이터의 연결을 통해 AWS 리소스의 식별 및 분류 기능을 제공합니다. 각 태그는 키와 값으로 구성되며, 둘 다 사용자가 정의하는 문자열입니다. 태그 키 또는 값에 따라 EC2 인스턴스와 같은 리소스 요청 시 태그를 필터로 사용할 수 있습니다. 태그는 대규모 리소스 관리를 용이하게 만들며 월별 송장에 표시되므로 비용 할당 및 관리에 특히 유용할 수 있습니다.

  • 태그 키 이름은 대/소문자를 구분하며 영숫자 문자(A-Z, a-z, 0-9), 밑줄 및 하이픈을 포함할 수 있습니다.
  • 추가로 허용되는 문자는 UTF-8로 표현되는 문자, 공백 및 숫자와 특수 문자 + - = . _ : / @입니다.
  • 태그 지정 제한 사항에 대한 최신 정보는 Amazon EC2 설명서의 태그 제한을 참조하십시오.

복합 태그

리소스에 할당할 수 있는 50개의 태그 사용을 극대화하려면 복합 태그를 사용하는 것이 좋습니다. 복합 태그는 여러 키-값 쌍을 여러 파이프로 구분된 ‘값’으로 구성된 문자열과 연결된 단일 키로 결합합니다. 이렇게 하면 3가지 키 즉, “Ownername”, “OwnerPhone” 및 “OwnerEmail”을 이름, 전화번호 및 이메일 주소 값에 대한 파이프로 구분된 문자열과 연결된 하나의 “OwnerContact” 키로 결합할 수 있습니다(예: John Doe|1-555-555-1212|jdoe@example.com).

태그 키 이름 표기법

태그 키 이름은 각 단어 또는 약어를 대문자로 시작함으로써 단어와 약어를 결합하는 규칙인 대문자 카멜 표기법(CamelCase)을 사용해야 합니다(예: “MiscMetadata” 및 “SupportEndpoints”). 복합 태그 키 이름은 대문자 카멜 표기법 뒤에 등호(“=”)를 사용하고 그다음에 파이프로 구분된 여러 문자열 값을 순차적으로 사용해야 합니다(예: KeyName1=value1|value2|values3;KeyName2=value1|value2|value3).

사용 시나리오

키 이름 예제

키 값 예제

단순 태그

Owner

Bob

파이프 구분 기호가 있는

복합 태그 값

Contact

Bob|1-555-555-1212|bob@example.com

세미콜론 및 파이프 구분 기호가 있는 복합 태그 값

OnCall

Primary=Bob|1-555-555-1212|bob@example.com;Secondary=Bill|1-555-555-1212|bill@example.com

애플리케이션 이름 - 파이프 구분 기호를 사용하여 선택적인 고유 식별자 및 선택적인 도메인/리소스 이름을 지정한 애플리케이션 이름

WebApp

ProdWebApp|7231a74d|www.example.com

애플리케이션 환경 - 파이프 구분 기호를 사용하여 선택적인 티어 이름 및/또는 비즈니스 위험 수준을 지정한 환경 이름

AppEnv

·  Production|Business Critical|Tier 1
·  Dev|Alpha|Tier 2
·  Test|Beta1|Tier 2

리소스 역할 - 인프라에서 리소스가 수행하는 역할

Role

·  CustomerDb
·  HRWeb
·  MarketingCollab

생성자 및 소유자 연락처 - 세미콜론 및 파이프 구분 기호를 사용하여 지정하는 리소스 생성자 및 소유자 둘 다에 대한 연락처 정보(이름, 전화번호, 이메일 주소)

CreatorOwner

ResourceCreator=Doe, John|1-555-555-1212|jdoe@;ResourceOwner=Doe, Jane|1-555-555-1212|jadoe@

회사 연락처 - 세미콜론 및 파이프 구분 기호를 사용하여 지정하는 연락처 정보(이름, 전화번호, 이메일 주소)

MarketingMgmt

SocialMediaLead=John Doe|1-555-555-1212|jdoe@example.com;TradMediaLead=Jane Doe|1-555-555-1212|jadoe@example.com

지원 엔드포인트 - 세미콜론 구분 기호를 사용하여 지정하는 지원 엔드포인트

UsSupportEndPoints

AlarmEndPoint=arn::SNS::topic1;ChangeApprovalEndPoint=arn::SQS::changequeue

기타 메타데이터 - 세미콜론 구분 기호 및 파이프 구분 기호를 사용하여 지정하는 기타 메타데이터

HrMiscMetadata

key1=value1|value2|value3;key2=value1|value2|value3

파트너 연락처 - 세미콜론 및 파이프 구분 기호를 사용하여 지정하는 외부 관리형 서비스 파트너 연락처 정보(이름, 전화번호, 이메일 주소)

NasSolutions-Contact

OwnerContact=John Doe|1-555-555-1212|jdoe@example.com;IncidentContact=Jane Doe|1-555-555-1212|jadoe@example.com

다음 API 및 CLI 명령을 사용하여 리소스에 대한 태그를 추가, 업데이트, 나열 및 삭제할 수 있습니다. 각 명령에 대한 설명서에서 예제를 제공합니다.

설명

Amazon EC2 CLI

AWS CLI

Windows PowerShell용 AWS 도구

API 작업

지정된 리소스에 대한 태그를 하나 이상 추가하거나 덮어씁니다.

ec2-create-tags

create-tags

New-EC2Tag Cmdlet

CreateTags

지정된 리소스에서 지정된 태그를 삭제합니다.

ec2-delete-tags

delete-tags

Remove-EC2Tag Cmdlet

DeleteTags

리소스에 대한 하나 이상의 태그를 설명합니다.

ec2-describe-tags

describe-tags

Get-EC2Tag Cmdlet

DescribeTags

Windows PowerShell용 AWS 도구 및 Get-EC2Tag cmdlet을 사용하여 필터링을 통해 리전의 EC2 리소스 ID를 반환할 수 있습니다. Get-EC2Tag는 "key", "resource-id", "resource-type" 및 "value" 파라미터에서 필터링을 지원합니다. 또한 * 및 ?를 사용하는 기본 와일드카드 필터링도 지원합니다. 단일 호출에서 반환될 수 있는 최대 EC2 리소스 ID 수는 1,000개입니다. Get-EC2Tag cmdlet에 대한 자세한 내용은 Get-EC2Tag Cmdlet을 참조하십시오.

다음 예제는 Windows PowerShell용 AWS 도구에서 태그 필터를 사용하는 방법을 보여줍니다.

태그 키 이름을 기준으로 한 EC2 리소스 ID 필터링:

이 예제에서 Get-EC2Tag cmdlet은 문자열 “Contact”와 일치하는 태그 키 이름이 있는 EC2 인스턴스의 리소스 ID를 반환합니다.

$filter = New-Object Amazon.EC2.Model.Filter –Property @(Name=”key”; Values=”Contact”)
Get-EC2Tag –Filter $filter

와일드카드를 사용하며 태그 값을 기준으로 한 EC2 리소스 ID 필터링:

이 예제에서 Get-EC2Tag cmdlet은 문자열 “John Doe”가 포함된 태그 값이 있는 EC2 인스턴스의 리소스 ID를 반환합니다.

$filter = New-Object Amazon.EC2.Model.Filter –Property @(Name=”value”; Values=”*John Doe*”)
Get-EC2Tag –Filter $filter

와일드카드를 사용하며 태그 키 이름 및 태그 값을 기준으로 한 EC2 리소스 ID 필터링:

이 예제에서 Get-EC2Tag cmdlet은 문자열 “Contact”와 일치하는 태그 키 이름과 문자열 “John Doe”가 포함된 태그 값이 있는 EC2 인스턴스의 리소스 ID를 반환합니다.

$filter1 = New-Object Amazon.EC2.Model.Filter -Property @(Name="key"; Values="Contact")
$filter2 = New-Object Amazon.EC2.Model.Filter -Property @(Name="value"; Values="*John Doe*")
$filters = $filter1, $filter2
Get-EC2Tag -Filter $filters

다음은 이러한 필터 조건을 사용하여 필터링할 때 Get-EC2Tag cmdlet의 출력 예입니다.

ResourceId

ResourceType

Key

Value

i-2d477420

인스턴스

Contact

OwnerContact=John Doe|1-55…

i-2d477421

인스턴스

Contact

OwnerContact=John Doe|1-55…

i-2d477422

인스턴스

Contact

OwnerContact=John Doe|1-55…

AWS CLI 및 describe-tags에서 태그 필터 사용:

describe-tags를 사용하여 필터링을 통해 리전의 EC2 리소스 ID를 반환할 수 있습니다. Describe-tags는 "key", "resource-id", "resource-type" 및 "value" 파라미터에서 필터링을 지원합니다. 또한 * 및 ?를 사용하는 기본 와일드카드 필터링도 지원합니다.

태그 필터링 예제

다음 예제는 AWS CLI에서 태그 필터를 사용하는 방법을 보여줍니다.

태그 키 이름을 기준으로 한 EC2 리소스 ID 필터링:

이 예제에서 AWS CLI는 문자열 “Contact”와 일치하는 태그 키 이름이 있는 EC2 인스턴스의 리소스 ID를 반환합니다.

$ aws ec2 describe-tags --filters Name=key,Values="Contact"

와일드카드를 사용하며 태그 값을 기준으로 한 EC2 리소스 ID 필터링:

이 예제에서 AWS CLI는 문자열 “John Doe”가 포함된 태그 값이 있는 EC2 인스턴스의 리소스 ID를 반환합니다.

$ aws ec2 describe-tags --filters Name=value,Values="*John Doe*"

와일드카드를 사용하며 태그 키 이름 및 태그 값을 기준으로 한 EC2 리소스 ID 필터링

이 예제에서 AWS CLI는 문자열 “Contact”와 일치하는 태그 키 이름과 문자열 “John Doe”가 포함된 태그 값이 있는 EC2 인스턴스의 리소스 ID를 반환합니다.

aws ec2 describe-tags --filters Name=key,Values=Contact Name=value,Values="*John Doe*"

출력은 앞의 PowerShell 예제와 동일합니다.

해당 태그에 따라 EC2 인스턴스 필터링:

describe-instances 명령에서 태그를 사용하여 인스턴스를 필터링하는 예제는 CLI 또는 API를 사용한 태그 작업을 참조하십시오.

리소스 태그 지정은 규모가 점점 더 커지는 AWS 리소스를 관리할 수 있는 효과적인 도구로, 리소스를 관리 및 결제 목적으로 식별하고, 분류하며, 찾을 수 있는 기능을 제공합니다. EC2 태그 필터링은 태그가 지정된 리소스를 찾는 방법과 조직의 태그 지정 표준이 최적의 리소스 할당 및 비용 효율성을 위해 제대로 구현되었는지 확인하는 방법을 모두 제공합니다.


페이지 내용이 도움이 되었습니까? | 아니요

AWS 지원 지식 센터로 돌아가기

도움이 필요하십니까? AWS 지원 센터를 방문하십시오.

게시된 날짜: 2015년 11월 6일

업데이트된 날짜: 2016년 6월 9일