简体   繁体   English

云 DNS:健康检查?

[英]Cloud DNS: Health Checks?

Does GCP's Cloud DNS have health check functionality? GCP 的 Cloud DNS 是否有健康检查功能? For example, if I am using a weighted round robin policy, or if I am returning multiple A records, then I do not want Cloud DNS to return an unhealthy IP in its answer.例如,如果我使用加权循环策略,或者如果我返回多个 A 记录,那么我不希望 Cloud DNS 在其答案中返回不健康的 IP。 These IPs will be individual servers, not Load Balancer IPs, so it is entirely possible that an individual IP could become unhealthy.这些 IP 将是单独的服务器,而不是负载均衡器的 IP,因此一个单独的 IP 完全有可能变得不健康。

In AWS, their equivalent Route53 product does offer that functionality ( reference ).在 AWS 中,他们的等效 Route53 产品确实提供了该功能( 参考)。 I want to know if GCP's Cloud DNS has something similar.我想知道 GCP 的 Cloud DNS 是否有类似的东西。

Currently there is no such option.目前没有这样的选择。
You can point A record to a loadbalancer's IP and configure health checks on that level ( 1 ).您可以将 A 记录指向负载均衡器的 IP 并在该级别 ( 1 ) 上配置运行状况检查。
You can also file a Feature Request on the Public Issue Tracker .您还可以在Public Issue Tracker上提交功能请求。

Although I like the features that Route 53 offers, DNS is the wrong place to do health checks.虽然我喜欢 Route 53 提供的功能,但 DNS 不是进行健康检查的地方。

DNS resource records are cached globally which renders Route 53 health check nondeterministic. DNS 资源记录被全局缓存,这使得 Route 53 运行状况检查具有不确定性。

DNS resource records have a TTL. DNS 资源记录有一个 TTL。 Resolvers will continue to use cached values until the TTL expires.解析器将继续使用缓存值,直到 TTL 过期。 If one of your nodes fails, the cache records will not reflect Route 53's updates.如果您的某个节点出现故障,缓存记录将不会反映 Route 53 的更新。

Some configure very short TTLs to get around that.有些配置非常短的 TTL 来解决这个问题。 The tradeoff is slower DNS response time, and higher query costs.代价是更慢的 DNS 响应时间和更高的查询成本。

Recommendation, use a load balancer and its health checks which understand the protocols required.建议,使用负载均衡器及其健康检查,了解所需的协议。

GCP Cloud DNS health checks arein preview now. GCP Cloud DNS 健康检查现在处于预览状态。

Only internal L4 load balancers are supported yet.目前仅支持内部 L4 负载均衡器。 Hopefully, L7s will come in soon as well.希望 L7s 也能尽快推出。

If I understand correctly, with LB level health checks I could resolve the situation for just backends on GCP, but what if I have a hybrid scenario, with VMs on GCP + VMs on-premises?如果我理解正确,通过 LB 级别的健康检查,我可以解决 GCP 上仅后端的情况,但如果我有一个混合场景,GCP 上的虚拟机 + 本地虚拟机呢?

How could I fail over DNS, from on-premises to GCP backends, to a disaster recovery solution (for example), assuming that Google CloudDNS is my Public DNS resolver?假设 Google CloudDNS 是我的公共 DNS 解析器,我如何将 DNS 从本地故障转移到 GCP 后端,再到灾难恢复解决方案(例如)?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM