使用硬编码名称轻松创建群集MyCluster
:
"MyCluster": {
"Type": "AWS::ECS::Cluster"
}
但是,我想要一个动态名称,但也引用了命名资源。像这样的集群名称将是堆栈名称:
"NamedReferenceButNotClusterName": {
"Type": "AWS::ECS::Cluster",
"Properties": {
"Name": {"Ref": "AWS::StackName"} <-- Name property isnt allowed
}
},
"ecsService": {
"Type": "AWS::ECS::Service",
"DependsOn": [
{"Ref": "NamedReferenceButNotClusterName"} <-- not sure if I can even do this
],
"Properties": {
"Cluster": {
"Ref": "NamedReferenceButNotClusterName" <-- I really want this part
},
"DesiredCount": 2,
"TaskDefinition": {
"Ref": "EcsTask"
}
}
}
有没有办法做到这一点?
答案 0 :(得分:1)
AWS云形成是不可能的。
"MyCluster": {
"Type": "AWS::ECS::Cluster"
}
上述cloudformation脚本将生成名称格式为<StackName>-MyCluster-<RandomSequence>
的ECS群集。
stackname在执行cloudformation脚本时作为输入提供。随机序列由cloudformation生成,不能确定。
此时,创建具有所需命名约定的集群的最佳选择是使用aws cli或使用aws sdk的小程序。