我正在尝试使用ElbInfoList的规定格式将ELB(实际上是NLB)与CodeDeploymentGroup关联。这是在CloudFormation中。
CodeDeploy将没有它。它说,在部署期间,
> *The specified load balancer does not exist. for activityId="5" of activityType={Name: > ExecuteCentralizedCommandOnInstanceActivity.runCentralizedCommand,Version: > 1.00}*
我的部署组如下所示:
"CodeDeploymentGroup" : {
"Type" : "AWS::CodeDeploy::DeploymentGroup",
…
"Properties" : {…
"LoadBalancerInfo" : {
"ElbInfoList" : [ {
"Name" : {
"Fn::GetAtt" : [ "NetworkLoadBalancer", "LoadBalancerName" ]
}
} ]
}
}
},
网络负载平衡器:
"NetworkLoadBalancer" : {
"Type" : "AWS::ElasticLoadBalancingV2::LoadBalancer",
"Properties" : {
"Scheme" : "internet-facing",
"Type" : "network",
"Subnets" : [ {
"Ref" : "Subnet1"
}, {
"Ref" : "Subnet2"
} ]
}
我也尝试通过“ LoadBalancerFullName”满足ElbInfoList的未定义要求。没用
official example says使用引用。这会产生与使用“ LoadBalancerFullName”属性时相同的错误,即
在elbInfoList中指定的负载均衡器名称…超过了最大值 允许的长度为32个字符。 (服务:AmazonCodeDeploy;状态 代码:400;错误代码:InvalidLoadBalancerInfoException;要求编号: …)
在部署组中定义负载均衡器的正确方法是什么?