Amazon ECS 작업의 태깅 문제를 해결하려면 어떻게 해야 합니까?

5분 분량
0

Amazon Elastic Container Service(Amazon ECS) 작업 태그 관련 문제를 해결하고 싶습니다.

해결 방법

참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하면 AWS CLI의 오류 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.

Amazon ECS를 사용하여 작업 태그를 설정할 때 다음과 같은 문제가 발생할 수 있습니다.

  • 태그는 서비스 또는 작업 정의에서 작업으로 전파되지 않습니다.
  • 태그의 ARN 및 리소스 ID 형식이 오래된 것입니다.
  • AWS Identity and Access Management(IAM) 권한 또는 태그 제한이 없기 때문에 새 Amazon ECS 리소스를 생성하거나 여기에 태그를 추가할 수 없습니다.
  • AWS Billings and Cost Management 콘솔의 청구 페이지에서는 Amazon ECS 태그를 볼 수 없습니다.

PropagateTags 파라미터를 사용하여 서비스 또는 작업 정의에서 작업으로 전파

PropagateTags 파라미터는 기본적으로 활성화되지 않습니다. 작업 정의 또는 서비스의 태그를 작업에 복사하려면 PropagateTags를 활성화합니다. 작업을 실행하거나, 서비스를 생성하거나, 서비스를 업데이트할 때 태그를 복사할 수 있습니다.

참고: 다음 명령에서 servicename을 서비스 이름으로, clustername을 클러스터 이름으로, region을 AWS 리전으로 바꾸십시오. 또한 taskdefinitionname을 작업 정의 이름으로, taskdefinitionversion을 작업 정의 버전으로 바꾸십시오.

PropagateTags가 특정 서비스에서 활성화되었는지 확인하려면 다음 describe-services 명령을 실행합니다.

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

새 독립 실행형 작업에 대한 태그 전파를 활성화하려면 다음 run-task 명령을 실행합니다.

aws ecs run-task --cluster clustername --task-definition taskdefinitionname:taskdefinitionversion --launch-type FARGATE/EC2 --propagate-tags TASK_DEFINITION/SERVICE

새 서비스에 대한 태그 전파를 활성화하려면 다음 create-service 명령을 실행합니다.

aws ecs create-service --cluster clustername --service-name servicename --task-definition taskdefinitionname:taskdefinitionversion --desired-count 2 --launch-type FARGATE --platform-version LATEST --network-configuration "awsvpcConfiguration={subnets=[subnet-abcdef123],securityGroups=[sg-pqrst5678]}" --propagateTags TASK_DEFINITION/SERVICE

기존 서비스에 대한 태그 전파를 활성화하려면 다음 update-service 명령을 실행합니다.

aws ecs update-service --cluster clustername --service servicename --propagate-tags SERVICE/TASK_DEFINITION --force-new-deployment

Amazon ECS 콘솔을 사용하여 태그 전파를 켤 수도 있습니다.

다음 단계를 완료합니다.

  1. Amazon ECS 콘솔을 엽니다.
  2. Amazon ECS 리소스의 리전을 선택합니다.
  3. 탐색 창에서 작업 정의를 선택합니다.
  4. 리소스 목록에서 작업 정의를 선택한 다음 작업을 선택합니다.
  5. 서비스 생성 또는 작업 실행을 선택합니다.
  6. 작업 태깅 구성에서 서비스 또는 작업 정의를 선택합니다.
    참고: 기본 옵션은 전파 안 함입니다.

AWS CloudFormation을 사용하여 Amazon ECS에서 태그를 구성하려면 AWS::ECS::Service 리소스를 선언해야 합니다. AWS::ECS::Service를 선언하려면 SERVICE 또는 TASK_DEFINITION 값과 함께 EnableECSManagedTagsPropagateTags 속성을 사용합니다.

참고:

올바른 ARN 형식 사용

Amazon ECS 리소스에 태그를 지정하려면 새 ARN 및 ID 형식을 사용해야 합니다. Amazon ECS 배포를 새 형식으로 마이그레이션하려면 Amazon ECS 배포를 새 ARN 및 리소스 ID 형식으로 마이그레이션 섹션을 참조하십시오.

참고: 기존 리소스는 리소스를 다시 생성한 후에만 새 ARN 형식을 수신합니다.

