Amazon RDS 리소스에 태그 지정 - Amazon Relational Database Service

Amazon RDS 리소스에 태그 지정

Amazon RDS 태그는 사용자가 정의하고 DB 인스턴스 또는 DB 스냅샷과 같은 Amazon RDS 리소스와 연결하는 이름-값 페어입니다. 이 이름을 라고 합니다. 원하는 경우 키에 값을 입력할 수 있습니다.

AWS Management Console, AWS CLI 또는 Amazon RDS API를 사용하여 Amazon RDS 리소스에서 태그를 추가, 나열 및 삭제할 수 있습니다. CLI 또는 API를 사용할 때 사용할 RDS 리소스에 대한 Amazon 리소스 이름(ARN)을 제공해야 합니다. ARN 생성에 대한 자세한 내용은 Amazon RDS의 ARN 구성 주제단원을 참조하십시오.

Amazon RDS 리소스 태그를 사용하는 이유는 무엇인가요?

태그를 사용하여 다음을 수행할 수 있습니다.

  • 애플리케이션, 프로젝트, 부서, 환경 등을 기준으로 RDS 리소스를 분류하세요. 예를 들어 태그 키를 사용하여 범주를 정의하고 태그 값은 이 범주의 항목으로 정의할 수 있습니다. environment=prod 태그를 생성할 수도 있습니다. 또는 project의 태그 키와 Salix의 태그 값을 정의하여 Amazon RDS 리소스가 Salix 프로젝트에 할당되었음을 나타낼 수 있습니다.

  • 리소스 관리 작업을 자동화하세요. 예를 들어, environment=prod 태그가 지정된 인스턴스에 대한 유지 보수 창을 environment=test 태그가 지정된 인스턴스에 대한 창과 다르게 만들 수 있습니다. environment=prod 태그가 지정된 인스턴스에 대한 자동 DB 스냅샷을 구성할 수도 있습니다.

  • IAM 정책 내에서 RDS 리소스에 대한 액세스를 제어하세요. 전역 aws:ResourceTag/tag-key 조건 키를 사용하면 됩니다. 예를 들어, 정책에서 DBAdmin 그룹의 사용자만 environment=prod 태그가 지정된 DB 인스턴스를 수정하도록 허용할 수 있습니다. IAM 정책으로 태그가 지정된 리소스에 대한 액세스를 관리하는 방법에 대한 자세한 내용은 AWS ID 및 액세스 관리 사용 설명서에서 Amazon RDS의 자격 증명 및 액세스 관리AWS에 대한 액세스 제어를 참조하세요.

  • 태그를 기반으로 리소스를 모니터링하세요. 예를 들어, environment=prod 태그가 지정된 DB 인스턴스에 대한 Amazon CloudWatch 대시보드를 만들 수 있습니다.

  • 유사하게 태그가 지정된 리소스에 대한 비용을 그룹화하여 비용을 추적하세요. 예를 들어, Salix 프로젝트와 관련된 RDS 리소스에 project=Salix 태그를 지정하면 이 프로젝트에 대한 비용 보고서를 생성하고 비용을 할당할 수 있습니다. 자세한 내용은 Amazon RDS에서 태그와 함께 AWS 결제가 작동하는 방식 단원을 참조하십시오.

Amazon RDS 리소스 태그 작동 방식

AWS은(는) 태그에 의미론적 의미를 적용하지 않습니다. 태그는 엄격히 문자열로 해석됩니다.

Amazon RDS의 태그 세트

모든 Amazon RDS 리소스에는 태그 세트라는 컨테이너가 있습니다. 컨테이너에는 리소스에 할당된 모든 태그가 포함됩니다. 리소스에는 정확히 하나의 태그 세트가 있습니다.

태그 세트 하나에는 0~50개의 태그가 포함됩니다. 기존 리소스 태그와 키가 동일한 태그를 RDS 리소스에 추가하면 새 값이 이전 값을 덮어씁니다.

Amazon RDS의 태그 구조

RDS 태그의 구조는 다음과 같습니다

태그 키

키는 태그의 필수 이름입니다. 문자열 값은 1~128자의 유니코드 문자 길이여야 하며 앞에 aws: 또는 rds: 접두사를 붙일 수 없습니다. 문자열에는 유니코드 문자, 숫자, 공백, _, ., :, /, =, +, -@의 세트만 포함할 수 있습니다. Java 정규식은 "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$"입니다. 태그 키는 대/소문자를 구분합니다. 따라서 projectProject는 구별됩니다.

키는 태그 세트에 고유합니다. 예를 들어, 태그 세트에 project=Trinityproject=Xanadu처럼 키는 같지만 값은 다른 키-페어가 있을 수 없습니다.

태그 값

