如何解決使用 AWS CLI 建立 Route 53 資源記錄集時收到的錯誤?

2 分的閱讀內容
0

為什麼當我嘗試使用 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 檔案格式要求組態檔案中使用大寫的 CREATEDELETEUPSERT 值。

在組態檔案中將值變更為大寫。例如:

"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 檔案刪除資源記錄集,但內容與現有記錄集的值不相符。

檢查並更新組態檔案中 NameTypeTTL 的值。然後,嘗試再次刪除資源記錄集。

呼叫 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 簡單資源記錄集?

常見錯誤

AWS 官方
AWS 官方已更新 2 年前