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を初めて使い、これにこだわっています。
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-1
はus-west-1 aまたは bまたは何か。そのus-west-1だけではリージョン名ではなくavailability zonename。
それが役に立てば幸い:)
複数のタグを表示する例を次に示します。インスタンスタイプは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