记录格式 (JSON)

本页面介绍各种 Cloud DNS 记录类型的 JSON 格式。 如需开始使用 Cloud DNS,请参阅快速入门

支持的 DNS 记录类型

Cloud DNS 支持以下类型的记录:

记录类型 说明
A

地址记录,用于将主机名映射到 IPv4 地址。

以下是资源记录集表示形式的示例:


{
  "kind": "dns#resourceRecordSet",
  "name": "example.com.",
  "rrdatas": [
      "1.2.3.4"
  ],
  "ttl": 86400,
  "type": "A"
}
AAAA

IPv6 地址记录,用于将主机名映射到 IPv6 地址。

以下是资源记录集表示形式的示例:


{
  "kind": "dns#resourceRecordSet",
  "name": "example.com.",
  "rrdatas": [
      "2607:f8b0:400a:801::1005"
  ],
  "ttl": 86400,
  "type": "AAAA"
}
CNAME

规范名称记录,用于设置别名。

以下是资源记录集表示形式的示例:


{
  "kind": "dns#resourceRecordSet",
  "name": "mail.example.com.",
  "rrdatas": [
      "example.com."
  ],
  "ttl": 86400,
  "type": "CNAME"
}

请注意,rrdatas 字段中的主机名必须以英文句点 (.) 结尾,才能成为完全限定的 DNS 名称。

MX

邮件交换记录,用于将请求路由到邮件服务器。

以下是资源记录集表示形式的示例:


{
  "kind": "dns#resourceRecordSet",
  "name": "example.com.",
  "rrdatas": [
      "10 mail.example.com.",
      "20 mail2.example.com."
  ],
  "ttl": 86400,
  "type": "MX"
}

请注意,rrdatas 字段中的主机名必须以英文句点 (.) 结尾,才能成为完全限定的 DNS 名称。

NAPTR

域名授权机构指针记录(由 RFC 3403 定义)。

以下是资源记录集表示形式的示例:


{
  "kind": "dns#resourceRecordSet",
  "name": "2.1.2.1.5.5.5.0.7.7.1.e164.arpa.",
  "rrdatas": [
      "100 10 \"u\" \"sip+E2U\" \"!^.*$!sip:information@foo.se!i\" .",
      "102 10 \"u\" \"smtp+E2U\" \"!^.*$!mailto:information@foo.se!i\" ."
  ],
  "ttl": 300,
  "type": "NAPTR"
}

请注意,每个 rrdatas 最后的“替换”字段值必须以英文句点 (.) 结尾才能成为完全限定的 DNS 名称。

这种记录类型会引发多种转义问题。如上所示,嵌入式引号必须进行转义才能在 JSON 中使用。此外,“正则表达式”字段通常包含反斜杠字符,并且这些字符必须进行双重转义:一次按地区文件格式的要求转义,另一次按 JSON 格式要求转义。为了演示这一点,RFC 3403 第 6.1 节中的示例在 JSON API 中的表示形式如下:


{
  "kind": "dns#resourceRecordSet",
  "name": "cid.urn.arpa.",
  "rrdatas": [
      "100 10 \"\" \"\" \"!^urn:cid:.+@([^\\\\.]+\\\\.)(.*)$!\\\\2!i\" ."
  ],
  "ttl": 300,
  "type": "NAPTR"
}
NS

域名服务器记录,用于将 DNS 地区委托给权威服务器。

以下是资源记录集表示形式的示例:


{
  "kind": "dns#resourceRecordSet",
  "name": "example.com.",
  "rrdatas": [
      "ns-cloud1.googledomains.com."
  ],
  "ttl": 86400,
  "type": "NS"
}

请注意,rrdatas 字段中的主机名必须以英文句点 (.) 结尾,才能成为完全限定的 DNS 名称。

PTR

指针记录,通常用于 DNS 反向查找。

以下是资源记录集表示形式的示例:


{
  "kind": "dns#resourceRecordSet",
  "name": "2.1.0.10.in-addr.arpa.",
  "rrdatas": [
    "server.example.com."
  ],
  "ttl": 60,
  "type": "PTR"
}

创建从地址 10.0.1.2 到主机名 server.example.com 的映射,该映射可在名为 0.10.in-addr.arpa托管地区中定义。

SOA

起始授权机构记录,用于指定有关 DNS 地区的权威信息。创建托管地区时,系统会为您创建一条 SOA 资源记录。您可以根据需要修改此记录。

以下是资源记录集表示形式的示例:


{
  "kind": "dns#resourceRecordSet",
  "name": "example.com.",
  "rrdatas": [
    "ns-cloud1.googledomains.com. dns-admin.google.com. 1 21600 3600 1209600 300"
  ],
  "ttl": 21600,
  "type": "SOA"
}

请注意,rrdatas 字段中的主机名必须以英文句点 (.) 结尾,才能成为完全限定的 DNS 名称。

SPF

发件人政策框架记录,用于电子邮件验证系统。

以下是资源记录集表示形式的示例:


{
  "kind": "dns#resourceRecordSet",
  "name": "example.com.",
  "rrdatas": [
    "v=spf1 mx:example.com -all"
  ],
  "ttl": 21600,
  "type": "SPF"
}
SRV

服务定位器记录,用于某些 IP 语音、即时消息传递协议和其他应用。

以下是资源记录集表示形式的示例:


{
  "kind": "dns#resourceRecordSet",
  "name": "sip.example.com.",
  "rrdatas": [
    "0 5 5060 sip.example.com."
  ],
  "ttl": 21600,
  "type": "SRV"
}

请注意,rrdatas 字段中的主机名必须以英文句点 (.) 结尾,才能成为完全限定的 DNS 名称。

TXT

文本记录,可包含任意文本,也可用于定义机器能识别的数据,例如安全或滥用行为防范信息。

以下是资源记录集表示形式的示例:


{
  "kind": "dns#resourceRecordSet",
  "name": "example.com.",
  "rrdatas": [
    "google-site-verification=xxxxxxxxxxxxYYYYYYXXX"
  ],
  "ttl": 21600,
  "type": "TXT"
}

TXT 记录由一系列字符串组成 (RFC 1035)。在地区文件格式中,该记录编写为一系列以空格分隔的字符串。每个字符串可以用也可以不用英文引号括起来。如果您的某个字符串中嵌入了空格,则必须使用带引号的形式,例如:


{
  "kind": "dns#resourceRecordSet",
  "name": "example.com.",
  "rrdatas": [
    "\"v=spf1 include:_spf.google.com ~all\""
  ],
  "ttl": 21600,
  "type": "TXT"
}

上述资源记录集由一条 TXT 资源记录组成,该记录包含一个嵌入了空格的字符串。

通配符 DNS 记录

NS 记录外,其他所有记录类型都支持通配符记录。 例如,您可能需要使用以下 Change 请求将所有子网域映射到 IP 地址 1.2.3.4

{
"additions": [
    {
      "kind": "dns#resourceRecordSet",
      "name": "*.example.com.",
      "rrdatas": [
        "1.2.3.4"
       ],
       "ttl": 21600,
       "type": "A"
    }
]
}

后续步骤

  • 管理记录介绍了如何使用这些格式。
  • 概览介绍了这些格式在整体框架中的作用。