如何使用 AWS 命令行界面 (AWS CLI) 在 Amazon Route 53 中创建简单资源记录集?

您可以使用向 Route 53 API 发出的 ChangeResourceRecordSets 请求来创建、删除或更改 (upsert) 资源记录集。

继续操作前,请安装或更新到 AWS CLI 的最新版本

创建 ChangeResourceRecordSets 请求

您可以使用 ChangeResourceRecordSets 请求执行以下操作:

  • CREATE 在托管区域中使用指定的值创建记录集
  • DELETE 删除托管区域中具有指定值的记录集
  • UPSERT 使用指定的值创建新记录集,或在记录集已存在时使用指定的值更新记录集

修改以下示例 JSON 文件 (sample.json) 以创建、删除或更改简单 A 记录集。请求正文中包括更改项的列表,称为更改批处理:

{
            "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-sets 为域创建资源记录集。sample.json 文件指定用于记录创建的值

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

除非 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"
    }
}

使用 API 调用 get-changechange-resource-record-sets 响应中的 ID 值来检查更改的状态:

  • PENDING 指示此请求中的更改尚未传播到所有 Amazon Route 53 DNS 服务器。这是所有更改批处理请求的初始状态。
  • INSYNC 指示更改已传播到所有 Amazon Route 53 DNS 服务器。

传播之前:

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"
    }
}

传播之后:

$ 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 Support 知识中心

需要帮助?访问 AWS 支持中心

发布时间:2018 年 08 月 08 日