AWS Proton 리소스 및 태깅 - AWS Proton

AWS Proton 리소스 및 태깅

Amazon 리소스 이름(ARN)이 할당된 AWS Proton 리소스에는 환경 템플릿과 해당 메이저 버전 및 마이너 버전, 서비스 템플릿과 해당 메이저 버전 및 마이너 버전, 환경, 서비스, 서비스 인스턴스, 구성 요소 및 리포지토리가 포함됩니다. 이러한 리소스에 태그를 지정하면 정리하고 식별하는 데 도움이 됩니다. 태그를 사용하여 용도, 소유자, 환경 또는 기타 기준으로 리소스를 분류할 수 있습니다. 자세한 내용은 태그 지정 전략을 참조하세요. AWS Proton 리소스를 추적하고 관리하기 위해 다음 섹션에 설명된 태깅 기능을 사용할 수 있습니다.

AWS 태그 지정

AWS 리소스에 태그 형태로 메타데이터를 지정할 수 있습니다. 각 태그는 사용자가 정의하는 키와 선택적 값으로 구성됩니다. 태그를 사용하면 리소스를 손쉽게 관리, 식별, 정리, 검색 및 필터링할 수 있습니다.

중요

개인 식별 정보(PII)나 기타 기밀 정보 또는 민감한 정보를 태그에 추가하지 않습니다. 청구를 비롯한 여러 AWS 서비스에서 태그에 액세스할 수 있습니다. 태그는 개인 데이터나 민감한 데이터에 사용하기 위한 것이 아닙니다.

각 태그는 두 부분으로 구성됩니다.
  • 태그 키(예: CostCenter, Environment 또는 Project). 태그 키는 대/소문자를 구별합니다.

  • 태그 값(선택 사항)(예: 111122223333 또는 Production). 태그 키처럼 태그 값은 대/소문자를 구별합니다.

태그에 적용되는 기본 이름 지정 및 사용 요구 사항은 다음과 같습니다.
  • 각 리소스에는 최대 50개 사용자 생성 태그가 포함될 수 있습니다.

    참고

    aws: 접두사로 시작하는 시스템 생성 태그는 AWS용으로 예약되어 있으며 이 제한이 적용되지 않습니다. aws: 접두사로 시작하는 태그를 편집하거나 삭제할 수 없습니다.

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

  • 태그 키는 최소 1자, 최대 128자의 UTF-8 형식 유니코드 문자로 지정해야 합니다.

  • 태그 값은 최소 1자, 최대 256자의 UTF-8 형식 유니코드 문자로 지정해야 합니다.

  • 허용되는 문자는 UTF-8로 표현할 수 있는 문자, 숫자, 공백 및 * _ . : / = + - @ 문자입니다.

AWS Proton 태그 지정

AWS Proton를 사용하면 생성한 태그와 AWS Proton가 자동으로 생성하는 태그를 모두 사용할 수 있습니다.

AWS ProtonAWS 관리형 태그

AWS Proton 리소스를 생성하면 다음 다이어그램과 같이 새 리소스에 대한 AWS 관리 태그가 AWS Proton 자동으로 생성됩니다. AWS 관리형 태그는 나중에 새 AWS Proton 리소스를 기반으로 하는 다른 리소스로 전파됩니다. 예를 들어 환경 템플릿의 관리 태그는 해당 버전으로 전파되고 서비스의 관리 태그는 해당 서비스 인스턴스로 전파됩니다.

참고

환경 계정 연결에는 AWS 관리형 태그가 생성되지 않습니다. 자세한 내용은 환경 계정 연결 단원을 참조하세요.


          AWS 관리형 태그 전파를 설명하는 다이어그램.

프로비저닝된 리소스에 태그 전파

서비스 및 환경 템플릿에 정의된 리소스와 같이 프로비저닝된 리소스가 AWS 태그 지정을 지원하는 경우 AWS 관리형 태그는 고객 관리 태그로 프로비저닝된 리소스에 전파됩니다. 이러한 태그는 AWS 태그 지정을 지원하지 않는 프로비저닝된 리소스에는 전파되지 않습니다.

AWS Proton은 다음 표에 설명된 대로 AWS Proton 계정, 등록된 템플릿, 배포된 환경, 서비스 및 서비스 인스턴스별로 리소스에 태그를 적용합니다. AWS 관리형 태그를 사용하여 AWS Proton 리소스를 보고 관리할 수 있지만 수정할 수는 없습니다.

AWS 관리형 태그 키 전파 고객 관리형 키 전파 설명

aws:proton:account

proton:account

AWS Proton 리소스를 생성하고 배포하는 AWS 계정.

aws:proton:template

proton:template

선택한 템플릿의 ARN.

aws:proton:environment

proton:environment

선택한 환경의 ARN.

aws:proton:service

proton:service

선택한 서비스의 ARN.

aws:proton:service-instance

proton:service-instance

선택한 서비스 인스턴스의 ARN.

aws:proton:component

proton:component

선택한 구성 요소의 ARN.

다음은 AWS Proton 리소스에 대한 AWS 관리형 태그의 예제입니다.

"aws:proton:template" = "arn:aws:proton:region-id:account-id:environment-template/env-template"

