本頁面提供記錄總覽,並列出 Cloud DNS 支援的 DNS 記錄類型。
記錄是 DNS 資源和網域名稱之間的對應關係。每個 DNS 記錄都包含類型 (名稱和編號)、到期時間 (存留時間) 和類型專屬資料。
支援的 DNS 記錄類型
Cloud DNS 支援下列類型的記錄。
記錄類型 | 說明 |
---|---|
A |
位址記錄,用來將主機名稱對應至其 IPv4 位址。 |
AAAA |
IPv6 位址記錄,用來將主機名稱對應至其 IPv6 位址。 |
ALIAS |
別名記錄 (預先發布版),可將別名網域名稱對應至可用區頂端的正式名稱。別名記錄也稱為 ANAME 記錄或 CNAME 扁平化。 您可以使用 gcloud CLI 或 Cloud DNS API 設定別名記錄。您無法使用 Google Cloud 主控台設定別名記錄。 |
CAA |
憑證授權單位 (CA) 授權,用來指定允許哪些 CA 建立網域的憑證。 |
CNAME |
正式名稱記錄,用來指定別名。 如果在建立 CNAME 記錄時遇到問題,請參閱「在不公開區域中定義的 CNAME 記錄無法運作」。 |
DNSKEY |
其他營運商用於安全傳輸的 DNSSEC 金鑰。這個記錄集類型只能在「移轉」狀態下新增至已啟用 DNSSEC 的區域。 |
DS |
用於安全委派區域的 DNSSEC 金鑰指紋。除非您為委任區域啟用並啟動 DNSSEC,否則這個記錄集類型不會為該區域啟動 DNSSEC。 |
HTTPS |
HTTPS 服務繫結記錄,可讓來源指示多個替代端點,每個端點都有相關聯的參數。這個記錄也會將 HTTP 重新導向至 HTTPS。這個記錄類型是以較通用的 SVCB 記錄類型為基礎,並使用相同的值格式。 |
IPSECKEY |
IPsec 通道閘道資料和公開金鑰,具有 IPsec 功能的用戶端可用來啟用隨機加密。 |
MX |
郵件交換記錄,將要求轉送至郵件伺服器。 |
NAPTR |
RFC 3403 定義的命名機構指標記錄。 |
NS |
名稱伺服器記錄,將 DNS 區域委派給權威伺服器。 |
PTR |
指標記錄,常用於反向 DNS 查詢。 |
SOA |
起始點授權記錄,指定有關 DNS 區域的權威資訊。系統會在您建立代管區域時建立 |
SPF |
寄件者政策架構記錄,之前在電子郵件驗證系統中使用的已淘汰記錄類型 (現已改用 TXT 記錄)。 |
SRV |
服務定位器記錄,由 VoIP、即時傳訊通訊協定和其他應用程式使用。 |
SSHFP |
SSH 指紋,SSH 用戶端用來驗證 SSH 伺服器的公開金鑰。 |
SVCB |
服務繫結記錄,可讓邏輯服務指示多個替代端點,每個端點都有相關聯的參數。如需瞭解 HTTPS 來源,請參閱 HTTPS 記錄類型。 |
TLSA |
TLS 驗證記錄,TLS 用戶端用來驗證 X.509 伺服器憑證。 |
TXT |
文字記錄,可包含任意文字,也可用來定義機器可解讀的資料,例如安全或濫用防範資訊。 TXT 記錄可含有一或多個文字字串,每個 個別字串的長度上限為 255 個字元。郵件代理程式和其他軟體代理程式會串聯多個字串。請將每個字串都置於引號之中, |
如要新增、刪除或更新記錄,請參閱管理記錄。
萬用字元 DNS 記錄
Cloud DNS 支援所有記錄類型的萬用字元記錄,但 NS 記錄除外。
別名記錄
ALIAS 記錄是 Cloud DNS 自訂記錄類型,其行為類似 CNAME 記錄,但只能在區域頂端使用,且只會回應位址記錄 (A 或 AAAA) 查詢。具體來說,別名記錄類型會將別名網域名稱對應至正式名稱,並使用正式名稱查詢答案。當您需要在頂層使用 CNAME 行為時,這個記錄類型就很實用。您無法在頂層放置 CNAME 記錄,因為 CNAME 記錄無法與任何其他記錄類型並存,包括在區域頂層所需的 SOA 記錄。
ALIAS 記錄是 Cloud DNS 專用,不會向查詢 Cloud DNS 區域的外部用戶端公開。對用戶端而言,DNS 回應中的別名記錄會顯示為標準 A 或 AAAA 記錄。ALIAS 記錄與 DNSSEC 不相容,因此您無法在包含 ALIAS 記錄的區域中啟用 DNSSEC。
您可以像管理其他記錄一樣管理 ALIAS 記錄。如要瞭解如何管理記錄,請參閱「管理記錄」。
查詢解析程序
別名記錄僅適用於 Cloud DNS 公開區域。
對於 CNAME 記錄,解析器負責解析標準名稱。對於別名記錄,Cloud DNS 名稱伺服器會解析正規名稱,並產生合成的 A 或 AAAA 記錄,以便傳回至解析器。經過合成的 A 或 AAAA 記錄會包含 ALIAS 記錄的名稱,以及透過解析 ALIAS 記錄目標所找到的 IP 位址。Cloud DNS 名稱伺服器會使用 Google 提供的遞迴解析器來解析別名記錄。
如果別名目標解析為含有多個位址的資源記錄集 (RRSet),Cloud DNS 會傳回所有記錄,但會在傳回合成位址記錄之前隨機排序。這個程序類似於 Cloud DNS 處理其名稱伺服器回應的方式。
只有在別名記錄目標解析期間,系統才會合成地址記錄。查詢 ALIAS 記錄時,系統不會傳回解析別名記錄目標時找到的任何中介 CNAME 記錄。在到達別名記錄之前,透過 CNAME 追逐找到的 CNAME 記錄會以未修改的形式傳回。如果 ALIAS 目標解析失敗,也就是傳回 NOERROR
以外的回應代碼,Cloud DNS 名稱伺服器會傳回 SERVFAIL
回應給用戶端。如果解析結果是 NODATA
回應 (即沒有地址記錄的 NOERROR
回應),Cloud DNS 名稱伺服器會傳回 NODATA
回應。
解析 ALIAS 記錄目標時,Cloud DNS 不會使用用戶端提供的 EDNS 用戶端子網路。
存留時間 (TTL) 參數和快取
透過合成地址記錄傳回的 TTL 值,是 ALIAS 記錄所設定的 TTL 值和解析 ALIAS 目標時遇到的 TTL 值中最小者。使用這個方法時,傳回的 TTL 可能會小於別名記錄所設定的 TTL,但絕不會大於所設定的 TTL。
以下範例說明如何為合成地址記錄決定 TTL。
假設在 Cloud DNS 代管區域中設定了下列記錄:
example.com. 3600 SOA ns.com. admin.example.com. (...) 86400 NS ns.com. 6000 ALIAS test-cname.example.com. test-cname 3000 CNAME address.example.com. address 5000 A 1.2.3.4
針對 example.com
的 A 記錄,對這個可用區執行查詢時,會傳回類似下列的回應:
QUESTION SECTION example.com. A ANSWER SECTION example.com. 3000 A 1.2.3.4
解析期間遇到的 TTL 為 6000 (別名記錄)、3000 (CNAME 記錄) 和 5000 (A 記錄)。在這些 TTL 中,3000 是最小的,因此會在合成地址記錄中傳回。
為了簡單起見,這個範例會顯示同一區域中的所有記錄,但對於跳過不同區域的解析度,TTL 邏輯則完全相同。
權威回答位元
無論與該名稱相關聯的資料是在伺服器上找到,還是透過別名記錄解析方式擷取,DNS 回應中的權威位元都會根據鏈結中的首個名稱 (原始 qname
) 計算。
處理錯誤
如要解析 ALIAS
記錄,Cloud DNS 會使用第三方權威名稱伺服器來判斷 DNS 委派作業,並擷取外部代管的 DNS 資料。如果 Cloud DNS 無法解析 ALIAS
記錄目標 (ALIAS
目標解析結果會導致錯誤 RCODE
值,例如 NXDOMAIN
或 REFUSED
),就會傳回 SERVFAIL
回應。舉例來說,如果 ALIAS
目標不存在,或是無法連線至其權威伺服器,Cloud DNS 就會傳回 SERVFAIL
。
由於 SERVFAIL
提供的錯誤資訊有限,Cloud DNS 記錄會納入 ALIAS
記錄解析期間遇到的特定 RCODE
值,協助您排解錯誤。如要瞭解如何使用 Cloud DNS 記錄功能,請參閱「使用記錄和監控功能」。
如果 ALIAS
目標解析結果為 NODATA
回應 (含有 NOERROR
RCODE
的空白回應),Cloud DNS 會傳回 NODATA
。ALIAS
記錄會與 A
和 AAAA
查詢相符,但 ALIAS
目標只能保留一種記錄類型。這是預期的行為,不會導致回應中出現錯誤 RCODE
值。
匯入及匯出記錄
您可以匯入及匯出 BIND 區域檔案或 YAML 檔案中的記錄。
由於 ALIAS 記錄類型並非標準 DNS 記錄類型,因此 BIND 檔案不支援 ALIAS 記錄。雖然 Cloud DNS 會辨識這些項目,但其他與 BIND 相容的 DNS 軟體可能不會。
系統會將 ALIAS 記錄匯出至 Cloud DNS 專用的 YAML 檔案,格式如下:
kind: dns#resourceRecordSet name: DNS Name rrdatas: RR Data ttl: TTL type: ALIAS
Cloud DNS 可使用上述格式,從 YAML 檔案匯入 ALIAS 記錄。
安全性與隱私權
Cloud DNS 公開名稱伺服器會代為解析 ALIAS 目標,但您必須確保已正確設定 ALIAS 目標;如果 ALIAS 目標設定錯誤,可能會導致公開記錄無法正常運作,或傳回不必要的 IP 位址。
監控代管可用區
Cloud DNS 會透過記錄功能,記錄所有對代管區域的查詢。DNS 查詢記錄檔中提供選用欄位 alias_query_response_code
,可記錄 ALIAS 名稱解析狀態的相關資訊,因為這類資訊無法從 DNS 回應中取得。
詳情請參閱「查看記錄」。
只有在使用別名記錄解析查詢時,才會設定 alias_query_response_code
。如果值為 NoError
,表示系統已成功解析別名記錄,如果是其他值,則表示發生錯誤。SERVFAIL
值可代表下列任一問題:
- 無法連線至目標名稱伺服器
- 目標解析度在找到回應前逾時
- DNSSEC 驗證失敗
記錄項目中的 qtype
欄位沒有 ALIAS 選項。如果使用 ALIAS 記錄回答 A 或 AAAA 查詢,qtype
欄位仍會是 A 或 AAAA。
後續步驟
如要開始使用 Cloud DNS,請參閱「快速入門:使用 Cloud DNS 設定網域名稱的 DNS 記錄」。
如要註冊及設定網域,請參閱教學課程:使用 Cloud DNS 設定網域。
如要瞭解 API 用戶端程式庫,請參閱「範例和程式庫」。
如要找出使用 Cloud DNS 時可能遇到的常見問題解決方案,請參閱「疑難排解」。