ECS 작업의 태그 지정과 관련된 문제를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2022년 4월 1일

Amazon Elastic Container Service (Amazon ECS) 작업 태그에 문제가 있습니다. 이 문제를 해결하려면 어떻게 해야 하나요?

해결 방법

Amazon ECS로 태그를 설정할 때 다음과 같은 문제가 발생할 수 있습니다.

  • 태그는 서비스 또는 태스크 정의에서 작업으로 전파되지 않습니다.
  • 태그에 만료된 Amazon 리소스 이름 (ARN) 과 리소스 ID 형식이 있습니다.
  • AWS Identity and Access Management (IAM) 권한 또는 태그 제한이 누락되어 ECS 리소스에 태그를 추가할 수 없습니다.
  • AWS 결제 대시보드에서 ECS 태그를 볼 수 없습니다.

이러한 오류를 해결하려면 다음을 수행합니다.

PropagateTags 매개 변수가 서비스 또는 태스크 정의에서 작업으로 전파하는 데 사용되는지 확인합니다.

PropagateTags 매개 변수를 사용하여 태스크 정의 또는 서비스에서 작업으로 태그를 복사할 수 있습니다. 작업을 실행하거나 서비스를 만들 때 이 작업을 수행할 수 있습니다. 이 매개변수는 기본적으로 작동하지 않습니다.

AWS CLI에서 다음 명령을 실행하고 서비스 이름, 클러스터 이름 리전을 적절한 값으로 대체하여 PropagateTags가 특정 서비스에서 사용되고 있는지 확인할 수 있습니다.

aws ecs describe-services --services <servicename> --cluster <clustername> --region <region> --query 'services[*].propagateTags' --output text

CLI를 사용하여 서비스 또는 태스크 정의에서 전파되도록 태그를 구성하려면 RunTask CreateService API를 참조하십시오.

콘솔을 사용하여 태그 전파를 활성화하려면 다음과 같이 하십시오.

  1. Amazon ECS 콘솔을 엽니다.
  2. ECS 리소스에 사용할 AWS 리전을 선택합니다.
  3. 탐색 창에서 Task Definitions를 선택합니다.
  4. 리소스 목록에서 태스크 정의를 선택하고[Actions]를 선택합니다. 그런 다음 [Create Service] 또는 [Run Task]를 선택합니다.
  5. 작업 태깅 구성(Task tagging configuration)에서 태그 전파 시작(Propagate tags from) 옆에 있는 서비스(Service) 또는 태스크 정의(Task Definitions)를 선택합니다.
    참고: 기본 옵션은 전파 안 함(Do not propagate)입니다.

AWS CloudFormation을 이용해 ECS에서 태그를 사용하려면 [SERVICE][TASK_DEFINITION] 값과 EnableECSManagedTagsPropagateTags 속성을 활용하여 엔터티AWS::ECS::Service를 선언해야 합니다.

참고:

  • CloudFormation에서 스택을 생성한 후 ECS 서비스 태그 관련 속성을 사용하려면 스택 업데이트 및 리소스 교체가 필요합니다. 즉, CloudFormation을 통해 서비스가 삭제되고 다시 생성되는 것입니다.
  • PropagateTags 매개 변수는 작업을 실행하거나 서비스를 생성할 때만 사용할 수 있습니다. 자세한 내용은RunTask CreateService API를 참조하십시오.
  • Amazon ECS RunTask API를 사용하여 직접 시작한 작업과 동일한 예정된 작업 구성에 액세스할 수 있습니다.

새 ARN 형식을 사용하고 있는지 확인합니다.

Amazon ECS 리소스에 태그를 지정하려면 새로운 Amazon 리소스 이름 (ARN) 및 ID 형식을 사용해야 합니다.

두 가지 형식의 예:

  • 이전 형식: arn:aws:ecs:region:aws_account_id:service/service-name
  • 새 형식: arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name

