錯誤訊息

本頁說明使用 Cloud DNS 時可能收到的常見錯誤訊息、這些訊息的含義,以及解決錯誤的建議做法。

一般錯誤

本節說明一般錯誤。

alreadyExists

指定資源已經存在,無法建立重複資源。

建議做法:在建立資源時,先用適當的 get/list API 確認現有資源,避免重複建立。

若在新增記錄時遇到此錯誤,通常是因為系統將單一記錄視為一個記錄集,因此每個項目 (如有多個) 都會被當成不同的記錄。如需在同一網域名稱系統 (DNS) 名稱的記錄集中新增兩個值或字串,請在兩個值之間加入空格。

如要進一步瞭解如何解決此錯誤,請參閱「修正記錄衝突錯誤」。

accessNotConfigured

未設定存取權

如要解決此錯誤,您必須在專案中啟用 Cloud DNS API

inactiveBillingState

專案 example_project 處於停止計費狀態,無法接受要求。計費狀態可能需要幾分鐘才會更新。

建議做法:啟用專案的計費功能。如要啟用新專案的計費功能,或重新啟用現有專案的計費功能,請參閱「啟用專案的計費功能」,採取適當步驟。

preconditionFailed

這是一般錯誤,代表要求內容與伺服器資源當前的狀態不相容。用戶端必須做出修正後再重試。如果您傳送 create 變更要求,試圖刪除名稱和類型都與現有資源記錄集不符的項目,就會發生此錯誤。

請先讀取區域當前狀態,確認要刪除的目標,因為資源可能在您上次查看後變動。

錯誤訊息會指出要求中出錯部分的路徑。例如,entity.change.deletions[6] 表示 POST 要求主體中 change 物件底下 deletions 陣列的第七個元素。

建議做法:修正要求中標記為有問題的部分。

required

這是一般錯誤,表示要求缺少某些必要部分。例如,建立代管區域的要求需包含名稱、DNS 名稱和說明。如果缺少其中任一欄位,就會失敗並出現此錯誤。

建議做法:填入必要參數,然後再試一次。

notFound

指定資源不存在。

建議做法:確認您使用的是現有資源名稱。

quotaExceeded

當您執行的變更會導致用量超出配額限制,就會出現此錯誤。配額是以專案為單位管理。舉例來說,每個區域中可建立的資源記錄集是有限的。如要提高配額,請洽詢 Google Cloud 銷售團隊。關於新專案的預設配額,請參閱 Cloud DNS 資源配額與限制。如要瞭解 DNS 的各項限制,請參閱 Projects.get 作業說明。

建議做法:檢查專案,瞭解為何已使用這麼多資源。如要申請提高專案配額,請在 Google Cloud 控制台的「Quotas」(配額) 頁面操作。您也可以參閱「申請調整配額」一節說明。

與代管區域相關的錯誤

本節列出與代管區域相關的錯誤。

invalidFieldValue

entity.managedZone.name 值無效。

建立代管區域時,若區域名稱未以字母開頭、未以字母或數字結尾,或是包含小寫字母、數字或連字號以外的字元,就可能失敗並出現此錯誤。

managedZoneDnsNameNotAvailable

指定代管區域無法使用,因此無法建立。

如果在建立代管區域時出現此錯誤,可能原因如下:

  • 指定區域的 DNS 名稱為保留名稱,例如:根網域 (.)、.com.co.uk
  • 目前沒有能託管該區域 DNS 名稱的名稱伺服器。Cloud DNS 使用的名稱伺服器集區是有限資源。任何針對名稱伺服器的 DNS 查詢,都必須能明確對應到單一代管區域。詳情請參閱名稱伺服器限制

建議做法:如果您是該 DNS 名稱的註冊擁有者,請檢查是否有重疊區域。如要設定網域與其子網域的 DNS,建議先建立一個上層區域,再在其中加入每個子網域的記錄。

verifyManagedZoneDnsNameOwnership

請驗證 example.com 網域 (或上層網域) 的擁有權,然後再試一次。

建議做法:遇到此錯誤時,請務必驗證網域擁有權,然後再試一次。

與代管記錄相關的錯誤

本節說明與記錄相關的錯誤。

containerNotEmpty

因為指定的資源不是空的,所以無法刪除。

建議動作:如果您要刪除資源,則必須先清空該資源。

invalidZoneApex

指定的資源記錄集無效,因為頂層只能包含一個特定類型的資源記錄集。

在 DNS 的概念中,Apex 指區域中允許標籤數最少的 DNS 名稱,也是區域階層的頂層。區域頂層是 ManagedZone.dnsName 所指定的 DNS 名稱。