IAM 엔터티에 필요한 권한이 있는지 확인하고 태그 제한 확인

모든 AWS 계정은 태깅 권한 부여를 사용합니다. Amazon ECS 리소스를 생성할 때 리소스를 태깅하려면 IAM 보안 주체에 ecs:TagResource 권한이 있어야 합니다. 다음 Amazon ECS API에도 이 권한이 있어야 합니다.

  • CreateCapacityProvider
  • CreateCluster
  • CreateService
  • CreateTaskSet
  • RegisterContainerInstance
  • RegisterTaskDefinition
  • RunTask
  • StartTask

Amazon ECS 서비스에 태그를 추가하거나 리소스를 생성할 수 없는 경우 다음 단계를 완료하여 이 문제를 해결하십시오.

  1. AWS CloudTrail 이벤트에서 TagResource 이벤트를 확인합니다.
  2. 다음 오류 메시지 중 하나에 대한 이벤트를 검토합니다.
    "AccessDenied"
    -또는-
    "The tags cannot be updated at this time. Wait a few minutes and try again"
    위의 오류 중 하나가 표시되면 IAM 엔터티에 ecs:TagResource 권한이 없는 것입니다.
  3. IAM 콘솔 또는 AWS CLI를 사용하여 IAM 엔터티에 ecs:TagResource 권한을 추가합니다.
  4. 리소스를 다시 생성하거나 Amazon ECS 클러스터에 태그를 다시 추가합니다.
  5. Amazon ECS 태그가 태그 제한을 준수하는지 확인하십시오.

Billing and Cost Management 문제가 있는지 확인

Amazon ECS 작업을 태그별로 필터링하여 비용을 확인할 수 없는 경우 필요한 태그가 Amazon ECS 작업에 있는지 확인하십시오. 다음 list-tags-for-resource 명령을 실행합니다.

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

참고: value를 작업 ARN으로 바꾸십시오.

Amazon ECS 콘솔을 사용하여 Amazon ECS 작업의 태그를 확인하려면 다음 단계를 완료합니다.

  1. Amazon ECS 콘솔을 엽니다.
  2. Amazon ECS 리소스의 리전을 선택합니다.
  3. 탐색 창에서 리소스 유형(예: 클러스터)을 선택합니다.
  4. 리소스를 선택한 다음 태그를 선택하면 해당 리소스에 대해 존재하는 모든 태그를 볼 수 있습니다.

관리형 태그를 확인하려면 Amazon ECS 관리형 태그를 활성화해야 합니다. Amazon ECS 관리형 태그가 활성화되었는지 확인하려면 다음 describe-services 명령을 실행합니다.

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

참고: servicename을 서비스 이름으로, clustername을 클러스터 이름으로, region을 리전으로 바꾸십시오.

명령 출력에서 enableECSManagedTagstrue로 설정되었는지 확인합니다.

콘솔을 사용하여 Amazon ECS 관리형 태그를 활성화하려면 다음 단계를 완료하십시오.

  1. Amazon ECS 콘솔을 엽니다.
  2. Amazon ECS 리소스의 리전을 선택합니다.
  3. 탐색 창에서 작업 정의를 선택합니다.
  4. 리소스 목록에서 작업 정의를 선택한 다음 작업을 선택합니다.
  5. 서비스 생성 또는 작업 실행을 선택합니다.
  6. 작업 태깅 구성에서 ECS 관리형 태그 활성화를 선택합니다.

AWS CLI를 사용하여 Amazon ECS 관리형 태그를 활성화하려면 update-service 명령을 실행합니다.

aws ecs update-service --cluster clustername --service servicename --enable-ecs-managed-tags --force-new-deployment

참고: clustername을 클러스터 이름으로, servicename을 서비스 이름으로 바꾸십시오.

AWS Cost Explorer에 태그가 표시되지 않아도 결제에 사용하는 태그가 나열될 수 있습니다. 이 문제를 해결하려면 Billing and Cost Management 콘솔에서 비용 할당 태그를 활성화하십시오.

참고: 태그가 활성화되는 데 최대 24시간이 걸릴 수 있습니다.

관련 정보

Amazon ECS 문제 해결

Amazon ECS 리소스 태깅

생성 시 리소스에 태그를 지정할 수 있는 권한 부여

AWS 공식
AWS 공식업데이트됨 4달 전
댓글 없음

관련 콘텐츠