web-dev-qa-db-ja.com

CloudFormationを使用してEC2インスタンスとボリュームを作成する

CloudFormationを使用して2つのWindows Server 2019 EC2インスタンスをデプロイし、それぞれに新しいボリュームをアタッチしようとしていますinstance(2つのインスタンス、合計2つのボリューム)。デプロイすると次のエラーが表示されます。

プロパティタグの値はリストタイプでなければなりません

私の調査から、作成しようとしているボリュームを参照する方法が問題であるように思われるかもしれませんが、確かではありません。

参照用のテンプレートの一部を以下に示します。

Resources:
  rpt04:
    Type: 'AWS::EC2::Instance'
    Properties:
      AvailabilityZone: us-west-1
      InstanceType: t2.large
      ImageId: AMI-0cc5ea3dde5301489
      Tags:
        - Key: "Name"
          Value: "RPT-04 (W2K16)"
      KeyName: Key_2020
      SecurityGroupIds: 
        - sg-f2bcJmn9
      SubnetId: subnet-19234d70 
      BlockDeviceMappings:
        - DeviceName: /dev/sda1
          Ebs:
            VolumeSize: 100
            DeleteOnTermination: true
      Volumes:
        -
         Device: xvdb
         VolumeId: !Ref rpt04appvolume
    Metadata:
      'AWS::CloudFormation::Designer':
        id: 357656a6-846b-4674-b06a-22901916ff91

   rpt04appvolume:
    Type: 'AWS::EC2::Volume'
    Properties:
      AvailabilityZone: us-west-1
      Size: 100
      VolumeType: gp2
      Tags:
         Key: Name
         Value: RPT-04-APP
    Metadata:
      'AWS::CloudFormation::Designer':
        id: 3340c328-2324-42e5-bd11-b3c1d1f41a09

私はこれについてどんな助け/援助にも感謝します。私はCloudFormationを初めて使い、これにこだわっています。

1
jrd1989

rpt04appvolume不足しています- in Tags

これから変更してください:

   rpt04appvolume:
    Type: 'AWS::EC2::Volume'
    Properties:
      ...
      Tags:
         Key: Name
         Value: RPT-04-APP

これに:

   rpt04appvolume:
    Type: 'AWS::EC2::Volume'
    Properties:
      ...
      Tags:
      -  Key: Name               # Note the '-'
         Value: RPT-04-APP

ところで - AvailabilityZone: us-west-1us-west-1 aまたは bまたは何か。そのus-west-1だけではリージョン名ではなくavailability zonename。

それが役に立てば幸い:)

0
MLu

複数のタグを表示する例を次に示します。インスタンスタイプはLinuxですが、CFでもWindowsは同じです。

私が定期的に使用するテンプレートといくつかのIDをコピーしたものの組み合わせをコピーしました。実際のテンプレートは、!ImportValueを使用して他のテンプレートで作成したリソースと、!Refを使用してこのテンプレートで定義したものを大幅に参照しています。

EC2Instance:
  Type: 'AWS::EC2::Instance'
  Properties:
    InstanceType: t3a.nano
    ImageId: AMI-0970010f37c4f9c8d
    SubnetId:
      subnet-19234d70 
    SecurityGroupIds:
      - sg-f2bcJmn9
    AvailabilityZone: ap-southeast-2
    BlockDeviceMappings:
    - DeviceName: "/dev/xvda"
      Ebs:
        VolumeSize: '8'
        Encrypted: 'true'
    Tags:
      - Key: Name
        Value: Fred the VM
      - Key: environment
        Value: Production
      - Key: favorite_color
        Value: red
1
Tim