自定义解析器使用案例
IBM Cloud® DNS Services提供自定义解析器服务,可为不同主机名自定义区域解析规则。 自定义解析器功能可对名称解析进行细粒度控制,并将 DNS 查询转发到内部部署的 DNS 解析器或从内部部署的 DNS 解析器转发出去。
在此示例场景中,财务数据位于内部部署实例中,您在 DNS 区域 fin.example.com
下管理数据访问,该区域由您的内部部署 DNS 服务器管理。 您在IBM Cloud VPC中运行的应用程序必须使用此 DNS 区域下的主机名访问财务数据。
在这种情况下,您可以创建自定义解析器,将对该 DNS 区域的 DNS 查询转发到内部部署的 DNS 服务器。 您还可以使用自定义解析器自定义规则,将 DNS 查询转发到 DNS Services 服务器、公共解析器,甚至在其他 IBM Cloud VPC 中启动的自定义解析器。
自定义解析器概念
自定义解析器是在DNS Services实例中为IBM Cloud VPC创建的逻辑对象。 在自定义解析器中,您可以指定要为自定义解析器启动底层 DNS 转发器的位置。 自定义解析器位置相当于IBM Cloud VPC 中的子网。 您可以创建一个自定义解析器,只需指定一个位置,或在同一 VPC 的不同子网中最多指定三个位置。 默认配置为高度可用,有两个位置。
自定义解析器可以有多个转发规则,以自定义 DNS 查询应该转发到哪里(以及哪些 DNS 区域)。 默认转发规则会与自定义解析器一起自动创建,以便将 DNS 查询转发到 DNS Services 服务器。
使用案例和工作流程
自定义解析器最常见的用例是
- 将 DNS 查询从IBM Cloud VPC转发到您的内部部署 DNS 服务器,或相反。
- 将 DNS 查询从IBM Cloud VPC转发到公共解析器。
- Forwarding DNS queries from one IBM Cloud VPC to another.
您可以从DNS Services面板执行以下工作流程。 导航至自定义解析器选项卡,查看自定义解析器。
创建带有转发规则的自定义解析器
按照此工作流程创建带有转发规则的自定义解析器:
- 选择区域、VPC 并添加至少两个位置以实现高可用性,从而创建自定义解析器。
- 会自动创建默认转发规则,将所有 DNS 查询转发到 DNS Services 服务器。
- 创建转发规则,指定 DNS 区域上的 DNS 查询应转发到哪个 DNS 服务器。
- 启用自定义解析器。
如果查询名称与前面的转发规则不匹配,默认转发规则总是最后使用。
带有转发规则的自定义解析器示例
例如,假设您将私有 DNS 区域定义为 ibmcloud.example.com
,并将允许的网络配置为部署在达拉斯地区的 VPC appvpc
。 区 ibmcloud.example.com
有以下 A 记录:
app.ibmcloud.example.com
A10.20.30.40
database.ibmcloud.example.com
A10.20.30.50
您还有一个区 onprem.example.com
,它定义在内部部署 DNS 服务器 192.168.5.2
中,该区有以下 A 记录:
w3.onprem.example.com
A192.168.4.10
customerdb.onprem.example.com
A192.168.4.40
解析器服务器实例 IP 地址为 10.20.30.5
。

根据图 1 中的配置,DNS 名称解析就是这样进行的:
- 虚拟服务器 2 DNS 查询
w3.onprem.example.com
:- 虚拟服务器 2 的解析器是一个自定义解析器,因此 DNS 查询会发送到
10.20.30.5
。 - 自定义解析器以 "
onprem.example.com
的转发规则为基础,将查询发送到 "192.58.5.2
"。 - 内部 DNS 服务器的响应为
w3.onprem.example.com
A192.168.4.10
。 - 自定义解析器向虚拟服务器 2 响应答案,并缓存响应。
- 虚拟服务器 2 的解析器是一个自定义解析器,因此 DNS 查询会发送到
- 虚拟服务器 1 DNS 查询
database.ibmcloud.example.com
:- 虚拟服务器 1 的解析器是内部 DNS 服务器,因此 DNS 查询会发送到
192.58.5.2
。 - DNS 服务器根据转发规则,将查询发送到自定义解析器
10.20.30.5
。 - 自定义解析器基于转发规则,并将查询发送到专用 DNS
161.26.0.7/8
。 - 专用 DNS 响应
database.ibmcloud.example.com
A10.20.30.50
。 - 自定义解析器响应查询并缓存响应。
- DNS 服务器向虚拟服务器 1 响应查询并缓存响应。
- 虚拟服务器 1 的解析器是内部 DNS 服务器,因此 DNS 查询会发送到
在此示例中,Direct Link 用于使用 VPC 中的自定义解析器连接内部 DNS 服务/客户端。 Direct Link可替换为中转网关,以连接子网中的其他 VPC 或公共网关,并使用自定义解析器。
将 DNS 查询转发至 DNS Services 服务器
要将特定 DNS 区域的 DNS 查询转发到 DNS Services 服务器,请输入转发 IP 地址 161.26.0.7
和 161.26.0.8
。
将 DNS 查询转发给公共解析器
要将特定 DNS 区域的 DNS 查询转发到互联网上的公共解析器,可创建一个公共网关,并将其附加到用于自定义解析器位置的子网。 在输入公共解析器 IP 地址作为转发 IP 之前,请执行此操作。
有关连接外部网络的更多信息,请参阅 外部连接。
跨 VPC 转发 DNS 查询
您可能希望在多个 VPC 上创建自定义解析器,并使用这些自定义解析器来遵循轮辐-集线器模式。 在此配置中,必须事先通过中转网关实现 VPC 之间的互联。
有关使用中转网关互连 VPC 的更多信息,请参阅 管理中转网关。
要为跨不同 VPC 的自定义解析器形成辐条-集线器拓扑结构,请选择一个自定义解析器作为集线器,并在集线器自定义解析器中管理其转发规则。 您还必须编辑每个轮辐自定义解析器中的默认转发规则,以便将 DNS 查询转发到集线器自定义解析器。
为自定义解析器添加辅助区域
以下章节介绍了在自定义解析器中添加辅助区的一些用例。
将区域记录从内部 DNS 服务器复制到自定义解析器位置
这种复制提高了区域记录的可用性。 如果内部部署服务器因任何原因不可用,可以向自定义解析器位置进行 DNS 查询,然后返回与内部部署服务器相同的响应。
区域配置完成后,自定义解析器位置中的记录会自动更新,因此对内部记录所做的任何更改都会反映在自定义解析器位置中。
二级区域记录的 DNS 查询可在 VPC 内直接向自定义解析器位置进行
要延长 DNS 查询响应时间,可以选择离源更近的 DNS 服务器。 例如,如果查询是在内部网络中进行的,则可将其指向内部 DNS 服务器。 另外,如果查询是在 VPC 网络中进行的,则可以将其指向配置的自定义解析器位置。