本頁面說明您在使用 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 主控台,在「配額」頁面中,為專案要求提高配額。您也可以參閱申請配額調整。
與代管區域相關的錯誤
本節列出與代管區域相關的錯誤。
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 規則指出 SOA
和 CNAME
資源記錄集只能包含一個資源記錄。如果您嘗試進行的變更會破壞這些規則,則會出現此錯誤。例如:
{
kind: "dns#rrset"
name: "blog.foo.com.",
type: "CNAME",
rrdata: [ "www.foo.com.", "www2.foo.com." ],
...
}
建議動作:如果發生此錯誤,請檢查您的要求。您嘗試執行不允許的動作。
cnameResourceRecordSetConflict
資源記錄集
entity.change.additions[XX]
無效,因為 DNS 名稱example.com
可能含有一個 CNAME 資源記錄集或其他類型的資源記錄集,但不能同時存在兩者。
當您建立兩種類型的資源記錄集時,即會發生此錯誤。例如,同一個 DNS 名稱含有 A 記錄和 CNAME 記錄。這個錯誤的常見原因是您嘗試在區域頂端建立 CNAME 記錄。這樣做不可能成功,因為這會與同一名稱的必要 SOA
和 NS
記錄發生衝突。
建議的動作:選擇其中一個。
wildcardNotAllowed
指定的資源記錄集含有錯誤的萬用字元類型。
在 DNS 中,萬用字元是一種特殊類型的資源記錄集,符合不存在網域名稱的要求。Cloud DNS 的一項限制是您不能建立 NS
類型的萬用字元資源記錄集。
建議動作:目前不支援萬用字元 NS
資源記錄集。請聯絡 Cloud DNS 支援團隊或加入 cloud-dns-discuss,告知您試著要完成的作業。
recordTypeDisallowedAtZoneApex
指定的資源記錄無法與任何其他記錄類型並存,包括區域頂端所需的
SOA
記錄。
您無法在頂端放置 CNAME
資源記錄,因為它無法與任何其他資源記錄類型共存,包括區域頂端所需的 SOA
資源記錄。
建議做法:使用 ALIAS
資源記錄。ALIAS
資源記錄是 Cloud DNS 自訂記錄類型,其行為類似 CNAME
資源記錄,但只能在區域頂端節點使用,且只會回應位址記錄 (A 或 AAAA) 查詢。詳情請參閱「別名記錄」。
invalidValue
這屬於一般錯誤,表示您的要求無效,與伺服器的狀態無關。此錯誤訊息提供要求中有問題部分的路徑,以及該無效值。引起這個錯誤的原因很多,例如:
- 您指定的資源記錄集具有無效名稱。例如,
foo...bar
不是有效的 DNS 名稱 (中間標籤空白)。 - 您指定的資源記錄集具有無效類型。例如,A 和 CNAME 是有效類型,但 XXX 不是有效類型。
- 您指定的資源記錄集不含任何記錄。
- 您指定的資源記錄資料無效。例如,
1.1.1.1
是 A 類型的有效資源記錄資料。「XXX」XXX是 A 類型的無效資源記錄資料。 - 您指定的資源記錄集含有無效的 TTL。TTL 必須是非負數的整數。
- 您指定的資源名稱長度太長。
建議動作:請修正您的要求。
後續步驟
- 如要進一步瞭解功能,請參閱 Cloud DNS 總覽。
- 如要找出使用 Cloud DNS 時可能遇到的常見問題解決方案,請參閱「疑難排解」。
- 如需進一步協助,請參閱「支援」頁面。