基本上,我的需求是:能够在我的 60 多个域的 DNS 区域中指定 IP 地址,并且能够将此IP重定向到另一个(并在需要时进行更改)。我不是那种“网络人”,所以一点帮助会.. 嗯... 有帮助!;-)
我需要这个,因为我正在管理两个不同的专用服务器:
- 服务器 #1:生产,公有 IP #1。
- 服务器 #2: 紧急情况下,发生灾难时,公有 IP #2。
我的所有域名 DNS 区域都指向此服务器 #1(生产),IP 地址为 #1。
当我的服务器 #1(生产)停机(发生灾难时)时,我需要将所有域名重定向到服务器 #2(紧急情况)。在这种情况下,我的计划是执行以下操作:
- 手动更改我的 60 多个域名的 DNS 区域,使它们指向服务器 #2 的 IP #2(紧急情况)
- 等待 DNS 传播延迟
有没有更好的方法可以做到这一点,让我的 DNS 区域始终指向一个 IP,并允许我在需要时仅更改一行以将此 IP 重定向到 IP #1 或 IP #2?我是否需要管理专用于此角色的“外部”Windows 服务器?(这会很昂贵)..或者任何在线服务都允许这样做?(但代价是我必须绝对避免的任何延迟)?
请注意,Windows Server 上的许多地方都使用公共 IP:IIS Web 服务器、Plesk 配置等。
附加信息:如果有帮助,我的 DNS 区域由 OVH 管理。
答案1
您需要获取另一个公共 IP(第三个)以用于 DNS 记录。该第三个 IP 将分配给活动服务器。
您需要使用一些高可用性软件来监控服务器,并在其他 IP 不可用时为其分配第三个 IP(VIP)。您需要将生产服务器配置为最喜欢的服务器(默认分配 VIP)。
对于 Linux 系统,您可以使用 keepalived 作为 HA 解决方案。对于 Windows 环境,这个帖子可能会对您有所帮助(我不是 Windows 服务器方面的专家)。
答案2
嗯 - 我认为 DNS 并不是真正的解决方法,因为记录需要传播。
我不知道大家一致认为这需要多长时间,但我通常认为 48 小时是合理的——并非每个 DNS 服务器都会接受您指定的 TTL,并且在外面存在一些相当深的层次结构,解析器依赖于解析器,解析器又依赖于距离权威服务器有一定距离的更多解析器。
您是否考虑过使用某种类似负载均衡器/CDN 的东西?
这将允许您在 DNS 中指定负载均衡器 IP 或 CDN,并能够单独处理后端配置。
但这并不符合每个人的口味,因此,一种替代方案是使用一对专用前端,为您的域名提供 CNAME,以允许两者之间进行循环。
您通常可以将 nginx 或 haproxy 转储到类似的东西上,就可以了(但如果这不是您的领域,托管前端可能会更好)。
检查 OVH 提供什么 - 这是一个常见的需求,他们很可能能够为您提供更具体的建议。