값은 태그의 선택적 문자열 값입니다. 문자열 값은 1~256자의 유니코드 문자여야 합니다. 문자열에는 유니코드 문자, 숫자, 공백, _, ., :, /, =, +, -@의 세트만 포함할 수 있습니다. Java 정규식은 "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$"입니다. 태그 값은 대소문자를 구분합니다. 따라서 prod 값과 Prod은 구별됩니다.

태그 세트에서 값이 고유할 필요는 없으며 null일 수도 있습니다. 예를 들어 project=Trinitycost-center=Trinity의 태그 세트에 키-값 페어가 있을 수 있습니다.

태그 지정이 가능한 Amazon RDS 리소스

다음 Amazon RDS 리소스에 태그를 지정할 수 있습니다.

  • DB 인스턴스

  • DB 클러스터

  • DB 클러스터 엔드포인트

  • 읽기 전용 복제본

  • DB 스냅샷

  • DB 클러스터 스냅샷

  • 예약 DB 인스턴스

  • 이벤트 구독

  • DB 옵션 그룹

  • DB 파라미터 그룹

  • DB 클러스터 파라미터 그룹

  • DB 서브넷 그룹

  • RDS 프록시

  • RDS Proxy 엔드포인트

    참고

    현재는 AWS Management Console을 사용하여 RDS 프록시 및 RDS 프록시 엔드포인트에 태그를 지정할 수 없습니다.

  • 블루/그린 배포

  • 제로 ETL 통합(미리 보기)

Amazon RDS에서 태그와 함께 AWS 결제가 작동하는 방식

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

비용 할당 태그가 DB 스냅샷에서 작동하는 방식

DB 스냅샷에 태그를 추가할 수 있습니다. 그러나 청구서에는 이러한 그룹화가 반영되지 않습니다. 비용 할당 태그를 DB 스냅샷에 적용하려면 다음 조건을 충족해야 합니다.

  • 태그가 상위 DB 인스턴스에 연결되어 있어야 합니다.

  • 상위 DB 인스턴스가 DB 스냅샷과 동일한 AWS 계정 계정에 존재해야 합니다.

  • 상위 DB 인스턴스가 DB 스냅샷과 동일한 AWS 리전 계정에 존재해야 합니다.

DB 스냅샷이 상위 DB 인스턴스와 동일한 리전에 존재하지 않거나 상위 DB 인스턴스가 삭제된 경우 분리된 것으로 간주됩니다. 분리된 DB 스냅샷은 비용 할당 태그를 지원하지 않습니다. 분리된 스냅샷에 대한 비용은 태그가 지정되지 않은 품목에 집계됩니다. 다음 조건을 충족하는 경우 크로스 계정 DB 스냅샷은 분리된 것으로 간주되지 않습니다.

  • 상위 DB 인스턴스와 동일한 리전에 있어야 합니다.

  • 상위 DB 인스턴스는 소스 계정에서 소유합니다.

    참고

    상위 DB 인스턴스가 다른 계정에서 소유하고 있는 경우, 대상 계정의 크로스 계정 스냅샷에는 비용 할당 태그가 적용되지 않습니다.

Amazon RDS 리소스에 태그를 지정하는 모범 사례

태그를 사용할 때는 다음 모범 사례를 준수하는 것이 좋습니다.

  • 조직의 모든 팀이 따르는 태그 사용 규칙을 문서화하세요. 특히 이름을 설명적이면서도 일관성 있게 지어야 합니다. 예를 들어 일부 리소스에 env:production으로 태그를 지정하는 대신 environment:prod 형식으로 표준화하세요.

    중요

    개인 식별 정보(PII)나 기타 기밀 정보 또는 민감한 정보를 태그에 저장하지 마세요.

  • 태그 지정을 자동화하여 일관성을 보장하세요. 예를 들어 다음과 같은 기술을 사용할 수 있습니다.

    • AWS CloudFormation 템플릿에 태그를 포함하세요. 템플릿으로 리소스를 만들면 리소스에 자동으로 태그가 지정됩니다.

    • AWS Lambda 함수를 사용하여 태그를 정의하고 적용하세요.

    • RDS 리소스에 태그를 추가하는 단계가 포함된 SSM 문서를 생성하세요.

  • 필요한 경우에만 태그를 사용하세요. 단일 RDS 리소스에 대해 최대 50개의 태그를 추가할 수 있지만, 불필요한 태그의 증가와 복잡성을 피하는 것이 가장 좋습니다.

  • 태그의 관련성과 정확성을 정기적으로 검토하세요. 필요에 따라 오래된 태그를 제거하거나 수정하세요.

  • AWS Management Console의 AWS Tag Editor를 사용하여 태그를 생성해 보세요. Tag Editor를 사용하여 RDS 리소스를 포함하여 지원되는 여러 AWS 리소스에 동시에 태그를 추가할 수 있습니다. 자세한 내용은 AWS 리소스 그룹 사용 설명서의 Tag Editor를 참조하세요.

