Amazon EKS 리소스 태깅 - Amazon EKS

Amazon EKS 리소스 태깅

태그를 사용하여 Amazon EKS 리소스를 관리할 수 있습니다. 이 항목에서는 태그 함수에 대한 개요를 제공하고 태그를 생성하는 방법을 보여 줍니다.

참고

태그는 Kubernetes 레이블 및 주석과 분리된 메타데이터 유형입니다. 이러한 다른 메타데이터 유형에 대한 자세한 내용을 알아보려면 Kubernetes 설명서의 다음 섹션을 참조하세요.

태그 기본 사항

태그는 AWS 리소스에 할당하는 레이블입니다. 각 태그는 (선택 사항)으로 구성됩니다. 둘 다 정의합니다.

태그를 사용하여 AWS 리소스를 범주화할 수 있습니다. 예를 들어 용도, 소유자 또는 환경 기준별로 리소스를 범주화할 수 있습니다. 동일한 유형의 리소스가 많은 경우 특정 리소스에 할당한 태그를 사용하여 해당 리소스를 빠르게 식별할 수 있습니다. 예를 들어 Amazon EKS 클러스터에 태그 집합을 정의하면 클러스터의 소유자 및 스택 수준을 추적하는 데 도움이 됩니다. 각 리소스 유형에 대해 일관된 태그 키 집합을 고안하는 것이 좋습니다. 그러면 추가하는 태그에 따라 리소스를 검색하고 필터링할 수 있습니다.

태그를 추가한 후에는 언제든지 태그 키와 값을 편집하거나 리소스에서 태그를 제거할 수 있습니다. 리소스를 삭제하면 리소스 태그도 삭제됩니다.

태그는 Amazon EKS에는 아무런 의미가 없으며 엄격하게 문자열로 해석됩니다. 태그 값을 빈 문자열로 설정할 수 있습니다. 그러나 태그 값을 null로 설정할 수는 없습니다. 해당 리소스에 대해 키가 기존 태그와 동일한 태그를 추가하는 경우 새 값이 이전 값을 덮어씁니다.

AWS Identity and Access Management(IAM)를 사용하는 경우 AWS 계정에서 태그를 관리할 수 있는 권한을 가진 사용자를 제어할 수 있습니다.

리소스에 태그 지정

다음 Amazon EKS 리소스는 태그를 지원합니다.

  • 클러스터

  • 관리형 노드 그룹

  • Fargate 프로필

다음을 사용하여 이러한 리소스에 태그를 지정할 수 있습니다.

  • Amazon EKS 콘솔을 사용하는 경우 새 리소스 또는 기존 리소스에 태그를 언제든지 적용할 수 있습니다. 관련 리소스 페이지의 [태그(Tags)] 탭을 사용하여 이 작업을 수행할 수 있습니다. 자세한 정보는 콘솔을 사용한 태그 작업을 참조하십시오.

  • eksctl을 사용하는 경우 리소스가 생성될 때 --tags 옵션을 사용하여 리소스에 태그를 적용할 수 있습니다.

  • AWS CLI, Amazon EKS API 또는 AWS SDK를 사용 중인 경우 관련 API 작업의 tags 파라미터를 사용하여 새 리소스에 태그를 적용할 수 있습니다. TagResource API 작업을 사용하여 기존 리소스에 태그를 적용할 수도 있습니다. 자세한 내용은 TagResource를 참조하세요.

일부 리소스 생성 작업을 사용할 때 리소스를 생성함과 동시에 리소스에 대한 태그를 지정할 수도 있습니다. 리소스를 생성하는 동안 태그를 적용할 수 없는 경우 리소스를 생성할 수 없습니다. 이 메커니즘에서는 태그를 지정하려는 리소스가 지정된 태그와 함께 생성되거나 전혀 생성되지 않습니다. 리소스를 생성할 때 태그를 지정하면 리소스를 생성한 후 사용자 지정 태그 지정 스크립트를 실행할 필요가 없습니다.

태그는 생성한 리소스와 연결된 다른 리소스로 전파되지 않습니다. 예를 들어, Fargate 프로파일 태그는 Fargate 프로파일과 연결된 다른 리소스(예: 예약된 pods)로 전파되지 않습니다.

