通过Amazon AWS Route 53的api,我将新的CNAME记录添加到现有区域。我想测试一下是否正确添加了记录。
我需要等待传播吗?或者,因为它的新记录会被立即抓住吗?
我看到一篇文章提到等待它传播,但它是为了创建一个全新的区域;我将其添加到现有的中并不需要这样做。
用例是我可以动态添加这些(CNAME记录)并需要检查以确保它们被正确添加。
答案 0 :(得分:2)
我认为你混合了两件事:基于提供商网络界面的更新与一方面所有Route53权威名称服务器的更改之间的延迟,以及权威名称服务器更改后所有递归的延迟之后的另一方面世界上的名字服务器要注意。第一种情况仅取决于亚马逊基础设施。但您可以查询其权威名称服务器并查看资源是否已发布。第二种情况不是传播,而是依赖于TTL和负TTL。
所以我将更多地关注第二种情况。
方法很简单:
首先,一些术语。每个人都使用这个词,但"传播"在DNS的背景下是错误的。因为当您在权威名称服务器上更改某些内容时,他们不会将其更改自上而下推送到世界上所有其他递归名称服务器,因为这是不可能的。 相反,递归的名称服务器会在某些时候出现#34; (它取决于区域内容,缓存状态和本地策略),在重定向到它们的查询之后(除了罕见的前期自动缓存续订情况)再次联系权威名称服务器之一并提取最新数据。
所以,你可以开始查询一些"众所周知的"打开递归名称服务器,看看他们为您的资源学到了什么:1.1.1.1
,8.8.8.8
或9.9.9.9
,除了您自己的本地服务器(在您自己的服务器上运行或使用您的ISP服务器),以及使用多个缓存可能会有用,因为它们的缓存将处于不同的状态,这将影响结果,如上所述。
以下是有关查询资源的特定递归名称服务器时会发生什么的一些详细信息:
因此,关键是始终要明确区分权威与递归名称服务器的测试,并充分了解附加到递归缓存的属性。
答案 1 :(得分:0)
Route53是一个分布式DNS管理系统。在托管区域中创建新的CNAME或任何记录集时,需要将其传播到在AWS边缘位置运行的分布式服务器。这可能需要几秒到几分钟。
注意:创建记录集的推广与更新不同。这是因为即使在更新之后,旧记录集也可以达到外部缓存中定义的TTL值。