出現此錯誤,代表您的變更會導致違反 DNS 規則,因為區域頂層必須只包含一個特定類型的資源記錄集。以下操作都可能導致此錯誤:

  • 嘗試從區域頂層刪除必要的 NS 資源記錄集。
  • 嘗試從區域頂層刪除必要的 SOA 資源記錄集。
  • 嘗試在區域「頂層以外」位置,建立 SOA 類型的資源記錄集。

建議做法:如果遇到此錯誤,表示您嘗試的操作違反了 DNS 規則。請檢查要求是否有誤,切勿刪除必須保留的資源記錄集。

invalidRecordCount

entity.change.additions[XX] 資源記錄集為 <SOA_OR_CNAME> 類型,因此只能包含一筆記錄。

根據 DNS 規則,SOACNAME 資源記錄集只能包含一筆資源記錄。若您嘗試執行的變更違反上述規則,就會出現此錯誤。例如:

  {
    kind: "dns#rrset"
    name: "blog.example.com.",
    type: "CNAME",
    rrdata: [ "www.example.com.", "www2.example.com." ],
    ...
  }

建議做法:如果遇到此錯誤,請檢查您的要求,因為您嘗試執行了不允許的操作。

cnameResourceRecordSetConflict

entity.change.additions[XX] 資源記錄集無效,因為 DNS 名稱 example.com 只能包含「一個 CNAME 資源記錄集」,或「其他類型的資源記錄集」,兩者不可共存。

如果您針對同一個 DNS 名稱建立兩種資源記錄集 (例如 A 記錄和 CNAME 記錄),就會發生此錯誤。常見情況是試圖在區域頂層建立 CNAME 記錄。這樣做不可能成功,因為這會與同一名稱的必要 SOANS 記錄發生衝突。

建議做法:選擇其中一種記錄即可。

wildcardNotAllowed

指定的資源記錄集類型不適合做為萬用字元。

在 DNS 中,萬用字元是一種特殊的資源記錄集,可用來回應針對不存在網域名稱的要求。Cloud DNS 的一項限制是:您無法建立 NS 類型的萬用字元資源記錄集。

建議做法:目前不支援萬用字元 NS 資源記錄集。如有需求,請洽詢 Cloud DNS 支援團隊,或加入 cloud-dns-discuss 並說明您的目標。

recordTypeDisallowedAtZoneApex

指定的資源記錄無法與其他類型的記錄共存,包括區域頂層必須具備的 SOA 記錄。

您無法在頂層放置 CNAME 資源記錄,因為該記錄不能與其他類型的資源記錄共存,包括區域頂層必須具備的 SOA 資源記錄。

建議做法:使用 ALIAS 資源記錄。ALIAS 資源記錄是 Cloud DNS 的自訂記錄類型,功能類似 CNAME 資源記錄,但只能用於區域頂層,而且只會回應位址記錄 (A 或 AAAA) 的查詢。詳情請參閱「別名記錄」。

invalidValue

這是一般錯誤,表示您的要求無效,而且與伺服器當前狀態無關。錯誤訊息中會指出要求出錯部分的路徑及無效值。引起這個錯誤的原因很多,例如:

  • 指定資源記錄集的名稱無效。例如,cymbal...group 不是有效的 DNS 名稱 (因為中間包含空的標籤)。
  • 指定資源記錄集的類型無效。例如,A 和 CNAME 是有效類型,但「group」不是。
  • 指定資源記錄集中沒有任何記錄。
  • 指定的資源記錄資料無效。以 A 類型的資源記錄為例,1.1.1.1 是有效資料,X.X.X.X 是無效資料。
  • 指定資源記錄集的存留時間值無效。存留時間必須是非負數的整數。
  • 指定資源名稱過長。

建議做法:修正您的要求。

本節說明啟用威脅偵測時的常見錯誤。

只有 ThreatDetectorAdmin 角色能執行特權操作

您必須具備 Threat Detector Admin 角色,才能啟用 DNS 威脅偵測功能。

建議做法:獲得 roles/networksecurity.dnsThreatDetectorAdmin 角色。

FAILED_PRECONDITION

指定的上層資源底下已存在其他 DNS 威脅偵測工具。

建議做法:檢查目前設定狀態,使用現有的 DNS 威脅偵測工具,或移除後再建立新的偵測工具。

gcloud

gcloud beta network-security dns-threat-detectors describe --location=global  RESOURCE_REPORTED_IN_ERROR_MESSAGE

RESOURCE_REPORTED_IN_ERROR_MESSAGE 替換為錯誤訊息中所顯示,指定上層資源底下的其他 DNS 威脅偵測工具。

後續步驟

  • 如要進一步瞭解功能,請參閱「Cloud DNS 總覽」。
  • 如要瞭解如何解決使用 Cloud DNS 可能遇到的常見問題,請參閱這篇文章
  • 如需其他協助,請參閱這個頁面