我正在 EC2 上处理一个大型服务器网络,需要一种方法让服务器了解彼此在云中的位置。我认为最简单的方法是使用 DNS,因为如果我替换 EC2 实例,我只需更新 DNS 记录,其余服务器就会知道它(名称如 users.db.mysoft.com、routing.mysoft.com、cluster1.memcached.mysoft.com)。我正在考虑在微型/小型实例上设置主 DNS 服务器以适应这种情况。
我最好需要一些像键值存储(主机名 -> IP)一样简单的东西,平台可以远程添加/删除条目。我可以用 BIND 做到这一点吗?或者有更好的解决方案吗?
答案1
我知道有几种可能性。
1.) 使用由 DB 支持的 DNS 服务器(如 PowerDNS + MySQL),并在自动化系统启动实例时更新数据库(您正在使用自动化系统,对吗?)
2.) 如果您不想麻烦地设置自己的服务器,那么您可以使用提供 API(如 DNSimple 或 Zerigo)和短 TTL 的托管 DNS 服务,并通过其 API 将更新推送到托管 DNS 服务。
全面披露:我运行 DNSimple。
我同意您不应该为此使用弹性 IP。