使用多个 CNAME 在 Amazon EC2 中进行负载平衡

使用多个 CNAME 在 Amazon EC2 中进行负载平衡

我的门户有多个 cname 记录,全部指向同一服务器。例如 aaa.com、bbb.com 以及 *.abc.com。我需要在我的 Web 应用程序中使用此 URL 来提供正确的内容。

现在我想移动 Amazon Load Balancing。

  • 我的所有 cname 记录怎么样?有障碍吗?
  • 当我使用负载均衡器时,用户输入的 URL aaa.com 将发布到服务器还是负载均衡器 DNS 将发布到服务器?
  • 最后,有没有关于亚马逊负载均衡器的好文章。

答案1

Elastic Load Balancing 为您提供 CNAME 作为终端节点。以下是示例:

$ host www.foursquare.com
www.foursquare.com is an alias for star-foursquare-com-367497865.us-east-1.elb.amazonaws.com.

如您所见,ELB 的工作原理是提供一个.wherever.elb.amazonaws.com域名,并设置一个较低的 TTL。然后,Amazon 将根据您的来源以及哪些后端服务器处于运行状态,为 ELB 返回不同的 DNS 值。(我写道关于此主题的博客文章如果您想了解更多详细信息,我鼓励您阅读一次。

因此,您可以为您的地址创建site.abc.com甚至*.abc.comCNAME .wherever.elb.amazonaws.com,并且该名称将按照您的预期转发到其背后的实例。

aaa.com 比较棘手,因为区域顶点(根名称)通常不能是 CNAME以前的解决方法是将 aaa.com 指向弹性 IP 上的单个 EC2 实例,在发生故障时重新映射;然而,亚马逊最近发布了其 Route 53 DNS 服务的新增功能他们将在其中设置 aaa.com 的 DNS 记录,以使之与您的 ELB CNAME 返回的记录保持同步。

答案2

它应该可以很好地与 CNAME 记录配合使用。浏览器只需不断解析,直到获得 IP 地址答案,然后向该 IP 发送带有 Host 标头的 HTTP 请求。AWS 负载均衡器只会将 Host 标头传递给后端 Web 服务器,这为您提供了您已经使用的常规基于名称的虚拟托管功能。

关于好文章,你试过谷歌吗?开玩笑的,但这个问题太笼统了。亚马逊有好文章,网上也有很多文章。

相关内容