为什么我使用 terraform 资源 aws_route53_record 创建的 Route53 记录无法公开解析?

Why does a Route53 record I created with terraform resource aws_route53_record not resolve publicly?

尝试创建一个最简单的示例 aws_route53_record 创建记录

Example

resources

但是当我这样做时 dig 它没有解决。我刚刚在 5 分钟前创建了记录。是因为我无法对我的 public IP 执行此操作还是需要时间才能生效?

$ dig server1.devops.academy

; <<>> DiG 9.10.6 <<>> server1.devops.academy
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 10146
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;server1.devops.academy.                IN      A

;; AUTHORITY SECTION:
devops.academy.         331     IN      SOA     ns-1155.awsdns-16.org. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400

;; Query time: 9 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Sat May 16 14:18:29 +04 2020
;; MSG SIZE  rcvd: 136

为什么我使用 aws_route53_record 创建的 Route53 记录无法解析 publicly?

为了让 DNS 记录解析 publicly,您需要:

  1. a public 53 号公路区域(你有这个)
  2. 要public在域注册商处注册的域(Route 53 域可以使用)- 我怀疑您没有这个
  3. 域注册商让 SOA 和 NS 从 public Route 53 区域反映您的名称服务器(应该是自动的)

确保注册域并向注册商更新 NS 和 SOA,以匹配来自您的 Route53 区域的名称服务器(如果您使用的是 Route 53 域,请选择 Route 53 区域)。之后你的问题应该得到纠正。

以下是如何在 AWS 控制台的 Route 53 Domains 中注册一个域(考虑到这花费大约 12 美元,我不建议在您对这个过程非常满意之前进行自动化)。

  1. 登录 AWS 控制台
  2. 在服务下搜索 Route 53
  3. 前往 53 号公路
  4. 在左侧导航中选择注册域名
  5. 点击注册域
  6. 在“选择域名”中,输入您想要的域名
  7. 如果有货并且价格可以接受,选择加入购物车
  8. 在列表底部,单击继续
  9. 在联系人类型中,选择人员
  10. 输入您的信息
  11. 保留隐私保护(它是免费的,您可能不需要此域的代码签名证书等需要 public 联系信息的东西)
  12. 查看最后一页的详细信息(启用自动续订,丢失域是一件非常头疼的事情,您可以随时在续订前取消它)
  13. 阅读 AWS 域注册协议,了解您的权利和责任,并在
  14. 之后勾选 "I have read" 复选框
  15. 点击完成订单

域可能需要几个小时才能成功注册。

有关此过程的更多信息,请点击此处: https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-register.html