태그 제한

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

  • 최대 50개의 태그를 리소스와 연결할 수 있습니다.

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

  • 키는 최대 128자(UTF-8 형식)까지 가능합니다.

  • 값은 최대 256자(UTF-8 형식)까지 가능합니다.

  • 여러 AWS 서비스 및 리소스에서 태그 지정 스키마를 사용하는 경우 사용하는 문자 유형을 제한합니다. 일부 서비스는 허용되는 문자에 제한이 있을 수 있습니다. 일반적으로 허용되는 문자는 문자, 숫자, 공백 및 특수 문자 + - = . _ : / @입니다.

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

  • 키 또는 값에 aws:, AWS: 또는 이러한 접두사의 대문자 또는 소문자 조합을 사용하지 마세요. 이러한 이름은 AWS 전용으로 예약되어 있습니다. 이 접두사가 지정된 태그 키나 값은 편집하거나 삭제할 수 없습니다. 이 접두사가 지정된 태그는 리소스당 태그 수 제한에 포함되지 않습니다.

리소스에 결제용 태그 지정

Amazon EKS 클러스터에 태그를 적용하면 Cost & Usage Reports에서 비용 할당에 태그를 사용할 수 있습니다. Cost & Usage Reports의 측정 데이터는 모든 Amazon EKS 클러스터에서의 사용량을 보여줍니다. 자세한 내용을 알아보려면 AWS Cost and Usage Reports User Guide(AWS Cost and Usage Reports 사용 설명서)의 What are AWS Cost and Usage Reports?(AWS Cost and Usage Reports란 무엇인가요?)를 참조하세요.

AWS에서 생성한 비용 할당 태그, 특히 aws:eks:cluster-name은 Amazon EKS 클러스터에 참여하는 Amazon EC2 인스턴스에 자동으로 추가됩니다. 리소스가 Amazon EKS 관리형 노드 그룹을 통해 시작되지 않은 경우에도 이 태그가 추가됩니다. 이 태그는 리소스와 연결할 수 있는 50개 태그 한도에 포함되지 않습니다. Amazon EC2 비용을 개별 Amazon EKS 클러스터별로 분류하려면 계정 소유자가 AWS Billing 콘솔에서 또는 API를 사용하여 이 태그를 활성화해야 합니다. AWS Organizations 관리 계정 소유자가 이 태그를 활성화하면 태그는 모든 조직 멤버 계정에게도 활성화됩니다.

태그 키 값이 동일한 리소스를 기준으로 결제 정보를 구성할 수도 있습니다. 예를 들어, 특정 애플리케이션 이름으로 여러 리소스에 태그를 지정한 다음 결제 정보를 구성할 수 있습니다. 이렇게 하면 여러 서비스에서 해당 애플리케이션의 총 비용을 볼 수 있습니다. 태그를 사용한 비용 할당 보고서 설정에 대한 자세한 내용은 AWS Billing 사용 설명서에서 월간 비용 할당 보고서를 참조하세요.

참고

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

Cost Explorer는 AWS 프리 티어의 일부로 제공되는 보고 도구입니다. Cost Explorer를 사용하여 지난 13개월 동안의 Amazon EKS 리소스 차트를 볼 수 있습니다. 또한 향후 3개월 동안의 지출을 예상해볼 수 있습니다. 시간 경과에 따른 AWS 리소스의 지출 패턴을 확인할 수 있습니다. 예를 들어 Cost Explorer를 사용하여 추가 조사가 필요한 영역을 알아내고, 비용 이해에 사용할 수 있는 추세를 파악할 수 있습니다. 또한 데이터의 시간 범위를 지정하고 일별 또는 월별 시간 데이터를 볼 수도 있습니다.

콘솔을 사용한 태그 작업

Amazon EKS 콘솔을 사용하면 신규/기존 클러스터 및 관리형 노드 그룹과 연결된 태그를 관리할 수 있습니다.

Amazon EKS 콘솔에서 리소스 관련 페이지를 선택하면 페이지에 이러한 리소스의 목록이 표시됩니다. 예를 들어, 왼쪽 탐색 창에서 클러스터(Clusters)를 선택하는 경우, 콘솔에 Amazon EKS 클러스터 목록이 표시됩니다. 이러한 목록 중 하나(예: 특정 클러스터)에서 리소스를 선택할 때 해당 리소스가 태그를 지원하면 태그(Tags) 탭에서 해당 태그를 보고 관리할 수 있습니다.

