【发布时间】:2018-08-08 09:32:23
【问题描述】:
我正在尝试使用 AWS cloudformation 创建具有 ALB 和 ECS 服务的堆栈,但我在 AWS::ECS::Service 上得到了一个 CREATE_FAILED,即 elb name longer than 32。
我不明白为什么 ECS 服务抱怨 ELB 名称,而 ALB 本身处于 CREATE_COMPLETE 状态...
这是我发送到 cloudformation 的与 ALB 创建相关的 JSON:
"loadBalancer" : {
"Type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
"Properties": {
"Name": "test-alb",
"Scheme" : "internal",
"Subnets" : [
"subnet-b8217295",
"subnet-ddaad2b8",
"subnet-6d71fb51"
],
"LoadBalancerAttributes" : [
{ "Key" : "idle_timeout.timeout_seconds", "Value" : "50" }
],
"SecurityGroups": [
{ "Ref": "InstanceSecurityGroupOpenWeb" },
{ "Ref" : "InstanceSecurityGroupOpenFull" }
],
"Tags" : [
{ "Key" : "key", "Value" : "value" },
{ "Key" : "key2", "Value" : "value2" }
]
}
}
这里是与 ECS 服务创建相关的 JSON(带有对上面定义的 ALB 的引用):
"EcsService": {
"Type":"AWS::ECS::Service",
"Properties":{
"Cluster":{
"Ref": "EcsCluster"
},
"DesiredCount":"1",
"DeploymentConfiguration":{
"MaximumPercent":100,
"MinimumHealthyPercent":0
},
"LoadBalancers": [
{
"ContainerName": "test-web",
"ContainerPort":"80",
"LoadBalancerName":{
"Ref": "loadBalancer"
}
}
],
"Role":{
"Ref": "EcsServiceRole"
},
"TaskDefinition":{
"Ref": "runWebServerTaskDefinition"
}
}
}
如你所见,我自己设置了 ALB 的名称,它只有 8 个字符,所以我真的不明白这一点,知道吗?
【问题讨论】:
标签: amazon-cloudformation amazon-ecs