使用Amazon EC2 Elastic Load Balancer的DNS

我被告知,我不能让一个域(example.com)的根CNAME – 我必须指定一个IP。

鉴于您无法使用IP地址指向您的Elastic Load Balancer,那么最佳做法是什么?

目前我这样做:

example.com – 第一个服务器的弹性IPlogging – redirect到www.example.com

www.example.com CNAME到负载均衡器的主机名

如果第一台服务器不起作用,redirect将失败。

有没有更好的方法来解决这个问题?

你的方法可能是最理智的方法。

你可以做的是通过为example.com添加多个Alogging来循环访问你的根logging。 域并复制所有服务器上的redirect代码。 这种方式不依赖于第一台服务器。

如果你的redirect是一个301,几乎所有的用户将caching301如此可能下次他们浏览该网站,如果他们通过example.com浏览器应该(如果他们不清除caching)自动redirect到www.example.com甚至没有检查服务器,然后直接去你的负载平衡器

看起来亚马逊现在已经为此实施了一个解决scheme。

“Amazon Route 53已经集成了Amazon EC2的Elastic Load Balancing,以便您轻松地将您的根域或”zone apex“(例如mydomain.com,不带”www“)映射到负载均衡器。

http://aws.typepad.com/aws/2011/05/elastic-load-balancing-ipv6-zone-apex-support-additional-security.html

我发现大多数域名注册商都提供域名redirect(HTTP 301)的基本DNS工具,因此您应该能够将您的根条目(例如example.com)设置为www.example.com等的redir。 这一切都假设你可以使用redir并且不需要你的站点来响应example.com。 这将使您不必支付另一个弹性IP作为亚马逊。