또한 태그를 관리할 수 있는 통합 방법을 제공하는 태그 편집기(Tag Editor)를 AWS Management Console에서 사용할 수 있습니다. 자세한 내용을 알아보려면 AWS Resource Groups 및 태그 사용 설명서에서 태그 편집기 작업을 참조하세요.

생성 시 리소스에 대한 태그 추가

Amazon EKS 클러스터, 관리형 노드 그룹 및 Fargate 프로필을 생성할 때 태그를 추가할 수 있습니다. 자세한 정보는 Amazon EKS 클러스터 생성을 참조하십시오.

리소스에 대한 태그 추가 및 삭제

리소스 페이지에서 직접 클러스터와 연결된 태그를 추가하거나 삭제할 수 있습니다.

개별 리소스에서 태그를 추가하거나 삭제하려면

  1. https://console.aws.amazon.com/eks/home#/clusters에서 Amazon EKS 콘솔을 엽니다.

  2. 탐색 모음에서 사용할 AWS 리전을 선택합니다.

  3. 좌측 탐색 창에서 클러스터(Clusters)를 선택합니다.

  4. 특정 클러스터를 선택합니다.

  5. 태그(Tags) 탭을 선택한 후 태그 관리(Manage tags)를 선택합니다.

  6. 태그 관리(Manage tags) 페이지에서 필요에 따라 태그를 추가하거나 삭제합니다.

    • 태그를 추가하려면 태그 추가(Add tag)를 선택합니다. 그런 다음 각 태그의 키와 값을 지정합니다.

    • 태그를 삭제하려면 Remove tag(태그 제거)를 선택합니다.

  7. 추가 또는 삭제하려는 각 태그에 대해 이 프로세스를 반복합니다.

  8. Update(업데이트)를 선택하여 완료합니다.

CLI, API 또는 eksctl를 사용한 태그 작업

다음 AWS CLI 명령 또는 Amazon EKS API 작업을 사용하여 리소스에 대한 태그를 추가, 업데이트, 나열 및 삭제합니다. eksctl만 사용하여 하나의 명령으로 새 리소스를 생성하는 동시에 태그를 추가할 수 있습니다.

Amazon EKS 리소스 태깅 지원
태스크 AWS CLI AWS Tools for Windows PowerShell API 작업

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

tag-resource

Add-EKSResourceTag

TagResource

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

untag-resource

Remove-EKSResourceTag

UntagResource

다음 예제는 AWS CLI를 사용하여 리소스에 태그를 지정하거나 태그를 제거하는 방법을 보여줍니다.

예제 1: 기존 클러스터에 태그 지정

다음 명령은 기존 클러스터에 태그를 지정합니다.

aws eks tag-resource --resource-arn resource_ARN --tags team=devs

예제 2: 기존 클러스터에서 태그 제거

다음 명령은 기존 클러스터에서 태그를 삭제합니다.

aws eks untag-resource --resource-arn resource_ARN --tag-keys tag_key

예제 3: 리소스의 태그 목록 조회

다음 명령은 기존 리소스와 연결된 태그를 나열합니다.

aws eks list-tags-for-resource --resource-arn resource_ARN

일부 리소스 생성 작업을 사용할 때 리소스를 생성하는 동시에 태그를 지정할 수 있습니다. 리소스를 생성할 때 태그를 지원하는 작업은 다음과 같습니다.

태스크 AWS CLI AWS Tools for Windows PowerShell API 작업 eksctl

클러스터 생성

create-cluster

New-EKSCluster

CreateCluster

create cluster

관리형 노드 그룹 생성*

create-nodegroup

New-EKSNodegroup

CreateNodegroup

create nodegroup

Fargate 프로파일 생성

create-fargate-profile

New-EKSFargateProfile

CreateFargateProfile.html

create fargateprofile

* 관리형 노드 그룹을 생성할 때 Amazon EC2 인스턴스에도 태그를 지정하려면 시작 템플릿을 사용하여 관리형 노드 그룹을 생성합니다. 자세한 정보는 Amazon EC2 인스턴스 태깅을 참조하십시오. 인스턴스가 이미 있는 경우 인스턴스에 수동으로 태깅할 수 있습니다. 자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서에서 리소스 태깅을 참조하세요.