繁体   English   中英

无法通过 Cloudformation 创建 EC2 实例

[英]Cannot create EC2 instance via Cloudformation

我有以下模板来创建一个简单的 ec2 实例。 在创建堆栈时,我收到以下错误:

没有 IAM 权限来处理 AWS::EC2::Instance 资源上的标签

我的模板如下:

AWSTemplateFormatVersion: 2010-09-09

Description: Environment template v1.0 (c) xxx

Metadata:

  AWS::CloudFormation::Interface:
    ParameterGroups:      
      - Label:
          default: EC2/RDS parameters
        Parameters:
          - PresentationInstanceType
          - PresentationAMIId
    ParameterLabels:
      PresentationInstanceType:
        default: Instance type for presentation servers
      PresentationAMIId:
        default: Presentation instances AMI Id (Provided by AWS)


Parameters:

  PresentationInstanceType:
    Description: Provide valid AWS instance type.
    Type: String
  PresentationAMIId:
    Description: AWS Latest AMI Id. Do not change unless needed.
    Type: AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>
    Default: /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2

Resources:
  
  MyEC2Instance: 
    Type: AWS::EC2::Instance
    Properties: 
      ImageId: !Ref PresentationAMIId
      InstanceType: !Ref PresentationInstanceType
      UserData:
        "Fn::Base64": !Sub |
          #!/bin/bash -xe
          apt-get update -y
  

知道为什么我会收到此错误吗?

此模板没有明显的问题,只是您使用的是不使用apt的 Amazon Linux 2。 所以正确的用户数据是:

      UserData:
        "Fn::Base64": !Sub |
          #!/bin/bash -xe
          yum update -y

您的问题与权限有关,因此我只能推测您(或执行 CFN 的 IAM 角色)没有合适的权限来午餐此类模板。 特别是那些与实例标签相关联的标签,因为 CloudFormation 将自动生成标签

如果您有基于标签的限制策略并且您使用 Cloudformation 创建 EC2 实例,则必须使用 LaunchTemplate,如下所述: https://aws.amazon.com/it/premiumsupport/knowledge-center/cloudformation-ec2 -iam-runinstances/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM