我开始了解 VPC,但没有看到好的内部 DNS 解决方案。例如,我们正在使用 VPC 中的其他服务器连接到的非 RDS 数据库服务器。我想按名称而不是 IP 连接。部分原因是我可以获得一个内部 10.xxx 地址,这可能更快。大多数情况下,它使配置更容易、更清晰、更灵活。
在过去(大约 2008 年),在 VPC 出现之前,我有一台运行 MaraDNS 的服务器,我们会在启动和更改实例时更新它,这是一个很大的痛苦,特别是因为服务器将获得自己的 DHCP 分配的内部地址当他们重新启动时,只是因为这是另一回事。我的一些运行不同系统的同事认为我是一个白痴,因为我做了所有这些努力——他们只是更新了 /etc/hosts 文件(这很好,直到出现中断并且他们所有的服务器都恢复了新的 IP)。
我应该查看 Route53(我们正在做所有公共 DNS 的地方)还是我遗漏了什么?
更新:2017 年——内部 DNS 现在是 Route 53 的一项功能。哇!
从 AWS VPC文档看来,在 AWS VPC内利用 DNS 服务器的推荐方法是首先创建一个DHCP 选项集并将其与 VPC 相关联。那么你就可以在那个VPC里面架起1-4个DNS服务器。此外,DHCP 选项集将允许您为所有包含的 VPC 实例设置以下内容。(从文档中截取)
实例在启动时应通过 DDNS 向您的 DNS 服务器注册其 DNS 名称(作为其公共 AWS 分配的 FQDN 的 CNAME);这样,无论您身在何处,您都可以通过众所周知的名称来引用它们并获得最合适的地址(内部或外部)。Route53 可能内置了这种魔法,但我更喜欢尽可能提供独立于提供商的解决方案。
像Avahi这样的东西行不通吗?对于大多数 Linux 发行版,它甚至都已安装并很好地打包。只需给每个需要访问的实例一个唯一的主机名,Bob 就是你的叔叔。