You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Terraform中aws_acm_certificate_validation证书验证超时问题求助

AWS ACM证书DNS验证超时故障修复方案

常见根因

  • 域名注册商的NS记录未指向当前Terraform创建的Route53托管区域,导致ACM服务无法公网查询到验证CNAME记录
  • API Gateway域名资源未等待证书验证完成就提前触发创建,造成部署链路阻塞
  • ACM证书区域与API Gateway端点类型要求不匹配,导致验证通过后也无法完成资源关联
  • 自定义域名的NS传播时间超出Terraform默认超时阈值

修复步骤

  1. 验证解析链路正确性
    本地执行命令查询验证CNAME记录是否可公网解析:
    nslookup -type=CNAME <ACM给出的验证记录FQDN>
    如果无法返回正确的记录值,先到域名注册商后台,将域名的NS服务器修改为aws_route53_zone.api资源输出的4条NS地址,等待NS传播生效后再重试部署。

  2. 修正Terraform配置的依赖关系
    给aws_apigatewayv2_domain_name.api资源添加显式依赖,强制等待证书验证完成后再创建域名资源,修改后配置如下:

resource "aws_apigatewayv2_domain_name" "api" {
  domain_name = var.api_domain
  depends_on = [aws_acm_certificate_validation.cert_api]

  domain_name_configuration {
    certificate_arn = aws_acm_certificate.cert_api.arn
    endpoint_type   = "REGIONAL"
    security_policy = "TLS_1_2"
  }
}
  1. 调整证书验证超时阈值
    如果域名NS传播速度慢,可以给ACM验证资源增加自定义超时配置,避免默认超时提前终止部署:
resource "aws_acm_certificate_validation" "cert_api" {
  certificate_arn         = aws_acm_certificate.cert_api.arn
  validation_record_fqdns = aws_route53_record.cert_api_validations.*.fqdn
  timeouts {
    create = "1h"
  }
}
  1. 检查区域匹配规则
  • REGIONAL类型的API Gateway端点,要求ACM证书和API Gateway部署在同一AWS区域
  • EDGE类型的API Gateway端点,要求ACM证书必须部署在us-east-1区域
    不符合区域要求的证书即使验证通过也无法完成域名绑定。
  1. 处理状态不一致问题
    如果登录AWS控制台已经可以看到ACM证书状态为「已签发」,但Terraform仍然卡在验证步骤,可执行terraform refresh刷新资源状态后重新执行terraform apply即可继续后续部署流程。

内容的提问来源于stack exchange,提问作者Conor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 06:24:03