本文提供 Cloud DNS 適用的重要術語,請詳閱這些字詞的說明,進一步瞭解 Cloud DNS 的運作方式和基礎概念。
Cloud DNS API 建構在專案、代管區域、記錄集及記錄集變更這幾項元素上。
- 專案
- Google Cloud 控制台專案是資源的容器、存取控管機制的作用範圍,也是設定和匯總帳單的地方。詳情請參閱「建立與管理專案」。
- 代管區域
代管區域用於存放網域名稱系統 (DNS) 名稱尾碼 (例如
example.com) 相同的 DNS 記錄。一個專案可以含有多個代管區域,但各區域的名稱不得重複。在 Cloud DNS 中,代管區域是用來表示 DNS 區域的資源。代管區域中的所有記錄,都託管於同一個由 Google 營運的名稱伺服器。這些名稱伺服器會依據區域的設定方式,回應代管區域的 DNS 查詢。一個專案可以含有多個代管區域。只要代管區域存在,每個區域的費用會逐日累計。代管區域支援標籤功能,可用來管理帳單。
- 公開區域
公開區域可供公開網際網路存取。Cloud DNS 具有公開權威名稱伺服器,不論查詢源自何處,都可以回應有關公開區域的查詢。您可在公開區域中建立 DNS 記錄,以便在網際網路上發布服務。舉例來說,您可以在公開網站
www.example.com的公開區域example.com中建立下列記錄。DNS 名稱 類型 TTL (秒) 資料 www.example.com A 300 198.51.100.0 Cloud DNS 會在建立公開區域時指派一組名稱伺服器。如要透過網際網路解析公開區域中的 DNS 記錄,您必須針對註冊商端的網域註冊資料更新名稱伺服器設定。
如要進一步瞭解如何註冊及設定網域,請參閱「使用 Cloud DNS 設定網域」。
- 私人區域
私人區域可讓您管理虛擬機器 (VM) 執行個體、負載平衡器及其他 Google Cloud 資源的自訂網域名稱,而不會向公開網際網路暴露基本的 DNS 資料。私人區域是一種 DNS 記錄容器,只能由您授權的一或多個虛擬私有雲 (VPC) 網路進行查詢。
您可以在建立或更新私人區域時,指定可以查詢該區域的授權虛擬私有雲網路清單。只有經授權的網路可以查詢您的私人區域;如果沒有指定任何授權網路,就完全無法查詢私人區域。
您可以將私人區域與 Shared VPC 搭配使用。如需將私人區域與 Shared VPC 搭配使用的重要資訊,請參閱「Shared VPC 的注意事項」。
私人區域不支援 DNS 安全性擴充功能 (DNSSEC) 或 NS 類型的自訂資源記錄集。針對私人區域中的 DNS 記錄發出的要求,必須透過中繼資料伺服器
169.254.169.254提交;以 Google 提供的映像檔所建立的 VM,將該伺服器設為預設內部名稱伺服器。您可以從使用授權虛擬私有雲網路的任何 VM,向此名稱伺服器提交查詢。例如,可以為
dev.gcp.example.com建立一個私人區域,用於託管實驗性應用程式的內部 DNS 記錄。下表列出該區域中的記錄範例。資料庫用戶端可使用內部 DNS 名稱 (而非 IP 位址) 連線到資料庫伺服器db-01.dev.gcp.example.com。資料庫用戶端會使用 VM 上的主機解析器來解析此內部 DNS 名稱,從而將 DNS 查詢提交至中繼資料伺服器169.254.169.254。中繼資料伺服器就像遞迴解析器,可以查詢您的私人區域。DNS 名稱 類型 TTL (秒) 資料 db-01.dev.gcp.example.comA 5 10.128.1.35 instance-01.dev.gcp.example.comA 50 10.128.1.10 您可透過私人區域建立水平分割 DNS 設定。 這是因為您可以建立包含一組不同記錄的私人區域,覆寫公開區域中的整組記錄。 如此一來,就能控管哪些虛擬私有雲網路可查詢私人區域中的記錄。如需範例,請參閱重疊區域。
- Service Directory
Service Directory 是Google Cloud 的代管服務註冊資料庫,可讓您透過 HTTP 或 gRPC (使用其 Lookup API) 註冊及探索服務,此外也能使用傳統 DNS。您可以使用 Service Directory 來註冊Google Cloud 和非Google Cloud 服務。
Cloud DNS 可讓您建立由 Service Directory 提供支援的區域,這類區域屬於私人區域,包含服務和端點的相關資訊。您不需要手動將記錄集新增至區域,系統會根據與區域相關聯的 Service Directory 命名空間設定,自動推論記錄集。如要進一步瞭解 Service Directory,請參閱「Service Directory 總覽」。
建立由 Service Directory 提供支援的區域時,您無法直接將記錄新增至該區域,系統會從 Service Directory 服務註冊資料庫取得資料。
- Cloud DNS 和非 RFC 1918 位址的反向查詢
根據預設,Cloud DNS 會透過公開網際網路,轉送非 RFC 1918 位址的 PTR 記錄要求。不過,Cloud DNS 也支援使用私人區域反向查詢非 RFC 1918 位址。
將虛擬私有雲網路設為使用非 RFC 1918 位址後,必須將 Cloud DNS 私人區域設為代管反向查詢區。這項設定可讓 Cloud DNS 在本機解析非 RFC 1918 位址,而不必透過網際網路傳送。
建立代管反向查詢 DNS 區域時,您無法直接在區域中新增記錄,系統會擷取 Compute Engine IP 位址資料。
Cloud DNS 也支援傳出轉送至非 RFC 1918 位址,方法是在 Google Cloud內以非公開方式導向這些位址。如要啟用這類型的傳出轉送功能,您必須設定轉送區域,並提供特定的轉送路徑引數。詳情請參閱「轉送目標和導向方法」。
- 轉送區域
轉送區域是一種 Cloud DNS 代管私人區域,會將針對該區域的要求轉送至轉送目標的 IP 位址。詳情請參閱「DNS 轉送方法」。
建立轉送區域時,您無法直接將記錄新增至轉送區域,系統會從一或多個已設定的目標名稱伺服器或解析器取得資料。
- 對接區域
對接區域是一種 Cloud DNS 代管私人區域,會遵照另一個虛擬私有雲網路的名稱解析順序,且可用於解析其他虛擬私有雲網路中定義的名稱。
建立 DNS 對接區域時,您無法直接在區域中新增記錄,系統會根據供應端虛擬私有雲網路的名稱解析順序取得資料。
- 回應政策
回應政策是 Cloud DNS 私人區域的一種概念,包含規則而非記錄。這些規則可達到類似 DNS 回應政策區域 (RPZ) 草案概念 (IETF) 的效果。您可透過回應政策將自訂規則導入網路中的 DNS 伺服器,讓 DNS 解析器在查詢期間參照規則。如果回應政策中的規則會影響傳入的查詢,系統就會執行該規則;若不影響則會照常處理查詢。詳情請參閱「管理回應政策和規則」。
回應政策與 RPZ 不同。RPZ 本質上是正常的 DNS 區域,只是資料格式特殊,會使相容的解析器執行特殊操作。回應政策則非 DNS 區域,是透過 API 分別管理。
- 區域作業
您在 Cloud DNS 中對代管區域所做的任何變更,都會記錄在作業集合中,該集合會列出代管區域更新資訊 (修改說明或 DNSSEC 狀態/設定)。區域內記錄集的變更會分別儲存在資源記錄集中,詳情請參閱本文後續章節。
- 國際化網域名稱 (IDN)
國際化網域名稱 (IDN) 是一種網際網路網域名稱,可讓全球使用者在網域名稱中使用特定語言的字集或字母,例如阿拉伯文、中文、斯拉夫文、梵文、希伯來文,或是以拉丁字母為基礎的特殊字元。這項轉換作業是透過 Punycode 實作;Punycode 是使用 ASCII 的 Unicode 字元表示法。舉例來說,
.ελ的 IDN 表示法為.xn--qxam。部分瀏覽器、電子郵件用戶端和應用程式可能會辨識這項設定,並代您將其轉譯為.ελ。應用程式國際化網域名稱 (IDNA) 標準只允許長度足以表示為有效 DNS 標籤的 Unicode 字串。如要瞭解如何搭配使用 IDN 與 Cloud DNS,請參閱「使用國際化網域名稱建立區域」。- 註冊商
網域名稱註冊商這類機構會管理網際網路網域名稱的預留項目。註冊商必須經過一般頂層網域 (gTLD) 註冊資料庫,或是國家/地區代碼頂層網域 (ccTLD) 註冊資料庫的認證。
- 內部 DNS
即使您不使用 Cloud DNS,Google Cloud 也會自動為 VM 建立內部 DNS 名稱。如要進一步瞭解內部 DNS,請參閱內部 DNS 說明文件。
- 委派的子區域
DNS 讓區域擁有者可利用 NS (名稱伺服器) 記錄,將子網域委派給不同的名稱伺服器。解析器會依據這些記錄,將針對子網域的查詢傳送至委派作業所指定的目標名稱伺服器。
- 資源記錄集
資源記錄集是一組 DNS 記錄,內含相同的標籤、類別和類型,但資料不同。資源記錄集用於存放 DNS 記錄組成代管區域後的目前狀態。您可以讀取資源記錄集,但不能直接修改,而是需在變更集合中建立
Change要求,編輯代管區域中的資源記錄集。您也可以使用ResourceRecordSetsAPI 編輯資源記錄集。所有變更都會立即套用至資源記錄集。至於在 API 中進行的變更,則會延遲一段時間,才會在您的權威 DNS 伺服器上生效。如要瞭解如何管理記錄,請參閱「新增、修改及刪除記錄」。- 資源記錄集變更
如要變更資源記錄集,請提交含有新增或刪除作業的
Change或ResourceRecordSets要求。系統可一次執行大量新增和刪除作業,也能透過單一不可分割的整體交易完成,且這些修改會在所有權威 DNS 伺服器中同時生效。舉例來說,假設您有一筆 A 記錄,如下所示:
www A 203.0.113.1 203.0.113.2
您執行了下列指令:
DEL www A 203.0.113.2 ADD www A 203.0.113.3
經過大量變更的記錄如下所示:
www A 203.0.113.1 203.0.113.3
ADD 和 DEL 會同時發生。
- SOA 序號的格式
每當使用
gcloud dns record-sets transaction指令對區域的記錄集進行交易變更時,在 Cloud DNS 代管區域中建立的 SOA 記錄序號就會單調遞增。您可將 SOA 記錄序號手動變更為任意號碼,但是必須加上 RFC 1912 中建議的 ISO 8601 格式日期。舉例來說,在下列 SOA 記錄中,您可以在記錄的第三個空格分隔欄位中輸入所需的值,直接從 Google Cloud 控制台變更序號:
ns-gcp-private.googledomains.com. cloud-dns-hostmaster.google.com. [serial number] 21600 3600 259200 300`
- DNS 伺服器政策
透過 DNS 伺服器政策,您可在具有傳入轉送功能的虛擬私有雲網路中,存取 Google Cloud 提供的名稱解析服務,或使用傳出伺服器政策取代虛擬私有雲名稱解析順序。詳情請參閱「DNS 伺服器政策」。
- 網域、子網域和委派
大部分的子網域都只是上層網域代管區域中的記錄,因為在上層網域中建立 NS (名稱伺服器) 記錄而被「委派」的子網域,也須有自己的區域。
為委派的子網域建立任何公開區域「之前」,須先在 Cloud DNS 中建立上層網域的代管公開區域。即使您要透過另一個 DNS 服務託管上層網域,也必須執行此操作。如果您有多個子網域區域,但沒有建立上層區域,日後決定要將這些區域移到 Cloud DNS 時,建立上層區域的程序可能會相當複雜。詳情請參閱「名稱伺服器限制」。 DNSSEC
網域名稱系統安全性擴充功能 (DNSSEC) 是網際網路工程任務組 (IETF) 開發的 DNS 擴充功能,用來驗證網域名稱查詢的回應。DNSSEC 不會為這些查詢提供隱私權保護,但可防止攻擊者操縱或毒害 DNS 要求的回應。
- DNSKEY 集合
DNSKEY 集合用於存放 DNSKEY 記錄的目前狀態,這些記錄會用來簽署已啟用 DNSSEC 的代管區域。您只能讀取這個集合,DNSKEY 的所有變更都是由 Cloud DNS 執行。DNSKEY 集合含有網域註冊商啟動 DNSSEC 所需的所有資訊。