DNS 記錄總覽

本頁提供記錄簡介,並列出 Cloud DNS 支援的 DNS 記錄類型,包括 Cloud DNS 自訂記錄類型 ALIAS。

A 記錄是 DNS 資源與網域名稱之間的對應檔。每筆 DNS 記錄都具有類型 (名稱和編號)、到期時間 (存留時間) 和類型專屬資料。

如要建立及管理資源記錄集,請參閱「新增、更新及刪除記錄」。

別名記錄

別名 (ALIAS) 記錄是 Cloud DNS 的自訂記錄類型,行為類似 CNAME 記錄,但只能在區域頂層使用,且只會回應位址記錄 (A 或 AAAA) 查詢。具體來說,ALIAS 記錄類型會將別名網域名稱對應至正規名稱,並使用正規名稱查詢回應。如需在頂層採取 CNAME 行為,這個記錄類型就非常實用。頂層無法放置 CNAME 記錄,因為這類記錄無法與任何其他記錄類型並存,包括區域頂層必須具備的 SOA 記錄。

ALIAS 記錄是 Cloud DNS 專用的記錄,絕不會向查詢 Cloud DNS 區域的外部用戶端公開。對用戶端而言,ALIAS 記錄會以標準 A 或 AAAA 記錄的形式顯示在 DNS 回應中。ALIAS 記錄與 DNSSEC 不相容,因此無法在具有 ALIAS 記錄的區域啟用 DNSSEC。

管理 ALIAS 記錄的方式與管理其他記錄相同。如要瞭解如何管理記錄,請參閱「管理記錄」。

查詢解析程序

別名記錄僅適用於 Cloud DNS 公開區域。

針對 CNAME 記錄,解析器會負責解析正規名稱。ALIAS 記錄則由 Cloud DNS 名稱伺服器解析正規名稱,並產生合成的 A 或 AAAA 記錄,傳回給解析器。合成的 A 或 AAAA 記錄會使用 ALIAS 記錄的名稱,以及解析 ALIAS 記錄目標時找到的 IP 位址。Cloud DNS 名稱伺服器會使用 Google 可用的遞迴解析器來解析別名記錄。

如果別名目標解析為具有多個位址的資源記錄集 (RRSet),Cloud DNS 會傳回所有記錄,但會先隨機排序,再傳回合成位址記錄。這個程序類似於 Cloud DNS 處理網域名稱伺服器回應的方式。

解析 ALIAS 記錄目標時,系統只會合成位址記錄。查詢 ALIAS 記錄,並不會傳回解析別名記錄目標時找到的任何中介 CNAME 記錄。在到達 ALIAS 記錄之前,透過 CNAME 追蹤找到的 CNAME 記錄會原封不動傳回。如果 ALIAS 目標解析失敗 (即傳回 NOERROR 以外的回應代碼),Cloud DNS 名稱伺服器會向用戶端傳回 SERVFAIL 回應。如果解析作業產生 NODATA 回應 (即不具位址記錄的 NOERROR 回應),Cloud DNS 名稱伺服器會傳回 NODATA 回應。

解析 ALIAS 記錄目標時,Cloud DNS 不會使用由用戶端提供的 EDNS 用戶端子網路

存留時間 (TTL) 參數和快取

透過合成位址記錄傳回的 TTL 值,是 ALIAS 記錄設定的 TTL 值,以及解析 ALIAS 目標時遇到的 TTL 值中最小的值。使用這個方法時,傳回的 TTL 可能小於 ALIAS 記錄設定的 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 (ALIAS 記錄)、3000 (CNAME 記錄) 和 5000 (A 記錄)。其中最小的值是 3000,因此合成的位址記錄會傳回此值。

為簡單起見,這個範例顯示同一區域中的所有記錄,但即使解析作業跨越不同區域,TTL 邏輯也完全相同。

權威回應位元

