為什麼當我嘗試使用 AWS Command Line Interface (AWS CLI) 建立資源記錄集時收到錯誤訊息? 如何解決錯誤?
解決方法
**注意:**如果您在執行 AWS CLI 命令時收到錯誤訊息,請確定您使用的是最新版本的 AWS CLI。
請參閱下列常見錯誤訊息,以確定錯誤的原因以及如何進行疑難排解。
呼叫 ChangeResourceRecordSets 作業時發生錯誤 (InvalidInput): Invalid XML ; cvc-enumeration-valid: Value 'Delete' is not facet-valid with respect to enumeration '[CREATE, DELETE, UPSERT]'.它必須是枚舉中的值。
JSON 檔案格式要求組態檔案中使用大寫的 CREATE、DELETE 或 UPSERT 值。
在組態檔案中將值變更為大寫。例如:
"Action": "CREATE",
呼叫 ChangeResourceRecordSets 作業時發生錯誤 (InvalidChangeBatch): 在區域 domain.com 中的頂點不允許使用具有 DNS 名稱 domain.com 的 CNAME 類型 RRSET。
您無法在 DNS 命名空間的頂端節點 (也稱為區域頂點,例如 example.com) 建立 CNAME 記錄。
如果您要為頂點網域建立指向 AWS 資源的記錄,請使用別名記錄而非 CNAME。
呼叫 ChangeResourceRecordSets 作業時發生錯誤 (InvalidChangeBatch): 不允許使用 DNS 名稱為 b.domain.com 的 MX 類型 RRSET,因為區域 domain.com 中已存在具有相同 DNS 名稱之 CNAME 類型的衝突 RSET。
如果您為子網域名稱 (例如 test.example.com) 設定了 CNAME 資源記錄,則無法擁有該子網域的 MX 記錄、A 記錄或 TXT 記錄。
在同一託管區域中的不同記錄集中建立 MX 記錄。
呼叫 ChangeResourceRecordSets 作業時發生錯誤 (InvalidChangeBatch): [不允許使用 DNS 名稱為 b.domain.com 的 A 類型 RRSET,因為區域 b.domain.com 中已存在具有相同 DNS 名稱之 CNAME 類型的衝突 RSET。]
如果您使用「UPSERT」將 CNAME 記錄更新為任何其他記錄,或嘗試將現有記錄變更為 CNAME 記錄,就會收到此錯誤訊息。
只有當您原先擁有 CNAME 記錄和 UPSERT 到另一個 CNAME 記錄時,UPSERT 才會成功。
呼叫 ChangeResourceRecordSets 作業時發生錯誤 (InvalidChangeBatch): 嘗試建立資源記錄集 [name='b.domain.com.', type='CNAME'],但它已經存在。
您正在對已存在於網域的 CNAME 資源記錄集執行 CREATE 動作。
為尚未存在的網域建立 CNAME 記錄集。
呼叫 ChangeResourceRecordSets 作業時發生錯誤 (InvalidChangeBatch): 嘗試刪除資源記錄集 [name='a.domain.com.', type='A'],但提供的值與目前值不相符。
您嘗試使用 JSON 檔案刪除資源記錄集,但內容與現有記錄集的值不相符。
檢查並更新組態檔案中 Name、 Type和 TTL 的值。然後,嘗試再次刪除資源記錄集。
呼叫 ChangeResourceRecordSets 作業時發生錯誤 (InvalidChangeBatch): 嘗試刪除資源記錄集 [name='a.domain.com.', type='A'],但提供的資料無效。
您正在對資源記錄集執行 DELETE 動作,但 ResourceRecord 的值與現有資源記錄集中的值不符。
檢查並更新組態檔中的 ResourceRecord 值。然後,嘗試再次刪除資源記錄集。
呼叫 ChangeResourceRecordSets 作業時發生錯誤 (InvalidChangeBatch): 嘗試刪除資源記錄集 [name='a.domain.com.', type='A'],但找不到它。
您的網域名稱使用不正確的託管區域 ID。
使用以下格式,以正確的 ID 再次執行 change-resource-record-sets 命令:
aws route53 change-resource-record-sets --hosted-zone-id ZXXXXXXXXXXXX --change-batch file://sample.json
呼叫 ChangeResourceRecordSets 作業時發生錯誤 (InvalidChangeBatch): 嘗試在區域 Z1H1FL5HABSF5 中建立定向 applicationenv.us-west-2.elasticbeanstalk.com 的類型 A 別名,但別名目標名稱不在目標區域中。
您在組態檔中對 AWS 資源使用了錯誤的 HostedZone ID 值。請注意,HostedZoneID 金鑰的值是每個區域中 AWS 資源的唯一 ID,而不是您網域名稱的託管區域 ID。
檢查 HostedZoneId 值並將其更新為 AWS 資源的託管區域 ID。如需詳細資訊,請參閱如何使用 AWS CLI 在 Route 53 中建立別名資源記錄集?
相關資訊
如何使用 AWS CLI 在 Amazon Route 53 中建uu 簡單資源記錄集?
常見錯誤