我们为客户提供托管的 CMS,当他们想要将其域名指向其托管站点时,我们目前会指示他们创建指向我们的负载均衡器 IP 地址的 A 记录。
当这些服务器崩溃时,在不同位置启动并运行备份服务器的行为比让所有客户更改他们的 A 记录要简单得多。
所以我想知道我们如何才能消除这个必要的步骤。
我们可以让每个人都创建一个 CNAME 吗?让每个人都将其指向 sites.oursite.com,然后我们可以在本地更改 sites.oursite.com 的 DNS,而不必打扰他们?
这听起来可行,但我们仍然需要延迟在 ISP 之间传播 DNS 更改。我们还能对主机做些什么来防止这种情况发生?以某种方式刷新 DNS 记录,或者可能不使用 DNS,而是让 Apache 运行脚本来找出我们当前想要指向的 IP 地址?如果能够只更改 IP 地址并几乎立即从另一个位置为我们的系统提供服务,那就太好了。
答案1
两件事情:
我认为使用 CNAME 记录是一个很好的解决方案。
就 DNS 传播而言,DNS 记录不会传播。您只需关注 A 记录的 TTL 是否足够低,以便在合理的时间内(1 小时?)实现故障转移。更改 A 记录时,它只会影响当前在其 DNS 缓存中拥有 A 记录信息的 DNS 客户端。任何缓存中没有新信息的 DNS 客户端都可以立即访问 CMS。发生故障转移时缓存了信息的任何 DNS 客户端都需要等到原始 A 记录 TTL 过期。
答案2
如果能够只更改 IP 地址并几乎立即让我们的系统从另一个位置提供服务,那就太好了。
就您而言,新旧系统是否在同一网络上?如果是,则迁移流量可能是可行的,并且很容易做到,只需在防火墙/路由器上设置 NAT,将发往旧地址的任何流量重定向到新地址即可。