CloudFormation で AWS::EC2::Instance リソースを作成する際に表示される「AWS::EC2::Instance リソースでタグを処理するための IAM アクセス権限がありませんでした」というエラーを解決するにはどうすればよいですか?

最終更新日: 2021 年 4 月 21 日

AWS CloudFormation で AWS::EC2::Instance リソースを作成しようとすると、「AWS::EC2::Instance リソースでタグを処理するための IAM アクセス権限がありませんでした」というエラーが表示されます。

簡単な説明

このエラーは、AWS::EC2::Instance リソースを作成する場合に、次の条件に該当すると表示されます。

  • CloudFormation テンプレートで、Tags プロパティの値を指定している。
  • AWS Identity and Access Management (IAM) ユーザー、IAM ロール、または CloudFormation サービスロールに、必要な ec2:CreateTags アクセス権限がない。

このエラーが発生した場合、リソースが CREATE_COMPLETE とマークされていても、Tags プロパティを使用して指定されたカスタムタグは EC2 インスタンスに適用されません。

注: AWS Command Line Interface (AWS CLI) コマンドの実行中にエラーが発生した場合は、最新のバージョンの AWS CLI を使用していることを確認してください

解決方法

1.    CloudFormation スタックを作成する IAM ユーザー、IAM ロール、または CloudFormation サービスロールに、影響を受ける EC2 インスタンスで ec2:CreateTags および ec2: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_REGIONYOUR_TEMPLATE_FILE_TAGS_COMMENTED、および YOUR_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_REGIONYOUR_TEMPLATE_FILE_TAGS_UNCOMMENTED、および YOUR_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 に置き換えます。


この記事はお役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?