问题:我们在cotoso.com下有DNS子域,我们希望将它们映射到2个IP地址,例如子域1-4000到IP1,4001-7000到IP2。做这件事最好的方法是什么?
背景:我公司提供SAAS软件。我们有一个根域(比如cotoso.com),然后为每个客户公司分配一个子域(例如company1.cotoso.com、company1.cotoso.com)。每一家公司通过给定的子域登录并使用我们的SAAS。
以前,我们的业务很小,我们只有一个服务部署。因此,DNS设置非常简单,只需设置一个记录将*.cotoso.com映射到负载均衡器即可。
随着业务的增长,我们计划在不同的数据中心进行多个部署。然而,DNS成为一个大问题。现在,我们有大约7,000名客户,我们想将其中的一半转移到新的数据中心,我们如何设置DNS记录?
我的方法是使用3级域:
*.southeast.cotoso.com A 1.2.3.4
*.south.cotoso.com A 1.2.3.5
然而,3级通配符和2级通配符DNS记录之间存在冲突,因此不能将现有用户迁移到新的3级域。
任何帮助都是非常感谢的。
谢谢,
发布于 2017-07-19 01:27:31
假设您知道您的客户正在使用的子域,您应该为每个子域设置DNS条目,并指向它们应该使用的DC。现在很多DNS提供者都有基于HTTP的“API”或不同的质量,当您的供应数据库被更新时,您可以使用这些API自动更新DNS记录(创建客户记录->创建DNS记录;取消->删除DNS记录)。如果您自己托管DNS,您可以轻松地编写脚本,从客户记录生成DNS区域数据。
DNS通配符是邪恶的,令人困惑的,不要做你可能认为它们会做的事情。我强烈建议你停止使用它们,永远不要让它们再次使你的门变暗。
发布于 2019-02-04 20:40:19
保持DNS配置为单个通配符(*.company.com),并引入反向代理(例如,清漆、proxy或nginx)将流量路由到适当的后端服务。像section.io这样的托管边缘代理可以使管理代理比自己运行它更容易。
这使您可以灵活地更改使用版本化和更改容易的代码处理路由的方式,而不是锁定到特定的DNS服务和数千条单独的记录中。
https://serverfault.com/questions/862719
复制相似问题