DNS 回應中的權威位元,以鏈結 (原始 qname) 中的第一個名稱為準,無論與該名稱相關聯的資料是否位於伺服器上,或是透過 ALIAS 記錄解析擷取而來,皆是如此。

錯誤處理

為解析 ALIAS 記錄,Cloud DNS 會使用第三方權威名稱伺服器來判斷 DNS 委派作業,並擷取外部託管的 DNS 資料。如果 Cloud DNS 無法解析 ALIAS 記錄目標 (即 ALIAS 目標解析作業產生錯誤 RCODE 值,例如 NXDOMAINREFUSED),會傳回 SERVFAIL 回應。舉例來說,如果 ALIAS 目標不存在或其權威伺服器無法連線,Cloud DNS 會傳回 SERVFAIL

由於 SERVFAIL 提供的錯誤資訊有限,Cloud DNS 記錄會包含 ALIAS 記錄解析期間遇到的特定 RCODE 值,協助排解錯誤。如要瞭解如何使用 Cloud DNS 記錄,請參閱「使用記錄和監控功能」。

如果 ALIAS 目標解析作業產生 NODATA 回應 (含有 NOERROR RCODE 的空白回應),Cloud DNS 會傳回 NODATAALIAS 記錄同時符合 AAAAA 查詢,但 ALIAS 目標只能保留一種記錄類型。這是預期行為,不會產生含有錯誤 RCODE 值的回應。

匯入及匯出記錄

您可以匯入及匯出 BIND 區域檔案或 YAML 檔案中的記錄。

BIND 檔案不支援 ALIAS 記錄,因為 ALIAS 記錄類型並非標準 DNS 記錄類型。雖然 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 可透過 Logging 記錄針對代管區域發出的所有查詢。DNS 查詢記錄檔提供選填欄位 alias_query_response_code,可記錄 ALIAS 名稱解析狀態的相關資訊,因為 DNS 回應不提供這類資訊。

詳情請參閱「查看記錄」。

只有在使用 ALIAS 記錄解析查詢時,才需設定 alias_query_response_code。如果值為 NoError,表示 ALIAS 記錄解析成功,其他值則代表錯誤。SERVFAIL 值可能代表下列任一問題:

  • 無法連線至目標網域名稱伺服器
  • 目標解析作業已逾時,但系統尚未找到回應
  • DNSSEC 驗證失敗

記錄項目的 qtype 欄位沒有 ALIAS 選項。如果使用 ALIAS 記錄回應 A 或 AAAA 查詢,qtype 欄位內容會維持為 A 或 AAAA。

支援的 DNS 記錄類型

Cloud DNS 支援下列類型的記錄:

記錄類型 Enter 鍵
A

主機的數值 IP 位址 (採用 IPv4 加點十進位格式)。A 記錄類型會將 IPv4 位址對應至網域名稱,並決定網域名稱的要求導向何處,例如 192.0.2.91

AAAA

主機的數值 IP 位址 (採用 IPv6 十六進制格式)。AAAA (四個 A) 記錄類型會將 IPv6 位址對應至網域名稱,並決定網域名稱的要求導向何處,例如 2001:db8::8bd:1002

ALIAS (預先發布版)

別名記錄 (預覽版),用來將別名網域名稱對應至區域頂點節點的正規名稱。別名記錄也稱為 ANAME 記錄或 CNAME 扁平化。

您可以透過 gcloud CLI 或 Cloud DNS API 設定別名記錄,但無法使用 Google Cloud 控制台設定。

別名記錄也稱為 ANAME 記錄或 CNAME 扁平化。

CAA

有權為這個網域核發憑證的憑證授權單位,例如 ca.example.net

建立 CAA 記錄類型,確保未經授權的憑證授權單位不會為您的網域核發憑證。

CNAME

A 記錄的 DNS 別名,比方說,www.example.com 的 DNS 別名為 ftp.example.com。在本範例中,ftp.example.com 是與 www.example.com 位於相同伺服器中的服務。指向 ftp.example.com 的連結會接收 www.example.comA 記錄。

