在CloudFormation中,我正在创建一个VPC、两个EC2实例和一个Elasticache。在模板中,我试图将Elasticache添加到VPC中。问题出现在创建AWS::Elasticache::SubnetGroup时。
"CacheSubnetGroup" : {
"Type" : "AWS::ElastiCache::SubnetGroup",
"Properties" : {
"Description" : "Subnets available for the ElastiCache Cluster",
"SubnetIds" : [ ... ]
}
},
我不想像这里建议的那样要求用户输入子网列表,因为我假设用户不知道什么是子网。是否有类似于{ "Fn::GetAtt" : ["myVpc", "SubnetList"] }的函数?
编辑 在jarmod的回复后,我正在创建子网、VPC和其他所有内容。但还存在一个问题。我可以在创建的VPC中启动EC2实例,但实例在初始化过程中停止运行并重新生成新实例。这个循环会一直持续,直到我删除cf堆栈。以下是我认为问题产生的部分:
"WebServerGroup" : {
"Type" : "AWS::AutoScaling::AutoScalingGroup",
"Properties" : {
"VPCZoneIdentifier" : [{ "Ref" : "InstanceSubnet1" }, { "Ref" : "InstanceSubnet2" }, { "Ref" : "InstanceSubnet3" }, { "Ref" : "InstanceSubnet4" }],
"LaunchConfigurationName" : { "Ref" : "LaunchConfig" },
"MinSize" : "1",
"MaxSize" : "4",
...
}
}