如何使用 AWS CLI 在 Amazon Route 53 中创建简单的资源记录集?

2 分钟阅读
0

 我想使用 AWS 命令行界面(AWS CLI)在 Amazon Route 53 中创建简单的资源记录集。

解决方案

如需创建、删除或更改(更新插入)资源记录集,请使用对 Route 53 APIChangeResourceRecordSets 请求。

**注意:**如果在运行 AWS CLI 命令时收到错误,请确保您使用的是最新的 AWS CLI 版本

创建 ChangeResourceRecordSets 请求

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

  • **创建:**在托管区中创建具有指定值的记录集。
  • **删除:**删除托管区中具有指定值的记录集。
  • **更新插入:**创建具有指定值的新记录集,或者如果具有指定值的记录集已存在,则更新该记录集。

如需创建、删除或更改简单的 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"}]
}}]
}

如需在托管区中为您的域创建资源记录集,请使用带有命令 change-resource-record-sets 的 Route 53 API。sample.json 文件指定了用于记录创建的值

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

返回状态 PENDING 以及唯一 ID:

$ 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-changeId 值来自您的 change-resource-record-sets 响应:

  • 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 官方已更新 1 年前