您也可以使用 CNAME 記錄類型指向完全不同的網域名稱,例如 www.example.com 的 DNS 別名是 altostrat.com

名稱伺服器有時會傳回 CNAME 記錄和 CNAME 值參照的 A 記錄,這種行為稱為「CNAME 追蹤」

如果建立 CNAME 記錄時發生問題,請參閱「 私人區域中定義的 CNAME 記錄無法運作 」。

DNSKEY

解析器用來驗證記錄真實性的 DNSSEC 公開金鑰 (驗證時會使用 ZSK 和 KSK 金鑰)。

例如 7200 IN DNSKEY 256 3 8 AwEAAarQO0FTE/l6LEKFlZllJIwXuLGd3q5d8S8NH+ntOeIMN81A5wAI

在這個範例中,7200 是 TTL,256DNSKEY 旗標的十進位表示法,3 是 DNSSEC 的通訊協定指標,8 則是金鑰採用的 RSA/SHA-256 加密編譯演算法。

您只能在處於 Transfer 狀態,而且已啟用 DNSSEC 的公開區域中新增這個記錄類型。詳情請參閱「管理 DNSSEC 設定」一文。

DS

用於安全委任區域的 DNSSEC 金鑰指紋。

例如:7200 IN DS 31523 5 1 c8761ba5defc26ac7b78e076d7c47fa9f86b9fba。 在這個範例中,7200 是 TTL,31523 是金鑰標記,5 是演算法,1 則是摘要類型。

您只能在公開區域中新增這個記錄類型。除非您為委派的區域啟用並啟動 DNSSEC,否則這個記錄類型不會啟動這個區域的 DNSSEC。根據預設,系統不會替區域啟用 DNSSEC。

HTTPS

HTTPS Service binding 記錄,用於讓來源指定多個替代端點,每個端點都有相關聯的參數。這項記錄也會將 HTTP 重新導向 HTTPS。

例如 1 . alpn=h2, h3,其中 1 是服務優先順序 (SvcPriority),別名的優先順序為 0,服務說明則為 1-65535. 是 TargetName (如果與擁有者名稱相同,則為「.」),而 alpn=h2, h3 是服務參數 (SvcParams),由說明目標端點的鍵/值配對組成,並以空格分隔。

HTTPS 記錄類型是以更廣泛的 SVCB 記錄類型為基礎,且值採用相同的格式。

IPSECKEY

IPsec 通道閘道資料和公開金鑰,可供具 IPsec 功能的用戶端啟用隨機加密

舉例來說,10 1 2 192.0.2.1 AQNRU3mG7TVTO2BkR47usntb102uFJtugbo6BSGvgqt==,其中 10 是優先順序,值越低優先順序越高;1 是閘道類型;2 是演算法類型;192.0.2.1 是閘道。

詳情請參閱 RFC 4025

MX

偏好數值和郵件交換伺服器的 DNS 名稱,該伺服器會代表您的網域接收電子郵件。

例如:1 mail.example.com.,其中 1 是偏好設定編號。

SMTP 伺服器會優先使用偏好數值較小的伺服器。您可以輸入的最小偏好數值為 0

輸入 MX 記錄時,必須在結尾處加上點號 (.)。

您可以建立多筆記錄,並設定不同的優先順序,藉此設定備份郵件伺服器,或使用相同的優先順序,在多部郵件伺服器之間分配負載。

舉例來說,如要將電子郵件導向 Google Workspace 帳戶,請輸入下列內容:1 SMTP.GOOGLE.COM.

NAPTR

動態委派探索系統 (DDDS) 應用程式用來對應統一資源名稱 (URN) 的名稱授權指標規則。DDDS 應用程式會使用 NAPTR 記錄類型,將某個值轉換或替換成另一個值,以找出 URN。

