resource "aws_route53_record" "fix-ns" {
zone_id = aws_route53_zone.main.zone_id
name = var.domain_name
type = "NS"
ttl = "30"
records = ["ns-1999.awsdns-57.co.uk", "ns-1031.awsdns-00.org", "ns-688.awsdns-22.net", "ns-325.awsdns-40.com"]
}
我希望我的Route53 NS记录与一组已知的DNS NS记录相匹配,所以我添加了上面的资源。我的自动化IAM用户具有AmazonRoute53FullAccess
。我们一直到aws_route53_record.fix-ns: Creating...
,它没有抛出任何错误,但从未完成。
关于原因的建议?
编辑:我只是突然想到,我从来没有看到这个资源的Still creating...
消息,它只是阻止了以后进一步的资源创建。
有点暗箭伤人,但。。。
我怀疑它实际上对您来说是失败的,但默认的重试计数max_retries = 25
开始生效,您不会看到错误消息。那里的重试机制具有指数回退(出于其他原因这是好的(,因此25
重试需要几分钟才能结束。
尝试将max_retries
设置为1
或2
,并观察结果(我想这将是一个错误(。
我需要将allow_overwrite = true
添加到资源中。
resource "aws_route53_record" "fix-ns" {
allow_overwrite = true
zone_id = aws_route53_zone.main.zone_id
name = var.domain_name
type = "NS"
ttl = "30"
records = ["ns-1999.awsdns-57.co.uk", "ns-1031.awsdns-00.org", "ns-688.awsdns-22.net", "ns-325.awsdns-40.com"]
}
奇怪的是,我通过有针对性地部署terraform apply -target=aws_route53_record.fix-ns
来解决这个问题。资源失败,但错误没有在完全应用运行中出现,目标运行允许出现错误。这感觉像是一个错误报告:o