CloudFormation에서 AWS::EC2::Instance 리소스를 생성할 때 “AWS::EC2::Instance 리소스에서 태그를 처리할 수 있는 IAM 권한이 없음(Did not have IAM permissions to process tags on AWS::EC2::Instance resource)” 오류를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2021년 4월 21일

AWS CloudFormation에서 AWS::EC2::Instance 리소스를 만들려고 할 때 “AWS::EC2::Instance 리소스에서 태그를 처리할 수 있는 IAM 권한이 없음(Did not have IAM permissions to process tags on AWS::EC2::Instance resource)” 오류가 발생합니다.

간략한 설명

AWS::EC2::Instance 리소스를 만들 때 이 오류가 나타나며 다음 사항에 해당됩니다.

  • CloudFormation 템플릿에서 Tags 속성 값을 지정합니다.
  • AWS Identity and Access Management(IAM) 사용자, IAM 역할 또는 CloudFormation 서비스 역할에는 필요한 ec2:CreateTags 권한이 없습니다.

이 오류가 발생하면 리소스가 CREATE_COMPLETE로 표시되더라도 Tags 속성을 사용하여 지정된 사용자 지정 태그가 EC2 인스턴스에 적용되지 않습니다.

참고: AWS CLI(AWS 명령줄 인터페이스) 명령을 실행할 때 오류가 발생할 경우 AWS CLI의 최신 버전을 사용하고 있는지 확인하세요.

해결 방법

1.    CloudFormation 스택을 생성하는 IAM 사용자, IAM 역할 또는 CloudFormation 서비스 역할에 영향을 받는 EC2 인스턴스에서 ec2:CreateTagsec2:DeleteTags를 수행할 권한이 있는지 확인합니다.

2.    CloudFormation 콘솔 또는 AWS CLI를 사용하여 영향을 받는 CloudFormation 템플릿에서 AWS::EC2::Instance 리소스의 Tags 속성을 주석 처리합니다. 그런 다음 스택을 업데이트합니다.

CloudFormation 콘솔 사용:

CloudFormation 템플릿에서 Tags 속성을 주석 처리한 다음 스택을 업데이트합니다. 예:

Resources:
  MyEC2Instance: 
    Type: AWS::EC2::Instance
    Properties: 
#      Tags: 
#      - Key: key1
#        Value: value1
#      - Key: key2
#        Value: value2

AWS CLI 사용:

update-stack 명령을 실행합니다.

aws cloudformation update-stack --region YOUR_REGION --template-body file://YOUR_TEMPLATE_FILE_TAGS_COMMENTED —stack-name YOUR_STACK_NAME

참고: YOUR_REGION, YOUR_TEMPLATE_FILE_TAGS_COMMENTEDYOUR_STACK_NAME을 사용자 값으로 바꿉니다.

3.    CloudFormation 콘솔 또는 AWS CLI를 사용하여 영향을 받는 CloudFormation 템플릿에서 AWS::EC2::Instance 리소스의 Tags 속성의 주석을 제거합니다. 그럼 다음 스택을 다시 업데이트합니다.

CloudFormation 콘솔 사용:

CloudFormation 템플릿에서 Tags 속성에서 주석을 제거한 다음 스택을 업데이트합니다. 예:

Resources:
  MyEC2Instance: 
    Type: AWS::EC2::Instance
    Properties: 
      Tags: 
      - Key: key1
        Value: value1
      - Key: key2
        Value: value2

AWS CLI 사용:

update-stack 명령을 실행합니다.

aws cloudformation update-stack --region YOUR_REGION --template-body file://YOUR_TEMPLATE_FILE_TAGS_UNCOMMENTED —stack-name YOUR_STACK_NAME

참고: YOUR_REGION, YOUR_TEMPLATE_FILE_TAGS_UNCOMMENTEDYOUR_STACK_NAME을 사용자 값으로 바꿉니다.

4.    EC2 콘솔 또는 AWS CLI를 사용하여 태그가 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 올바르게 적용되었는지 확인합니다.

Amazon EC2 콘솔 사용:

1.    Amazon EC2 콘솔을 엽니다.

2.    탐색 창의 [인스턴스(Instances)] 섹션에서 [인스턴스(Instances)]를 선택합니다.

3.    CloudFormation을 통해 생성된 인스턴스를 선택합니다.

4.    [태그(Tags)] 탭을 선택한 다음 CloudFormation 템플릿에 지정된 사용자 지정 태그가 테이블에 채워져 있는지 확인합니다.

AWS CLI 사용:

describe-tags 명령을 실행합니다.

aws ec2 describe-tags —filters "Name=resource-id,Values=YOUR_INSTANCE_ID"

참고: YOUR_INSTANCE_ID를 스택에 있는 EC2 인스턴스의 인스턴스 ID로 바꿉니다.


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


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