微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法通过 Cloudformation 创建 EC2 实例

如何解决无法通过 Cloudformation 创建 EC2 实例

我有以下模板来创建一个简单的 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 会autogenerate tags

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。