通过Terraform在AWS重建同域名证书为何长期处于待处理状态?
AWS ACM重复申请域名证书长期待处理解决方法
核心原因
该问题几乎都是历史验证记录残留导致的冲突:首次删除证书时,旧的DNS验证CNAME记录没有被同步清理,重新申请时新旧验证记录同时存在,ACM验证服务无法拉取到正确的有效值,就会一直卡在待处理状态。其他域名能正常申请说明你的Terraform配置、AWS权限都没有问题。
排查&解决步骤
- 首先登录你的DNS解析管理后台(如果是AWS Route53就进入对应托管zone),搜索
test.io所有的CNAME记录,删除所有和ACM验证相关的旧记录(格式一般是_xxxxx.test.io,值是_xxxxx.acm-validations.aws.),只保留最新的由本次Terraform生成的验证记录。 - 执行dig命令验证解析结果是否正确,确保返回值和ACM控制台显示的要求值完全一致:
如果返回多个值或者返回的不是ACM要求的目标值,需要清理多余解析记录,等待DNS缓存过期。dig <ACM给出的验证CNAME主机名> CNAME +short - 清理完成后触发重新验证:
- 执行Terraform命令标记现有待处理证书为污染状态,重新生成证书申请:
terraform taint aws_acm_certificate.<你的证书资源名> terraform apply- 也可以直接登录ACM控制台,找到对应待处理证书,点击「重新发起验证」按钮手动触发验证流程,正常情况下10-30分钟内证书就能完成签发。
极端情况排查
如果上述操作后还是无法完成验证,检查以下两点:
- 确认域名
test.io没有开启DNSSEC,如果开启了需要确认DNSSEC配置没有错误,否则会导致ACM无法正常读取解析记录。 - 确认域名没有处于过期、注册商锁定、解析被屏蔽的状态,公网可以正常解析你的域名记录。
内容的提问来源于stack exchange,提问作者Aasha
相关产品推荐
相关产品推荐

