DNS TTL 在連結 CNAME 配置中如何運作?

DNS TTL 在連結 CNAME 配置中如何運作?

我的 DNS 配置如下所示:

www.example.com                 600  IN   CNAME prod.myzone.l2.company.example
prod.myzone.l2.company.example      600  IN   CNAME ssl-endpoint-12345.hostcorp.example
ssl-endpoint-12345.hostcorp.example 60   IN   A     192.0.2.4

因此鏈中前兩條 CNAME 記錄的 TTL 為 10 分鐘,最後一條 A 記錄的 TTL 為 1 分鐘

CNAMEprod.myzone.l2.company.example在多個端點之間進行區域負載平衡,如果我的 DNS 提供者確定當前端點運行狀況不佳,則會自動更新。因此,我希望prod.myzone.l2.company.example盡快傳播 CNAME 的變更。

如果我想減少用戶端在prod.myzone.l2.company.example更改時看到的整體 TTL,是否僅減少記錄的 TTL 就足夠了prod.myzone.l2.company.example,還是還需要減少www.example.com記錄上的 TTL?

答案1

for記錄TTLCNAME工作方式與其他記錄沒有任何不同。

讓我們想像一個遞歸解析器,上面的內容透過它進行。然後它用以下內容填充其快取:

  • www.example.com CNAME有效期限600秒
  • prod.myzone.l2.company.example CNAME有效期限600秒
  • ssl-endpoint-12345.hostcorp.example A有效期限60秒

如果後來有人ssl-endpoint-12345.hostcorp.example A直接查詢,則適用 60 秒 TTL。

但如果查詢是針對 的www.example.com,那麼解析器將看到它沒有記錄A,但有 CNAME,然後重複使用上述所有內容。

在上述之後的 66 秒(例如),www.example.com仍然在解析器快取中,但ssl-endpoint-12345.hostcorp.example A不會再存在,因此解析器必須執行新的 DNS 查詢來取得該數據,並將其快取。

相關內容