使用 AWS re:Post 即表示您同意 AWS re:Post 使用條款

如何使用 AWS CLI 在 Amazon Route 53 中建立簡易資源記錄集?

2 分的閱讀內容
0

 我想使用 AWS Command Line Interface (AWS CLI) 在 Amazon Route 53 中建立簡易資源記錄集。

解決方法

若要建立、刪除或變更 (更新) 資源記錄集,請使用對 Route 53 APIChangeResourceRecordSets 請求。

**注意:**如果您在執行 AWS CLI 命令時收到錯誤,請確定您使用的是最新的 AWS CLI 版本

建立 ChangeResourceRecordSets 請求

您可以使用 ChangeResourceRecordSets 請求執行下列動作:

  • **CREATE:**在託管區域中建立具有指定值的記錄集。
  • **DELETE:**刪除託管區域中具有指定值的記錄集。
  • **UPSERT:**建立具有指定值的新記錄集,或者如果該記錄集已存在,則使用指定值更新該記錄集。

若要建立、刪除或變更簡易 A 記錄集,請修改下列範例 JSON 檔案 (sample.json)。請求的內文包含變更項目清單,又稱為變更批次:

{
            "Comment": "CREATE/DELETE/UPSERT a record ",
            "Changes": [{
            "Action": "CREATE",
                        "ResourceRecordSet": {
                                    "Name": "a.example.com",
                                    "Type": "A",
                                    "TTL": 300,
                                 "ResourceRecords": [{ "Value": "4.4.4.4"}]
}}]
}

若要在託管區域中為您的網域建立資源記錄集,請使用 Route 53 API 搭配命令 change-resource-record-setssample.json 檔案指定記錄建立的值

$ aws route53 change-resource-record-sets --hosted-zone-id ZXXXXXXXXXX --change-batch file://sample.json

傳回具有唯一 ID 的 PENDING 狀態

$ aws route53 change-resource-record-sets --hosted-zone-id ZXXXXXXXXXXX --change-batch file://sample.json
{
    "ChangeInfo": {
        "Status": "PENDING",
        "Comment": "optional comment about the changes in this change batch request",
        "SubmittedAt": "2018-07-10T19:39:37.757Z",
        "Id": "/change/C3QYC83OA0KX5K"
    }
}

如果您在 ID 中沒有看到此狀態,則 JSON 檔案中有錯誤。

若要檢查變更狀態,請使用 API 呼叫 get-changechange-resource-record-sets 回應中的 Id

  • PENDING 表示此請求中的變更尚未傳播到所有 Route 53 DNS 伺服器。這是所有變更批次請求的初始狀態。
  • INSYNC 表示變更已傳播到所有 Route 53 DNS 伺服器。

以下是傳輸前的 PENDING 狀態:

aws route53  get-change --id /change/C3QYC83OA0KX5K
{
    "ChangeInfo": {
        "Status": "PENDING",
        "Comment": "optional comment about the changes in this change batch request",
        "SubmittedAt": "2018-07-10T19:39:37.757Z",
        "Id": "/change/C3QYC83OA0KX5K"
    }
}

以下是傳輸後的 INSYNC 狀態:

$ aws route53  get-change --id /change/C3QYC83OA0KX5K
{
    "ChangeInfo": {
        "Status": "INSYNC",
        "Comment": "optional comment about the changes in this change batch request",
        "SubmittedAt": "2018-07-10T19:39:37.757Z",
        "Id": "/change/C3QYC83OA0KX5K"
    }

建立並行請求

您必須針對每個並行請求使用單獨的動作金鑰。例如,您無法在一個請求中建立 A 記錄和 MX 記錄。相反,您必須為相同的網域名稱建立兩個記錄集,其格式如下:

{
                "Comment": "CREATE/DELETE/UPDATE",
                 "Changes": [ {
                             "Action": "CREATE",
                            "ResourceRecordSet": {
                                "Name": "a.example.com",
                                    "Type": "A",
                                     "TTL": 300,
                                  "ResourceRecords": [{"Value": "5.5.5.5"}]
                            }},
{
                            "Action": "CREATE",
                            "ResourceRecordSet": {
                                 "Name": "a.example.com",
                                 "Type": "MX",
                                  "TTL": 300,
                                  "ResourceRecords": [{"Value": "10 example.com"}]
                           }}
]
}

相關資訊

如何對使用 AWS CLI 建立 Route 53 資源記錄集時收到的錯誤進行疑難排解?

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