DB 스냅샷에 태그 복사

DB 인스턴스를 만들거나 복원할 경우 DB 인스턴스의 태그가 DB 인스턴스의 스냅샷으로 복사되도록 지정할 수 있습니다. 태그를 복사하는 것은 DB 스냅샷의 메타데이터가 원본 DB 인스턴스의 메타데이터와 일치하도록 보장합니다. 또한 DB 스냅샷의 액세스 정책이 원본 DB 인스턴스의 액세스 정책과 일치하도록 보장합니다.

다음 작업 시 DB 스냅샷으로 태그를 복사하도록 지정할 수 있습니다.

  • DB 인스턴스 생성

  • DB 인스턴스 복원

  • 읽기 전용 복제본 생성

  • DB 스냅샷 복사

대부분의 경우 태그는 기본적으로 복사되지 않습니다. 그러나 DB 스냅샷에서 DB 인스턴스를 복원할 때 RDS는 새 태그를 지정하는지 여부를 확인합니다. 그렇다면 새 태그가 복원된 DB 인스턴스에 추가됩니다. 새 태그가 없는 경우 RDS는 스냅샷 생성 시 원본 DB 인스턴스의 태그를 복원된 DB 인스턴스에 추가합니다.

원본 DB 인스턴스의 태그가 복원된 DB 인스턴스에 추가되지 않도록 하려면 DB 인스턴스를 복원할 때 새 태그를 지정하는 것이 좋습니다.

참고

경우에 따라 create-db-snapshot AWS CLI 명령의 --tags 파라미터 값을 포함할 수 있습니다. 또는 CreateDBSnapshot API 작업에 하나 이상의 태그를 제공할 수도 있습니다. 이러한 경우 RDS는 원본 DB 인스턴스에서 새 DB 스냅샷으로 태그를 복사하지 않습니다. 이 기능은 원본 DB 인스턴스에 --copy-tags-to-snapshot(CopyTagsToSnapshot) 옵션이 활성화되어 있어도 적용됩니다.

이 방법을 사용할 경우 DB 스냅샷에서 DB 인스턴스의 복사본을 생성할 수 있습니다. 이 접근 방식을 사용하면 새 DB 인스턴스에 적용되지 않는 태그를 추가하는 것을 피할 수 있습니다. AWS CLI create-db-snapshot 명령(또는 CreateDBSnapshot RDS API 작업)을 사용하여 DB 스냅샷을 생성합니다. DB 스냅샷을 생성한 후 이 주제의 뒷부분에서 설명된 대로 태그를 추가할 수 있습니다.

Amazon RDS에서 태그 추가 및 삭제

다음을 수행할 수 있습니다.

  • 리소스를 생성할 때 태그를 생성합니다(예: AWS CLI 명령 create-db-instance를 실행할 때).

  • add-tags-to-resource 명령을 사용하여 기존 리소스에 태그를 추가합니다.

  • list-tags-for-resource 명령을 사용하여 특정 리소스와 연결된 태그를 나열합니다.

  • add-tags-to-resource 명령을 사용하여 태그를 업데이트합니다.

  • remove-tags-from-resource 명령을 사용하여 리소스에서 태그를 제거합니다.

다음 절차에서는 DB 인스턴스 와 관련된 리소스에 대해 일반적인 태그 지정 작업을 수행하는 방법을 설명합니다. 권한 부여 목적으로 태그가 캐시됩니다. 이러한 이유로 Amazon RDS 리소스에서 태그를 추가하거나 업데이트할 때 수정 사항을 사용할 수 있기까지 몇 분이 걸릴 수 있습니다.

Amazon RDS 리소스에 태그를 지정하는 프로세스는 모든 리소스에서 비슷합니다. 다음 절차에서는 Amazon RDS DB 인스턴스에 태그를 지정하는 방법을 보여줍니다.

DB 인스턴스에 태그를 추가하려면
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 데이터베이스를 선택합니다.

    참고

    DB 인스턴스 목록을 필터링하려면 데이터베이스 창의 Filter databases(데이터베이스 필터링)에 텍스트 문자열을 입력합니다. 해당 문자열을 포함하는 DB 인스턴스만 표시됩니다.

  3. 세부 정보를 보기 위해 태그 지정하려는 DB 인스턴스의 이름을 선택합니다.

  4. 세부 정보 섹션에서 아래에 있는 태그 섹션으로 스크롤합니다.

  5. [추가]를 선택합니다. 태그 추가 창이 나타납니다.

    태그 추가 창
  6. 태그 키에 값을 입력합니다.

  7. 다른 태그를 추가하려면 다른 태그 추가를 선택하고 태그 키에 값을 입력합니다.

    이 단계를 필요한 만큼 반복합니다.

  8. [추가]를 선택합니다.

