如何在CloudFormation中使用EBS卷创建EC2实例?

时间:2019-06-21 14:47:27

标签: amazon-web-services amazon-ec2 amazon-cloudformation

嗨,我正在尝试使用EBS卷创建Amazon EC2实例。我已经创建了一个CloudFormation模板:

AWSTemplateFormatVersion: "2010-09-09"
Description: "First EC2 instance"
Resources:
 FirstLinuxEC2instance:
    Type: AWS::EC2::Instance
    Properties:
      AvailabilityZone: 'ap-southeast-2a'
      ImageId: 'ami-0c1d8842b9bfc767c'
      InstanceInitiatedShutdownBehavior: 'terminate'
      InstanceType: 't2.micro'
      SecurityGroupIds:
        - 'sg-79862305'
      Volumes:
        Device: "/dev/sdf"
        VolumeId: !Ref NewVolume
 NewVolume:
  Type: AWS::EC2::Volume
  Properties:
    Size: 1
    AvailabilityZone: 'ap-southeast-2a'
    Tags:
      - Key: MyTag
        Value: TagValue
  DeletionPolicy: Snapshot

当我上传此模板时,出现以下错误。

  

属性卷的值必须为列表类型

有人可以帮我解决问题吗?

2 个答案:

答案 0 :(得分:0)

尝试一下!

Volumes:
  -
   Device: "/dev/sdf"
   VolumeId: !Ref NewVolume

答案 1 :(得分:0)

是的卷是数组类型。因此,即使单个卷也需要放在一对方括号(json)中。您可以尝试cloudkast,它是一个在线cloudformation模板生成器。清楚地用内联描述明确指出哪个属性属于哪种类型,这非常有用。