我开始了解 VPC,但没有看到好的内部 DNS 解决方案。例如,我们使用的是 VPC 中的其他服务器连接到的非 RDS 数据库服务器。我想按名称而不是 IP 连接。部分原因是这样我可以获得一个内部 10.xxx 地址,这可能会更快。大多数情况下,它使配置更容易、更清晰、更灵活。
在过去(大约 2008 年),VPC 之前我有一个运行 MaraDNS 的服务器,我们会在我们启动和更改实例时更新它,这是一个很大的痛苦,特别是因为服务器将获得自己的 DHCP 分配的内部地址当他们重新启动时,只是因为这是另一回事。我的一些运行不同系统的同事认为我进行所有这些努力是个白痴——他们只是更新了 /etc/hosts 文件(这很好,直到出现中断并且他们所有的服务器都以新的 IP 返回)。
我应该看看 Route53(我们在那里做我们所有的公共 DNS)还是我遗漏了什么?
更新:2017 年——内部 DNS 现在是 Route 53 的一个功能。哇!
我的公司在 AWS 上有一个正在运行的业务 Web 服务,它使用通配符 SSL 证书(适用于 *.example.com)。多个合作伙伴拥有子域并需要 SSL(https://partner1.example.com、https://partner2.example.com等),我们为他们提供 HTML 或 JSON 响应。
我们的生产站点有一个面向 Web 的 ELB,其中安装了我们的 SSL 证书。ELB 平衡并终止到我们 VPC 中生产服务器实例集群的SSL。我们的网络应用程序知道如何根据子域名提供正确的合作伙伴 HTML/JSON。
我想尽可能简单地为我们的测试环境(例如 QA、Staging、Demo)复制这个。但是测试和生产环境不能是同一个服务器实例;我需要知道如果我搞砸了我们的测试环境,我不会终止生产。
理想情况下,处理生产流量的同一个 ELB 可以以某种方式将流量路由到我的测试服务器,也许如果它们使用已知的 IP 地址或 DNS 子域?我是否正确地认为这是不可能的?
我想我可以为每个测试环境设置一个带有 SSL 证书的 ELB ,每个“平衡”到一个服务器,但这似乎过于复杂,我猜也很贵。
所有实例,生产和测试,都在我们的 VPC 中运行。但是目前只有生产集群在 ELB(它终止 SSL)上设置了 SSL,并将直接的 HTTP 请求传递给实例本身。
测试服务器接受 HTTP。我设置了公共弹性 IP 和 DNS 名称(staging.example.com、qa.example.com、demo.example.com)……但它们不受 SSL 保护。
测试服务器实例上几乎没有关键数据或客户数据,并且它们像任何面向 Web 的服务器一样受到保护和正确修补(我希望!!)。尽管如此,我希望 SSL 不仅是为了增加安全性,而且是让我的测试环境尽可能地匹配我的生产环境。
除了我们的临时服务器之外,其他环境都由具有 Apache 命名虚拟主机配置的单个实例(例如,同一服务器上的 demo 和 qa)支持。因此,对于测试,有很多站点,但只有少数服务器。
有没有一种方法可以让我的通配符 SSL 证书仅安装在我的负载均衡器(或者可能更多)上,或者其他一些配置允许我检测 HTTP 请求并将其路由到正确的测试服务器,基于 IP …