在範例中,100 10 "u" "sip+E2U" "!^.*$!sip:information@example.com!i ." 100 是處理 NAPTR 記錄的順序,10 是偏好設定,用於指定記錄具有相同順序值時的處理順序,"u" 是控制記錄中欄位重寫和解讀方面的標記,""sip+E2U 是服務,"!^.*$!sip:information@example.com!i" 是規則運算式 (RegEx),其中包含套用至用戶端所持原始字串的替代運算式,以建構下一個網域查詢。最後,. 是「取代」,也就是要查詢的下一個網域名稱,取決於在 flags 欄位中找到的可能值。

詳情請參閱 RFC 3403

NS

為網域或子網域提供 DNS 服務的授權名稱伺服器 DNS 名稱。您的 NS 記錄必須與區域的名稱伺服器相符,例如 ns-1.example.com

PTR

網域的完整網域名稱 (FQDN) 或正規名稱會對應至 IP 位址,例如 server-1.example.com

PTR 記錄類型通常用於反向查詢。

SOA

起始授權機構記錄,用於指定有關 DNS 區域的權威資訊。代管區域建立時,系統會自動建立 SOA 記錄。您可以視需要修改此記錄 (例如將序號變更為任意編號,支援以日期為準的版本管理)。

例如: ns-cloud-c1.googledomains.com. cloud-dns-hostmaster.google.com 1 21600 3600 259200 300 其中 ns-cloud-c1.googledomains.com. 是 MNAME、 cloud-dns-hostmaster.google.com 是 RNAME、 1 是 SERIAL、21600 是 REFRESH、 3600 是 RETRY、259200 是 EXPIRE, 300 則是 MINIMUM。

詳情請參閱 RFC 1035

SPF

SPF 記錄類型已淘汰,請改用以 v=spf1 開頭的 TXT 記錄。現代的電子郵件軟體不會使用 SPF 類型記錄。

SRV

指定特定服務伺服器位置 (主機名稱和通訊埠號碼) 的資料。

例如 0 1 587 mail.example.com,其中 0 是目標主機的優先順序,1 是權重,587 則是連接埠號碼。

詳情請參閱 RFC 2782

SSHFP

SSH 指紋,供 SSH 用戶端用來驗證 SSH 伺服器的公開金鑰

例如 2 1 123456789abcdef67890123456789abcdef67890,其中 2 是 SSH 伺服器演算法編號,1 是指紋類型編號,123456789abcdef67890123456789abcdef67890 則是該指紋。

SVCB

Service binding 記錄,可供邏輯服務用於指定多個替代端點,每個端點都有相關聯的參數。

例如 0 alias-target.example.com,其中 0 是服務優先順序 (SvcPriority),別名的優先順序為 0,服務說明則為 1-65535

如果使用 HTTPS 來源,請參閱 HTTPS 記錄類型。

TLSA

具名實體 DNS 驗證 (DANE) TLSA 憑證協會資訊。

TLSA 記錄包含的資訊可用來驗證 X.509 憑證 (例如 HTTPS 使用的憑證),且驗證時不需要簽署憑證的預先設定憑證授權單位 (CA)。

例如 1 1 2 92003ba34942dc74152e2f2c408d29ec。在這個範例中,第一個 1 是 DNSSEC 的通訊協定指標,第二個 1 是公開金鑰,2 則是金鑰採用的 RSA/SHA-256 加密編譯演算法。

請只在已為區域啟用 DNSSEC 時,才使用這個記錄類型。

TXT

文字記錄,可以含有任意文字,也可用來定義機器可讀的資料,例如安全或濫用防範資訊。

TXT 記錄可含有一或多個文字字串,每個字串的長度上限為 255 個字元。如果記錄資料超過 255 個位元組,請將記錄分成 255 個位元組的字串,並以引號括住每個字串,例如 "String one 255 bytes" "String two 255 bytes"

郵件代理和其他軟體代理會串聯多個字串。

請使用引號括住每個字串,例如 "Hello world" "Bye world"

每筆 TXT 記錄的長度上限為 1000 個字元。如要提高上限,請聯絡 Google Cloud 支援團隊

後續步驟