【问题标题】:Terraform setting Route53 NS record never completesTerraform 设置 Route53 NS 记录永远不会完成
【发布时间】:2021-12-29 19:04:28
【问题描述】:
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... 消息,它只会阻止进一步的资源创建。

【问题讨论】:

    标签: terraform amazon-route53 terraform-provider-aws


    【解决方案1】:

    在黑暗中有点刺,但是......

    我怀疑它实际上对你来说是失败的,但是the default retry count max_retries = 25 启动并且你看不到错误消息。那里的重试机制有指数回退(这有利于其他原因),所以25 重试需要几分钟才能结束。

    尝试将max_retries 设置为12 并观察结果(我猜这将是一个错误)。

    【讨论】:

    • 很高兴知道这是一个选项,但遗憾的是仍然没有显示我的错误。在收到任何错误消息之前,我必须对问题资源执行apply target
    【解决方案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

    【讨论】:

    • 您描述的症状(即“全局”应用和目标应用之间的不一致)确实让我认为这可能是一些 Terraform 错误。或者 AWS 端的事情不是确定性的。我的意思是 - 他们服务器端的错误可能会来来去去。
    猜你喜欢
    • 1970-01-01
    • 2017-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-08
    • 1970-01-01
    相关资源
    最近更新 更多