通过CloudFormation在AWS ACM创建证书遇验证停滞问题求助
ACM证书DNS验证超时失败排查思路
基础配置核查
- 确认传入
DomainName参数的域名与证书申请域名完全一致:如果申请的是通配符域名(如*.example.com),参数必须严格匹配,不能用主域名example.com代替 - 核实
wagWorldHostedZone参数对应的是公有托管区域ID:私有托管区域无法完成公网DNS验证,必须确保托管区域是公开可查询的
CNAME记录精准校验
- 对比ACM生成的记录与Route53中的配置:
登录ACM控制台打开证书详情,复制系统生成的CNAME名称和目标值,和Route53托管区域中的记录逐一核对:- 名称:必须完整包含前缀(如
_somethingblablablaf4fb148188e5)和域名后缀,不能省略任何部分 - 目标值:必须完全匹配
_xxx.acm-validations.aws.,注意末尾的.不能丢——Route53中如果省略末尾点,会自动追加托管区域域名,导致目标地址错误 - 记录类型:确保是CNAME类型,而非A/AAAA等其他类型
- 名称:必须完整包含前缀(如
- 验证CNAME记录的可解析性:
用本地终端执行dig或nslookup命令查询该CNAME记录,确认能正确解析到ACM指定的目标。例如:
如果无法解析,检查域名注册商处的NS记录是否与Route53托管区域的NS记录完全一致——NS记录未同步会导致公网无法查询到你的DNS记录dig _somethingblablablaf4fb148188e5.dfgdfgsmznr.acm-validations.aws.
CloudFormation栈与权限排查
- 检查模板配置一致性:
确认CF栈实际部署的参数与模板一致:在CF控制台查看wagWorldCertificate资源的详情,核实DomainValidationOptions中的域名和托管区域ID是否正确,ValidationMethod是否为DNS - 查看CF栈事件日志:
检查栈的事件列表,是否有关于证书验证、CNAME记录创建的警告或错误(比如权限不足导致无法添加记录) - 确认权限配置:
如果ACM自动添加CNAME记录,执行CF栈的角色(或操作账号)需要具备Route53的ChangeResourceRecordSets权限;如果是手动添加记录,确保操作账号有权限修改托管区域
其他排查点
- 检查域名状态:确认域名未过期、未被锁定,可在注册商后台查看域名状态
- 核实证书地域:用于CloudFront的ACM证书必须在
us-east-1区域,其他服务需与资源同区域 - 重新触发验证:在ACM控制台手动点击「重新验证」,等待15-30分钟后查看状态,排除初始验证请求超时的问题
你的CloudFormation模板(已汉化注释)
Parameters: DomainName: Type: String Description: 要申请证书的域名 wagWorldHostedZone: Type: String Description: 已创建的托管区域ID Resources: wagWorldCertificate: Type: AWS::CertificateManager::Certificate Properties: DomainName: !Ref DomainName ValidationMethod: DNS DomainValidationOptions: - DomainName: !Ref DomainName HostedZoneId: !Ref wagWorldHostedZone
内容的提问来源于stack exchange,提问作者Bluz
相关产品推荐
相关产品推荐

