[英]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.