如何加快 DNS 记录集更新生效?

如何加快 DNS 记录集更新生效?

我最近更改了我们的 DNS 记录集并更新了 CNAME 和 IP。例如,我现在转发web.xyz.comprod.xyz.com

我理解这些更改可能需要几个小时才能生效,因为 DNS 会将值存储 24-48 小时(或任何 TTL)。我希望更改能更快生效(最好是立即生效)。我该怎么做才能实现这一点?作为参考,我正在为此使用 Cloud DNS。

更新:我想知道在做出更改后是否有办法做到这一点。理想情况下,人们会在做出更改之前减少 TTL,这样就不需要这样做了。

答案1

I understand that these changes may take hours to take effect because the DNS stores the values for 24-48 hours. I want the changes to take effect faster (or ideally immediately). What can I do to achieve this?

嗯... 它将花费与为这些记录配置的 TTL 一样长的时间... 并且仅适用于已缓存这些记录的 DNS 客户端。如果 TTL 是 2 小时,则将花费 2 小时。如果 TTL 是 48 小时,则将花费 48 小时。如果 DNS 客户端尚未缓存这些记录,那么他们将在查询您的 DNS 服务器时立即获取新数据。如果您想减少记录的缓存时间,请降低记录的 TTL。

答案2

DNS 传播延迟基于对域的最后访问以及为特定 RR(资源记录)设置的 TTL 值。如果解析器无法在其缓存中找到条目,它将开始从根服务器查询,直到权威名称服务器以获取所请求的资源。当非权威 DNS 服务器查找您的域时,它们会将记录缓存数百秒,这样它们就不必对 ttl 值定义的后续请求进行另一次查找。尽管情况确实如此,但除非最近发生变化的资源通过该解析器非常频繁地提供服务,否则更改将很快反映出来,只需几个小时。大多数问题是由于代理或本地浏览器缓存而发生的。根据我的经验,最坏的情况需要 12 - 48 小时。所以,快速回答是否定的,但这取决于情况。如果您可以在请求方更改名称服务器,这将使他们的流程更快。

DNS RR 修改的经验法则是预先降低 TTL 值,以便为即将进行的更改快速生效留出空间。一旦进行更改,用户端的本地解析器将决定如何执行名称解析。

附注:大多数情况下,TTL 值通常默认设置为几个小时。

相关内容