"certificatefordns":{
"Type" : "AWS::CertificateManager::Certificate",
"Properties" : {
"DomainName" : "*.test-elb.acb.com",
"ValidationMethod" : "DNS"
},
"CertificateDNSRecord":{
"Type": "Custom::CertificateDNSRecord",
"Properties": {
"CertificateArn": {
"Ref": "certificatefordns"
},
"DomainName": "*.test-elb.acb.com"
}},
"DNS": {
"Type": "AWS::Route53::RecordSetGroup",
"Properties": {
"HostedZoneId": "Z01724793QXGY7AZ",
"RecordSets": [
{
"Name": {
"Ref": "AlternateDomainNames"
},
"Type": "A",
"AliasTarget": {
"HostedZoneId": "Z23TAZ6MNIO",
"DNSName": {
"Fn::GetAtt": [
"WebLoadBalancer",
"DNSName"
]
}
}
},
{
"Name": {
"Fn::Sub": "${CertificateDNSRecord.Name}"
},
"Type": {
"Fn::Sub": "${CertificateDNSRecord.Type}"
},
"TTL": "60",
"Weight": 1,
"SetIdentifier": "*.test-elb.acb.com",
"ResourceRecords": [
{
"Fn::Sub": "${CertificateDNSRecord.Value}"
}
]
}
]
}
}
嗨,团队, 我想为负载均衡器创建一个新的证书,在这个 json 代码的帮助下,我可以创建该证书,但一段时间后它会出现 property servicetoken 不能为空 的错误,所以正如我搜索后我很困惑我需要创建 lambda 函数还是什么? 或者有没有其他方法可以拒绝这个错误。 请指导我。
最佳答案
CloudFormation 中的
自定义资源需要 ServiceToken :
- 服务提供商向模板开发人员提供用于访问服务的服务 token ,例如 Amazon SNS 主题 ARN 或 Lambda 函数 ARN。服务 token 必须来自您创建堆栈的同一区域。
您的 Custom::CertificateDNSRecord
缺少它。因此你必须提供它。
如果自定义资源用于验证 ACM 认证,您可以选中新选项,该选项不需要自定义 lambda 函数:
关于json - 属性服务 token 不能为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63243402/