DB 인스턴스에서 태그를 삭제하려면
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 데이터베이스를 선택합니다.

    참고

    DB 인스턴스 목록을 필터링하려면 데이터베이스 창의 Filter databases(데이터베이스 필터링) 상자에 텍스트 문자열을 입력합니다. 해당 문자열을 포함하는 DB 인스턴스만 표시됩니다.

  3. 세부 정보를 표시할 DB 인스턴스의 이름을 선택합니다.

  4. 세부 정보 섹션에서 아래에 있는 태그 섹션으로 스크롤합니다.

  5. 삭제하려는 태그를 선택합니다.

    태그 섹션
  6. Delete(삭제)를 선택한 다음 Delete tags(삭제 태그)창에서 Delete(삭제)를 선택합니다.

AWS CLI 사용을 통해 DB 인스턴스에 대한 태그를 추가, 나열 또는 제거할 수 있습니다.

  • Amazon RDS 리소스에 하나 이상의 태그를 추가하려면 AWS CLI 명령 add-tags-to-resource를 사용합니다.

  • Amazon RDS 리소스의 태그를 나열하려면 AWS CLI 명령 list-tags-for-resource를 사용합니다.

  • Amazon RDS 리소스에서 하나 이상의 태그를 삭제하려면 AWS CLI 명령 remove-tags-from-resource를 사용합니다.

필수 ARN을 생성하는 방법에 대해 자세히 알아보려면 Amazon RDS의 ARN 구성 단원을 참조하십시오.

Amazon RDS API를 사용하여 DB 인스턴스에 대한 태그를 추가, 나열 또는 제거할 수 있습니다.

  • Amazon RDS 리소스에 태그를 추가하려면 AddTagsToResource 작업을 사용합니다.

  • Amazon RDS 리소스에 배정된 태그를 나열하려면 ListTagsForResource를 사용합니다.

  • Amazon RDS 리소스에서 태그를 제거하려면 RemoveTagsFromResource 작업을 사용합니다.

필수 ARN을 생성하는 방법에 대해 자세히 알아보려면 Amazon RDS의 ARN 구성 단원을 참조하십시오.

Amazon RDS API를 사용한 XML 작업 시 다음 스키마를 사용하십시오.

<Tagging> <TagSet> <Tag> <Key>Project</Key> <Value>Trinity</Value> </Tag> <Tag> <Key>User</Key> <Value>Jones</Value> </Tag> </TagSet> </Tagging>

다음 표에는 허용되는 XML 태그와 해당 특성의 목록이 나와 있습니다. KeyValue은 대/소문자를 구분합니다. 예를 들어 project=TrinityPROJECT=Trinity는 서로 다른 태그입니다.

태그 지정 요소 설명
TagSet 태그 세트에는 Amazon RDS 리소스에 배정된 모든 태그가 포함됩니다. 리소스당 하나의 태그 세트만 있을 수 있습니다. Amazon RDS API를 통해서만 TagSet로 작업합니다.
Tag 태그는 사용자가 정의하는 키-값 페어입니다. 태그 세트에 1~50개의 태그가 있을 수 있습니다.

키는 태그의 필수 이름입니다. 제한 사항에 대한 자세한 내용은 Amazon RDS의 태그 구조 단원을 참조하세요.

문자열 값은 길이가 1~128자인 유니코드 문자이며 aws: 또는 rds:를 접두사로 사용할 수 없습니다. 문자열에는 유니코드 문자, 숫자, 공백, '_', '.', '/', '=', '+', '-'(Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$")만 포함될 수 있습니다.

키는 태그 집합에 대해 고유해야 합니다. 예를 들어, 태그 세트에 project/Trinity와 project/Xanadu처럼 키는 같지만 값은 다른 키-페어가 있을 수 없습니다.

값은 태그의 선택적 값입니다. 제한 사항은 을 참조하십시오Amazon RDS의 태그 구조 단원을 참조하세요.

문자열 값은 길이가 1~256자인 유니코드 문자이며 aws: 또는 rds:를 접두사로 사용할 수 없습니다. 문자열에는 유니코드 문자, 숫자, 공백, '_', '.', '/', '=', '+', '-'(Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$")만 포함될 수 있습니다.

값은 태그 세트에서 고유할 필요는 없으며 null일 수 있습니다. 예를 들어, project/Trinity 및 cost-center/Trinity의 태그 세트에 키-값 페어가 있을 수 있습니다.