将大量网站重定向到另一台服务器的最佳实践方法是什么(考虑到成本、复杂性和性能)?每个站点的 DNS 都包含一个指向即将停用的旧 IP 地址的 A 记录。
更详细的是,每个站点都有一个 DNS A 记录指向 Azure 上的 IP 地址 aaaa,而我们希望这些网站指向 AWS 上的 IP 地址 bbbb。
是否存在最佳实践方法来执行此重定向,而无需更新数千个网站的 DNS?
经过一些研究:
- 由于该 IP 地址归 Microsoft (Azure) 所有,因此我可能无法使用 AWS EC2 BYOIP。参考。https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html
- 由于有数千个网站,每个网站都有自己的 DNS,因此更新 A 记录或添加 CNAME 记录将非常困难且耗时
可以在 Azure 上设置一个重定向到 AWS 的负载均衡器,但是有没有更好的方法呢?
答案1
每个站点的 DNS 都包含一个指向正在退役的旧 IP 地址的 A 记录。
更新 A 记录或添加 CNAME 记录将非常困难且耗时
是的。确实如此,如果您确实需要单独手动进行所有更改。
- 调查您当前的注册商和/或 DNS 提供商是否提供了适当的 API(这将允许您自动进行 DNS 更新并大幅减少手动劳动量)
如果他们不这样做,你可以现在就做出努力,避免将来再遇到如此艰巨的任务:
接受你现在无论如何都需要投资和做大量手动工作的事实,并选择将这些精力投入到一些面向未来的工作中,以避免重复这些手动工作。将此视为一个机会,将你当前的 DNS 记录和/或域移动到提供适当 API 的 DNS 提供商(或注册商),或者决定在内部托管你的 DNS,这也将使你能够更轻松地操作 DNS 记录。
- 首先按原样迁移。
- DNS 迁移后:自动执行所需的重新配置,以停用旧的 IP 地址。
考虑到您现在需要投资并进行大量手动重新配置,并创建那些 CNAME 记录,以减少将来更改 IP 地址的工作量
或者接受这样一个事实:停用 IP 成本太高,收益太少,然后重新考虑。有时,决策是在没有了解所有影响和全部后果的情况下做出的,可以提出上诉。
在旧 IP 地址上设置负载均衡器/反向代理当然是一种选择,但这样会增加额外的复杂性,而且很可能您需要为所有流量支付至少两次费用(一次用于网站访问者和您的负载均衡器/反向代理之间的流量,第二次用于负载均衡器和您的新网络服务器之间的流量)。