AWS负载均衡器的(主机)记录

时间:2011-04-29 12:49:29

标签: amazon-web-services amazon-ec2 load-balancing nameservers

我对AWS Load Balancers有疑问。

我可以将我的CNAME www完美地指向我的负载均衡器的DNS,我知道它将始终有效,但我还需要将@记录指向负载均衡器,以便人们可以访问mysite.com而不是www.mysite.com并击中负载均衡器。

问题是A记录必须指向一个IP地址,因此我无法指向DNS并且负载均衡器的IP不断变化,因此mysite.com停止工作。

有人可以推荐我解决这个问题吗?

8 个答案:

答案 0 :(得分:9)

您需要一个执行重定向的Web服务器。即你想从mysite.com指向的网络服务器发送301“永久移动”,重定向到www.mysite.com。然后你CNAME www.mysite.com到亚马逊。

有些DNS托管服务提供商会为您做这件事,我认为GoDaddy会这样做。否则,您需要设置一个可以配置的Web服务器来执行此操作。

.htaccess中的Apache配置可以是例如:

RewriteEngine on
RewriteCond %{HTTP_HOST} mysite.com
RewriteRule ^(.*)$ http://www.mysite.com/$1 [L,R=permanent]

如果您有一个支持.htaccess的通用Apache托管站点,那么您可以这样做。

无论如何,你要找的是重定向。

答案 1 :(得分:8)

以下是步骤。

  1. 点击创建记录集
  2. 对于区域顶点记录,只需将名称字段留空
  3. 选择您要制作A或AAAA的别名类型(此后两个类型的所有步骤都相同)
  4. 选择是单选按钮。
  5. 在另一个选项卡中打开EC2控制台,然后导航到负载均衡器列表。 单击负载均衡器,然后查看列表下方窗格中的描述选项卡。样本输出
  6. enter image description here

答案 2 :(得分:7)

从技术上讲,它无法完成。您只能使用CNAME引用Amazon负载均衡器,并且它会中断DNS规则以将CNAME分配给域的根目录,因为这会导致MX记录出现问题。

也就是说,某些DNS提供商允许您这样做,亚马逊的路由53没有,但Zoneedit允许它(带警告)。如果您不需要您的电子邮件为该域工作,这是一个解决方案。如果你确实需要电子邮件,我确实使用Zoneedit工作,但DNS规则说你不能依赖它。

编辑:在我的帖子之后,亚马逊添加了使用Route 53将域的根(例如区域顶点)映射到负载均衡器的功能。请参阅this blog post

答案 3 :(得分:5)

正如David指出的那样,你不能这样做,仍然保留在DNS RFC中。您可以在某个地方构建一个小的无负载均衡实例,只需重定向mysite.com - > www.mysite.com。不是一个完全优雅的解决方案,而是一个解决方案..

答案 4 :(得分:2)

亚马逊现在在Route53中具有功能,它提供了将A记录绑定到ELB的机制:http://www.allthingsdistributed.com/2011/05/aws_ipv6.html

答案 5 :(得分:1)

您不需要重定向,是的,可以完成。它只是不处于使用DNS的正常模式,所以很多人不习惯使用带有ELB别名的区域顶点。

请参阅此处其他答案中给出的链接,尤其是https://serverfault.com/questions/342904/how-do-you-create-a-zone-apex-alias-that-points-to-a-elastic-load-balancer-in-th

答案 6 :(得分:0)

亚马逊在其路由53 DNS服务中添加了一个特殊的别名选项。您可以将A记录指向负载均衡器dns的别名。我遇到了同样的问题,因为我使用Bind 9托管自己的DNS服务器。我不想在重定向解决方案中使用CNAME。 Route 53解决方案更好,亚马逊非常擅长在全球范围内传播DNS信息。

以下是如何使用带有弹性负载平衡器的特殊别名记录的路径53的说明。

https://serverfault.com/questions/342904/how-do-you-create-a-zone-apex-alias-that-points-to-a-elastic-load-balancer-in-th

答案 7 :(得分:0)

从DNS服务提供商进行的重定向对我不起作用。 我决定放弃使用负载平衡器(从一开始我就创建它只是为了尝试破解提到的证书问题)。如果您必须使用LB,请阅读opt#2下面的内容,但我没有尝试过,但我认为它应该可以工作。

选项1(不含LB) 采取从受信任的颁发者那里获得的证书,并将其直接安装在服务器上。从服务器(从http到https)给出重定向顺序,它将也处理www。 我使用了bitnami的图像,因此可以使用bncert-tool。

选项2(对于LB,您应该具有证书正文和私钥) 您应该执行选项#1 ,然后转到AWS->导入证书中的证书管理器,然后将该证书与您的LB一起使用,这样您在两种情况下都具有相同的证书 我从未尝试过选择#2

祝你好运