Amazon web services 获取AWS CloudFormation EC2模板失败

Amazon web services 获取AWS CloudFormation EC2模板失败,amazon-web-services,amazon-cloudformation,Amazon Web Services,Amazon Cloudformation,我试图用AWS帐户中的现有值创建一个EC2实例。CloudFormation控制台表示该模板有效。但是当我尝试创建堆栈时,它失败了,错误如下: 创建失败的AWS::EC2::实例EC2实例当前不支持请求的配置。请查看文档以了解支持的配置** 有人能帮我解决这个错误吗。我的CloudFormation模板如下所示 谢谢 AWSTemplateFormatVersion: 2010-09-09 Description: CloudFormation template for creating an

我试图用AWS帐户中的现有值创建一个EC2实例。CloudFormation控制台表示该模板有效。但是当我尝试创建堆栈时,它失败了,错误如下:

创建失败的AWS::EC2::实例EC2实例当前不支持请求的配置。请查看文档以了解支持的配置**

有人能帮我解决这个错误吗。我的CloudFormation模板如下所示

谢谢

AWSTemplateFormatVersion: 2010-09-09
Description: CloudFormation template for creating an ec2 instance
Parameters:
  VPC:
    Description: 'vpc'
    Type: List<AWS::EC2::VPC::Id>
  AvailabilityZone:
    Description: 'test a-z'
    Type: List<AWS::EC2::AvailabilityZone::Name>
  KeyName:
    Description: Key Pair name
    Type: AWS::EC2::KeyPair::KeyName
    Default: kskey-1
  InstanceType:
    Description: 'The instance type for the EC2 instance.'
    Type: String
    Default: t2.micro
    AllowedValues:
    - t2.micro
    - t2.small
    - t2.medium
  Name:
    Description: 'Then name of the EC2 instance'
    Type: String
    Default: 'KS-Test'
  Subnet:
    Description: ' The subnet id'
    Type: String
  SecurityGroups:
    Description: 'The security group'
    Type: List<AWS::EC2::SecurityGroup::Id>
Mappings:
  RegionMap:
    ap-south-1:
      AMI: ami-b46f48db
Resources:
  Ec2Instance:
    Type: 'AWS::EC2::Instance'
    Properties:
      SecurityGroupIds: !Ref SecurityGroups
      KeyName: !Ref KeyName
      ImageId: !FindInMap
        - RegionMap
        - !Ref 'AWS::Region'
        - AMI
      SubnetId: !Ref Subnet
AWST模板格式版本:2010-09-09
描述:用于创建ec2实例的CloudFormation模板
参数:
专有网络:
说明:“专有网络”
类型:列表
可用区:
描述:“测试a-z”
类型:列表
关键字名称:
Description:密钥对名称
类型:AWS::EC2::KeyPair::KeyName
默认值:kskey-1
实例类型:
Description:'EC2实例的实例类型。'
类型:字符串
默认值:t2.micro
允许值:
-t2.micro
-t2.小
-t2.中等
姓名:
Description:'然后是EC2实例的名称'
类型:字符串
默认值:“KS测试”
子网:
描述:“子网id”
类型:字符串
安全组:
描述:“安全组”
类型:列表
映射:
区域地图:
ap-south-1:
AMI:AMI-b46f48db
资源:
EC2状态:
类型:“AWS::EC2::实例”
特性:
SecurityGroupId:!Ref安全组
关键字:!参考键名
图像ID:!FindInMap
-区域地图
- !参考'AWS::Region'
-阿美族
子网:!参考子网

这里的问题是您没有在CloudFormation模板中定义EC2实例类型。您在参数部分定义了它,而不是在参考资料部分。添加该选项将为您解决问题

您遇到的问题是,如果不指定实例类型,CloudFormation将选择默认值
m3.medium
。这是一种旧的实例类型,新一代实例(m5系列)已经启动

在CloudFormation模板的末尾添加以下行:

InstanceType: !Ref InstanceType
参考资料:

  • 可以找到m5系列文档
  • 可以找到实例类型的CloudFormation默认值

非常感谢您的回复。它成功了。