다음은 AWS 관리형 태그에서 전파된 프로비저닝된 리소스에 적용된 고객 관리 태그의 예입니다.

"proton:environment:database" = "arn:aws:proton:region-id:account-id:rds/env-db"

AWS 관리형 프로비저닝을 사용하면 AWS Proton은 전파된 태그를 프로비저닝된 리소스에 직접 적용합니다.

자체 관리형 프로비저닝을 사용하면 AWS Proton는 프로비전 풀 리퀘스트 (PR) 에서 제출하는 렌더링된 IaC 파일과 함께 전파된 태그를 사용할 수 있게 합니다. 태그는 문자열 맵 변수 proton_tags에 제공됩니다. default_tags에서 AWS Proton 태그를 포함하려면 Terraform 구성에서 이 변수를 참조하는 것이 좋습니다. 이렇게 하면 프로비저닝된 모든 리소스에 AWS Proton 태그가 전파됩니다.

다음 예제는 환경 Terraform 템플릿에서의 태그 전파 방법을 보여줍니다.

proton_tags 변수 정의는 다음과 같습니다.

proton.environment.variables.tf:

variable "environment" { type = object({ inputs = map(string) name = string }) } variable "proton_tags" { type = map(string) default = null }

이 변수에 태그 값을 할당하는 방법은 다음과 같습니다.

proton.auto.tfvars.json:

{ "environment": { "name": "dev", "inputs": { "ssm_parameter_value": "MyNewParamValue" } } "proton_tags" : { "proton:account" : "123456789012", "proton:template" : "arn:aws:proton:us-east-1:123456789012:environment-template/fargate-env", "proton:environment" : "arn:aws:proton:us-east-1:123456789012:environment/dev" } }

Terraform 구성에 태그를 추가하여 프로비저닝된 리소스에 AWS Proton 태그를 추가하는 방법은 다음과 같습니다.

# Configure the AWS Provider provider "aws" { region = var.aws_region default_tags { tags = var.proton_tags } }

고객 관리형 태그

각 AWS Proton 리소스의 최대 할당량은 고객 관리형 태그 50개입니다. 고객 관리형 태그는 기존 AWS Proton 리소스나 프로비저닝된 리소스에 전파되지 않는다는 점을 제외하면 AWS 관리형 태그와 동일한 방식으로 하위 AWS Proton 리소스에 전파됩니다. 기존 하위 리소스가 있는 AWS Proton 리소스에 새 태그를 적용하고 기존 하위 리소스에 새 태그를 지정하려면 콘솔 또는 AWS CLI를 사용하여 기존의 각 하위 리소스에 수동으로 태그를 지정해야 합니다.

콘솔과 CLI를 사용하여 태그 생성

콘솔을 사용하여 AWS Proton 리소스를 생성하면 다음 콘솔 스냅샷과 같이 생성 절차의 첫 번째 또는 두 번째 페이지에서 고객 관리형 태그를 생성할 수 있습니다. 새 태그 추가를 선택하고 키 및 값을 입력하고 진행합니다.


          콘솔 생성 태그 인터페이스의 스냅샷.

AWS Proton 콘솔을 사용하여 새 리소스를 생성한 후 세부 정보 페이지에서 AWS 관리형 및 고객 관리형 태그 목록을 볼 수 있습니다.

태그 생성 및 편집
  1. AWS Proton 콘솔에서 태그 목록을 볼 수 있는 AWS Proton 리소스 세부 정보 페이지를 엽니다.

  2. 태그 관리를 선택합니다.

  3. 태그 관리 페이지에서 태그를 보고, 생성하고, 제거하고, 편집할 수 있습니다. 상단에 나열된 AWS 관리형 태그는 수정할 수 없습니다. 하지만 AWS 관리형 태그 뒤에 나열된 편집 필드를 사용하여 고객 관리 태그를 추가하거나 수정할 수 있습니다.

    새 태그를 추가하려면 태그 생성을 선택합니다.

  4. 새 태그의 키와 값을 입력합니다.

  5. 태그를 편집하려면 선택한 키의 태그 값 필드에 값을 입력합니다.

  6. 태그를 제거하려면 태그를 선택하고 삭제를 선택합니다.

  7. 변경을 완료했으면 변경사항 저장을 선택합니다.

AWS ProtonAWS CLI를 사용하여 태그를 생성합니다.

AWS Proton AWS CLI를 사용하여 태그를 보고, 생성하고, 제거하고, 편집할 수 있습니다.

다음 예와 같이 리소스에 태그 생성 또는 편집이 가능합니다.

$ aws proton tag-resource \ --resource-arn "arn:aws:proton:region-id:account-id:service-template/webservice" \ --tags '[{"key":"mykey1","value":"myval1"},{"key":"mykey2","value":"myval2"}]'

다음 예와 같이 리소스의 태그를 제거할 수 있습니다.

$ aws proton untag-resource \ --resource-arn "arn:aws:proton:region-id:account-id:service-template/webservice" \ --tag-keys '["mykey1","mykey2"]'

마지막 예와 같이 리소스의 태그를 나열할 수 있습니다.

$ aws proton list-tags-for-resource \ --resource-arn "arn:aws:proton:region-id:account-id:service-template/webservice"