我们有一个网站,它位于两个防火墙后面,一个是主防火墙,另一个是故障转移防火墙。主防火墙和故障转移防火墙具有不同的 IP,以及来自不同提供商的不同互联网连接。当主故障转移或主互联网连接中断时,客户端会自动通过第二个 IP 连接到网站,如何提供故障转移?
防火墙的故障转移是有效的,它们都是有状态的。哪种模型并不重要,让我们想象一下它们是否有效。
我们知道可以进入 DNS 并手动将网站 IP 更改为故障转移 IP,但是有没有更优雅、更快捷的解决方案呢?
答案1
我们知道可以进入 DNS 并手动将网站 IP 更改为故障转移 IP,但是有没有更优雅、更快捷的解决方案呢?
除非 a) 您的两家提供商都支持 BGP,并且 b) 他们愿意宣传您的路由,并且 c) 您有自己的 ASN。否则 DNS 是您唯一的选择。不过,如果您将 TTL 设置得非常低,并使用能够根据无响应 ping 重定向流量的更智能的 DNS 提供商之一,那么这并不是一个糟糕的选择。如果您的网站主要是静态信息,可以在发生中断时缓存并提供给用户,那么 CloudFlare 也是一个选择。
但实际上,如果您确实需要这种级别的 HA,那么您应该在数据中心托管。
答案2
有几个选项,但我建议使用像 F5 这样的负载均衡器 - 它使用具有虚拟 IP 地址的池,池中包含成员,在本例中是您的 Web 服务器。它能够通过在页面上查找字符串来确定 Web 服务器是否已启动。如果 Web 服务器已关闭,F5 会将成员标记为已关闭,因此只有可用的成员才会收到流量。在您的情况下,您可能会设置主动和被动,并通过健康检查来寻找互联网连接。如果它已关闭,负载均衡器会将成员标记为已关闭。您的 DNS 记录将位于负载均衡器的池级别。
如果你买不起 F5,也可以使用 Linux 和 HA 代理来实现。请看这里http://haproxy.1wt.eu/或此处http://www.howtoforge.com/setting-up-a-high-availability-load-balancer-with-haproxy-keepalived-on-debian-lenny。在线搜索 HA 代理。我们在我们的环境中使用它,我们是全球服务提供商。