gpt4 book ai didi

shell - Google Cloud DNS 更改记录资源更新时间

转载 作者:行者123 更新时间:2023-12-04 12:11:18 25 4
gpt4 key购买 nike

我目前正在尝试使用 Google Cloud DNS 将具有临时 IP 的 Compute Engine VM 映射到主机名,此操作发生在 VM 启动时。我通过 shell 脚本执行此操作,如下所示:

gcloud dns record-sets transaction start -z=MY_ZONE
gcloud dns record-sets transaction remove --zone MY_ZONE \
--name subd.domain.com \
--type A "1.2.3.4" \ #the old external ip for the VM
--ttl 300
gcloud dns record-sets transaction add --zone MY_ZONE \
--name subd.domain.com \
--type A "5.6.7.8" \ #the new external ip for the VM
--ttl 300
gcloud dns record-sets transaction execute -z=MY_ZONE

脚本运行后,我可以在 Cloud DNS UI 中看到记录成功更改,“A”RR 具有新的外部 IP。

现在发生的事情是,这些变化需要很长时间才能真正生效。更改后访问主机名“subd.domain.com”会返回持续很长时间的“NXDOMAIN”状态,然后才最终将域映射到新 IP。

这种情况给我带来了两个问题:

#1 为什么 DNS 会经历 NXDOMAIN 阶段?这些更改不应该充当 Update (由于在事务中运行它)而不是作为 Remove然后 Create.
#2 是什么决定了此记录更新上线的时间?

最佳答案

我将根据几十年的 DNS 经验提出这个建议。不要将 DNS 视为您的按需数据库。 DNS 生态系统并非旨在支持您尝试做的事情。链中的每个链接都会缓存 DNS 条目。您无法控制此过程。在您的示例中,您的 TTL 为 300 秒。在您上面的下一个服务器使您的条目过期之前,至少需要 5 分钟。许多缓存会忽略您的 TTL,并将其设置为数小时甚至数天。您需要将 DNS 设置设计为“最终一致”而不是“即时一致”。最终意味着数小时或数天。

在规划 DNS 更改时,我计划至少 48 小时让更改生效。这意味着我们在旧 DNS 条目上维护服务,而新 DNS 条目生效。

关于shell - Google Cloud DNS 更改记录资源更新时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53319001/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com