새로운 ARN 및 리소스 ID 형식으로 ECS 배포를 마이그레이션하려면 새로운 ARN 및 리소스 ID 형식으로 Amazon ECS 배포 마이그레이션 단원을 참조하십시오.

참고: 기존 리소스는 다시 생성될 때까지 태그를 지정하는 동안 새 ARN 형식을 수신하지 않습니다.

IAM 엔터티에 필요한 권한이 있는지 검토하고 태그 제한을 확인합니다

ECS 서비스에 태그를 추가할 수 없는 경우 다음을 수행합니다.

  1. TagResource 이벤트는 CloudTrail 콘솔 속 CloudTrail 이벤트를 확인합니다.
  2. 다음 오류 중 하나가 표시되는 경우: 현재 AccessDenied 또는 태그를 업데이트할 수 없습니다. 몇 분 정도 기다렸다가 다시 시도하면 IAM 엔터티에 ecs:TagResource 권한이 없는 것입니다.
  3. 이 문제를 해결하려면 IAM 엔터티에 ecs:TagResource 권한을 추가합니다.
  4. 권한이 추가되면 ECS 클러스터에 태그를 다시 추가해 보십시오.

ECS 태그가 태그 제한 범위 내에 있는지 확인합니다. 태그 제한을 검토하려면 태그 제한을 참조하십시오.

AWS 결제 및 비용 관리 문제인지 확인

필요한 태그가 ECS 태스크 수준에 있는지 확인하려면 AWS CLI에서 다음 명령을 실행하고 value를 ARN으로 바꿉니다.

aws ecs list-tags-for-resource --resource-arn <value>

콘솔을 사용하여 ECS 태스크 수준에 필요한 태그가 있는지 확인하려면 다음을 확인하세요.

  1. Amazon ECS 콘솔을 엽니다.
  2. ECS 리소스에 사용할 AWS 리전을 선택합니다.
  3. 탐색 창에서 리소스 유형 (예: 클러스터) 을 선택합니다.
  4. 리소스 목록에서 리소스를 선택하고 태그를 선택합니다.
    태그가 있으면 나열됩니다.

관리형 태그를 찾는 경우 ECS 관리를 설정해야 합니다. 다음 명령을 실행하고 서비스 이름, 클러스터 이름 리전을 적절한 값으로 대체하여 ECS 관리 상태를 확인합니다.

aws ecs describe-services --services <servicename> --cluster <clustername> --region <region> --query 'services[*].enableECSManagedTags' --output text

명령 출력에는 enableECSManagedTags값이 포함됩니다.

CLI를 사용하여 서비스를 생성하거나 태스크를 실행하는 동안 ECS 관리형 태그를 활성화할 수 있습니다. 자세한 내용은 RunTask CreateService API를 참조하십시오.

콘솔을 사용하여 ECS에서 관리하는 태그를 활성화하려면 다음과 같이 하십시오.

  1. Amazon ECS 콘솔을 엽니다.
  2. ECS 리소스에 사용할 AWS 리전을 선택합니다.
  3. 탐색 창에서 Task Definitions를 선택합니다.
  4. 리소스 목록에서 태스크 정의를 선택하고[Actions]를 선택합니다. 그런 다음 [Create Service] 또는 [Run Task]를 선택합니다.
  5. 태스크 태깅 구성에서 ECS 관리형 태그 활성화를 선택합니다.

결제에 사용된 태그가 나열되지만 AWS Cost Explorer에 표시되지 않는 경우 결제 및 비용 관리 콘솔에서 태그가 활성화 되어 있는지 확인합니다. 비용 할당 태그를 활성화하려면 사용자 정의 비용 할당 태그 활성화를 참조하십시오.
참고: Cost Explorer에서 필터로 표시해야 하는 모든 태그를 활성화해야 합니다. 태그가 활성화되는 데 최대 24시간이 걸릴 수 있습니다.


이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요하세요?