您可以为专用中的资源记录集配置 DNS 路由政策,以根据特定条件引导流量。创建包含特定路由政策值的资源记录集,以设置这些政策。这些值决定了 Cloud DNS 如何路由查询流量。
Cloud DNS 支持以下路由政策:
加权轮询 (WRR) 路由政策:使用 WRR 路由政策为 DNS 名称的每个资源记录集分配不同的权重。WRR 路由政策有助于确保流量根据配置的权重进行分配。
- 故障切换路由政策:使用故障切换路由政策设置活跃备份配置。
无法为以下专用区域配置 DNS 路由政策:
- 转发地区
- DNS 对等互连区域
- 代管式反向查找可用区
- Service Directory 区域
WRR 路由政策
WRR 路由政策可让您为每个 DNS 目标指定不同的权重,Cloud DNS 可确保流量根据这些权重进行分配。您可以使用此政策支持手动 active-active
或 active-passive
配置。 您还可以在正式版服务与实验性版服务之间分配流量。
Cloud DNS 支持在路由政策中为内部负载均衡器和外部端点进行健康检查和故障切换。当端点未通过健康检查时,Cloud DNS 会启用自动故障切换。在故障切换期间,Cloud DNS 会在其余健康状况良好的端点之间自动调整流量拆分。如需了解详情,请参阅健康检查。
故障切换路由政策
通过故障切换路由政策,您可以设置活跃备份配置,为 VPC 网络中的内部资源提供高可用性。
在正常操作中,Cloud DNS 始终会返回 active
集中的 IP 地址。当 active
集中的所有 IP 地址变为不健康状态时,Cloud DNS 会提供 backup
集中的 IP 地址。
借助 Cloud DNS,您可以将流量逐步传输到备用 VIP 地址,以便验证备用 VIP 地址是否正常运行。可以将发送到备用负载均衡器的流量的百分比配置为 0 到 1 之间的小数。您可以将 100% 的流量发送到备用 VIP 地址,从而手动触发故障切换。典型值为 0.1。健康检查只能应用于内部负载均衡器和外部端点。
健康检查
Cloud DNS 支持在路由政策中针对以下内部负载均衡器和外部端点进行健康检查和故障切换:
- 内部应用负载均衡器(区域级和跨区域)
- 内部直通式网络负载均衡器
- 内部代理网络负载均衡器(预览版)
- 外部端点
如果您想将健康检查与托管区域结合使用,并且已启用DNS 安全扩展 (DNSSEC),则每个政策项中只能使用一个 IP 地址。您不能在特定政策中混合使用接受了健康检查的 IP 地址和未接受健康检查的 IP 地址。
如需了解在配置 Cloud DNS 记录和健康检查时要注意的最佳实践,请参阅最佳实践。
内部负载均衡器的健康检查
对内部负载均衡器的健康检查仅在专用区域中可用。
对于内部应用负载均衡器和内部代理网络负载均衡器,Cloud DNS 会在路由决策期间考虑负载均衡器本身的健康状况。当负载均衡器收到查询时,它只会将流量分配到健康状况良好的后端服务。为确保后端健康状况良好,您可以使用托管式实例组 (MIG) 等服务来管理后端的生命周期。Cloud DNS 不需要知道各个后端的健康状况;负载均衡器会处理此任务。
对于内部直通式网络负载均衡器,Cloud DNS 会检查负载均衡器各个后端实例上的健康状况信息。Cloud DNS 应用默认的 20% 阈值,如果至少有 20% 的后端实例处于健康状态,则负载均衡器端点会被视为处于健康状态。DNS 路由政策会根据此阈值将端点标记为健康或不健康,并相应地路由流量。
一个内部直通式网络负载均衡器虚拟 IP 地址 (VIP) 可以有多个后端实例。如果内部直通式网络负载均衡器没有任何后端实例,Cloud DNS 仍会认为其健康状况良好。为了使健康检查正常运行,请在负载均衡器配置中至少指定一个后端实例。
当端点被标记为健康状况不佳时,可能会发生以下情况:
- 如果针对一个政策编程了多个 VIP 地址,则仅返回健康状况良好的 VIP 地址。
如果针对政策存储桶编程的所有 VIP 地址健康状况不佳,则该政策行失败。以下行为适用:
- 对于 WRR 政策,Cloud DNS 会在政策中定义的其余健康端点之间按比例分配流量。
- 对于故障切换政策,Cloud DNS 会将流量切换到政策中定义的备用端点。
- 如果所有政策存储桶健康状况不佳,则 Cloud DNS 的行为就像所有端点都健康状况良好一样。 这种情况可能会导致流量分发到无响应端点。
如需详细了解内部负载均衡器的健康检查,请参阅健康检查概览。
健康检查时间间隔
Cloud DNS 会根据健康检查间隔时间定期发送健康检查探测。例如,如果健康检查间隔时间为 30 秒,则 Cloud DNS 每 30 秒发送一次健康检查探测。
对于 Cloud DNS 外部端点健康检查,健康检查间隔时间必须介于 30 秒到 300 秒之间。
加权轮循路由政策和健康检查
Cloud DNS 支持 0 到 1000 的权重,包括 0 和 1000。包含健康检查时,会发生以下情况:
- 如果您配置多个目标,且所有目标都为权重 0,则流量会在目标之间平均分配。
- 如果您配置新的非零加权目标,则该目标将成为主要目标,并且所有流量都会转移到该目标。
- 当您添加更多具有非零权重的目标时,Cloud DNS 会动态计算目标之间(以及每个请求)的流量分配,并适当分配流量。例如,如果您配置了三个权重分别为 0、25 和 75 的目标,则权重为 0 的目标没有流量,权重为 25 的目标获得四分之一的流量,其余目标获得四分之三的传入流量。
- 如果健康检查与非零加权目标相关联,但与零加权目标没有关联,零加权目标始终被视为健康状况良好。如果所有非零记录健康状况不佳,则 Cloud DNS 会返回零加权记录。
- 如果健康检查与非零和零加权记录相关联,并且所有记录都未通过健康检查,则 Cloud DNS 会返回任何非零加权目标,并忽略零加权目标。
- 当 Cloud DNS 选择要返回到请求者的权重存储桶(单个政策项)时,系统仅会返回该权重存储桶中的 IP 地址。如果您在权重存储桶中仅指定一个 IP 地址,则只有该 IP 地址会包含在响应中。如果权重存储桶中有多个 IP 地址,则 Cloud DNS 会按随机顺序返回所有 IP 地址。
健康检查日志记录
Cloud DNS 支持健康检查日志记录,并在您查询引用这些 IP 地址的 DNS 名称时记录启用了健康检查的 IP 地址的健康状态。
借助健康检查日志记录,您可以执行以下操作:
- 验证路由政策是否按预期执行。例如:
- 对于 WRR 政策,Cloud DNS 可让您验证政策是否以正确的权重返回 IP 地址。
如需了解详情,请参阅健康检查日志记录信息。
DNS 路由政策支持的记录类型
DNS 路由政策并不支持所有 Cloud DNS 支持的记录类型。
系统支持以下记录类型:
记录类型 | 说明 |
---|---|
A | 用于内部(专用区域) 健康检查的 IPv4 地址。 |
CNAME | 标准名称。不支持健康检查。 |
MX | 邮件交换记录。不支持健康检查。 |
SRV | 主机/端口 (RFC 2782)不支持健康检查。 |
TXT | 文本数据。不支持健康检查。 |