如何将Godaddy域与AWS Elastic Beanstalk环境链接?


102

我在尝试将Godaddy域AWS Elastic Beanstalk实例链接时遇到了这个问题。我找到了很多有关如何将EC2实例与Godaddy上的域链接的文档,但没有有关Elastic Beanstalk实例的文档。所以我最终得到了这个URL:www.MY_SITE.elasticbeanstalk.com

这是我对EC2实例所做的操作:

  1. 我用Route 53托管区域中的域名服务器更新了Godaddy域中的域名服务器
  2. 我在EC2控制台上创建了一个新的Elastic IP
  3. 我回到Godaddy ,使用其EC2弹性IP 1 更新了他们的DNS管理器中的DNS A @字段。
  4. 您通常需要等待1h至48h,它应该可以工作。

如何对AWS Elastic Beanstalk实例而不是EC2实例执行相同的操作?我看不到从EC2控制台创建的实例以将其链接到Elastic IP。

希望这足够清楚..有帮助吗?


您会迷惑各个难题,如果您能告诉我们您的域名,我们将更容易提供帮助。
jamieb 2012年

您的Elastic Beanstalk实例是否有IP地址或URL URL:www.MY_SITE.elasticbeanstalk.com?
Mike_GoDaddy'12年

关于如何在Elastic Beanstalk中使用自定义域名的文章docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/…–
Alexey,

Answers:


103

无需创建CNAME或进行任何转发-从SEO角度来看这很糟糕,Amazon不建议这样做。即使您不应该直接将记录指向IP-由于IP可以随时更改,因此将来会引起很多麻烦。

最优雅的方法是将DNS服务从GoDaddy迁移到Route 53。您仍然可以使用GoDaddy,但是处理您网站的请求将在Amazon一方。

这是您需要做的:

  1. 在Route 53控制台中为您的站点创建一个新的托管区域: 在此处输入图片说明

  2. 打开新添加的域名,找到NS记录并复制服务器: 在此处输入图片说明

  3. 在GoDaddy的域管理器中,通过“导出区域文件(Windows)”导出记录。

  4. 将这些记录导入到Route 53(“导入区域文件”按钮)。

  5. 在GoDaddy的域管理器中,设置在第二步获得的自定义DNS名称服务器: 在此处输入图片说明

迁移可能需要一些时间(甚至几天)。现在,您可以将域链接到Elastic Beanstalk站点。为此,请在Route 53中选择/创建适当的A记录类型,并为其设置Alias: 在此处输入图片说明

希望能帮助到你。


1
谢谢你,先生。像魅力一样工作。
幻象

4
有一个。在4个名称服务器中的每个名称上,您都用红色框突出显示了该图像,然后执行.uk'。还必须添加,如果没有,那么我可以添加名称服务器,但是如果添加了,我得到的字符无效,对此愚蠢的查询感到抱歉,但是我是此设置的新手。我已经按照指示添加了4个名称服务器,但是仍然无法找到网站错误,如何调试,因为我可以ping www.mysitename.com
Vicky Dhas

3
@VickyDhas自从我这样做已经有一段时间了,但是我认为您不需要在域名服务器名称的末尾添加一个点(即ns-1783.awsdns-30.co.uk
Vsevolod Krasnov

2
对于初次尝试此操作的用户:确保在导入DNS记录后刷新托管区域表。记录不会像您想象的那样自动显示。然后单击A记录(可能是第一行),并如上所述为该记录创建别名。这绝对是做到这一点的方法。如果您使用的记录数量较少,则这些更改会很快传播。
jbcaveman '16

2
如果您正在使用一个未使用的新域,这是一个很好的答案,但是如果您已经通过GoDaddy指向地方,则不是一个很好的答案。就我而言,我的www(和其他与电子邮件相关的)子域已经通过GoDaddy指向了某个东西,但是现在需要将另一个子域指向我的弹性beantalk。
斯韦特·安杰洛夫

41

当我遇到将GoDaddy域与AWS ElasticBeanstalk链接的问题时,这就是我所做的事情。

DNS管理器:

  • 记录@:64.202.189.170(这是GoDaddy的转发IP btw)
  • Cname www:AWS EB域(例如awseb-xyz.us-east-1.elb.amazonaws.com)

转发:

  • 将域转发到www.example.com(仅转发,不带屏蔽)
  • 将子域转发到AWS EB域(例如awseb-xyz.us-east-1.elb.amazonaws.com)(带屏蔽)

为了访问不带www的网站(例如http://example.com),我必须设置将域名转发到www cname的功能。然后,该www cname被转发到AWS EB域(使用屏蔽以将www.example.com保留在地址栏中)。


1
您不能为域添加cname,仅为子域添加cname

1
将第一个项目符号“转发域”转发到www.mysite.com(仅转发,不带屏蔽)?www.mysite.com是您在godaddy上购买的域名还是EB链接?
赫里希克什·萨达尔2013年

1
对我来说,我必须将A记录@:更改为184.168.221.3。
费利克斯

1
从SEO角度来看,此解决方案无效。请参阅以下基于亚马逊文档的答案。
Vsevolod Krasnov

1
如上所述,转寄给CNAME是一种错误的形式-确实没有理由。路线53是通往Beantalk的重要途径。
bshea

8

您应该将CNAME记录添加到您的Godaddy域名,该域名是从www.yourGoDaddyDomain.com-> MY_SITE.elasticbeanstalk.com映射的。

这会将对您域名的请求定向到在弹性beantalk环境中运行的负载均衡器。您不想将域名路由到特定服务器(即弹性IP),而是希望将其转到负载平衡器,然后它将请求路由到您的服务器。由于AWS负载均衡器不使用IP(它们使用域名),因此您不想为此设置A记录-CNAME记录将域名映射到域名。

请参阅GoDaddy文档中的“添加或编辑CNAME”部分,以了解如何执行此操作。


6
您不能为域添加cname,仅为子域添加cname

在Godaddy中,当将子域添加到指向mysiteloadbalancer.com的cname记录中时,它起作用了:)
Beniston,2015年

我如何在不使用任何托管区域的情况下通过Godaddy的DNS将域指向我的弹性IP?.. PS-费用昂贵
Divij Sehgal

我没有使用Elastic Beanstalk。
Divij Sehgal

2

您的route53配置必须指向负载均衡器,而不是ec2实例

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.