
我們剛剛遷移到新的內部 DNS 解析器,並發現了一個影響我們查找特定記錄的能力的限制。
我們的內部(私人)權威域名是example.net.
.我們有一條 CNAME 記錄,可service.example.net.
解析為name-1234567890.region.elb.amazonaws.com.
name-1234567890.region.elb.amazonaws.com.
解析為各種 A 記錄,其值由 AWS 管理。我們不管理公共 amazonaws.com 區域,也不管理該區域內的記錄。
我們先前的 DNS 解析器會「追蹤」CNAME 記錄,因此尋找service.example.net.
可能會傳回以下內容:
$ dig service.example.net
...
;; ANSWER SECTION:
service.example.net. 300 IN CNAME name-1234567890.region.elb.amazonaws.com.
name-1234567890.region.elb.amazonaws.com. 26 IN A 10.1.2.3
name-1234567890.region.elb.amazonaws.com. 26 IN A 10.1.2.4
答案包括 CNAME 指向的 A 所記錄的 IP。都好。
我們的新 DNS 解析器不會「追蹤」CNAME 記錄。使用新解析器的相同查找如下所示:
$ dig service.example.net
...
;; ANSWER SECTION:
service.example.net. 300 IN CNAME name-1234567890.region.elb.amazonaws.com.
....注意缺失的 A 記錄。嘗試透過 ping、curl、python 請求等聯繫service.example.net
都會導致「未知主機」失敗。
我們無法更改新 DNS 解析器的行為。 Linux 核心或某些本機 DNS 解析器中是否有某些選項可以從客戶端「追蹤」CNAME 記錄,就像我們舊的 DNS 解析器在伺服器端所做的那樣?
就上下文而言,我們的新 DNS 解析器是 GCP 的 cloud-dns,它文件這種行為。
一些額外的上下文/評論答案:
- 範例.net。是我們擁有的 cloud-dns 中的私有內部管理區域。
- amazonaws.com。是一個公共區域,由 AWS 管理。
- iirc,帶有附加名稱伺服器的出站伺服器策略將會傳送全部對這些名稱伺服器的查詢,覆蓋 cloud-dns
- iirc,ALIAS 記錄僅在公共區域中可用,在私人區域中不可用。
- service.exmaple.net。是私有託管 cloud-dns 區域 example.net 中的 CNAME 記錄。
- 我們在 AWS 中沒有業務,因此無法使用 Route53。
答案1
您需要指向負載平衡器的公共 dns 名稱,而不是直接指向負載平衡器的內部 ip
name-1234567890.region.elb.amazonaws.com
因此刪除a記錄並將cname值變更為負載平衡器的公共dns名稱
答案2
我想提供有關此問題的最新資訊。自從發現這個問題後,GCP 開始推出針對 cloud-dns 的實驗性功能,該功能確實會追蹤公共 CNAME 記錄。在撰寫本文時(2024 年 4 月),需要向 GCP 支援明確要求此功能。我不確定它什麼時候會上市。
在該功能提供給我們之前,我們透過amazonaws.com
在我們的 cloud-dns 中建立一個私人轉送區域來解決這個問題,該區域轉送到公共 DNS 解析器(我們使用 8.8.8.8、1.1.1.1 等)。這是有效的,因為在私有區域之間的 cloud-dns 中啟用了 CNAME 追蹤。由於amazonaws.com
現在被 cloud-dns 視為私有區域,CNAME 追逐請求現在可以正常解析。
答案3
為了解析aws記錄,我建議從aws查看route53。
Amazon Route 53 是 Amazon Web Services (AWS) 提供的可擴充且高度可用的網域名稱系統 (DNS) Web 服務。它可以有效地將 example.com 等用戶友好的網域轉換為電腦用來在互聯網上相互識別的 IP 位址。
- 網域註冊:Route 53 允許您註冊和管理網域。您可以購買新網域或將現有網域轉移到 Route 53。
- DNS 服務:Route 53 可作為 DNS 服務供應商,可讓您管理網域的 DNS 記錄。 DNS 記錄包含 A 記錄(將網域名稱對應到 IP 位址)、CNAME 記錄(將網域名稱對應到其他網域)、MX 記錄(指定郵件伺服器)等。 )執行運行狀況檢查,並自動將流量從不健康的端點路由到健康的端點。此功能通常用於實施故障轉移和災難復原解決方案。
- 流量管理:Route 53 提供流量管理功能,可讓您根據延遲、地理位置、加權路由等各種因素控制 DNS 查詢的路由方式。這使您能夠優化應用程式的效能和可用性。例如,您可以使用 Route 53 將流量路由至 ELB 負載平衡器或 CloudFront 分配。
- DNSSEC:Route 53 支援DNS 安全擴充(DNSSEC),它透過對DNS 記錄進行數位簽名,為您的DNS 基礎設施添加額外的安全層。為將流量路由到應用程式提供了基礎和互聯網上的服務。它提供了管理 DNS、提高效能和確保高可用性的高級功能。