我遇到了这个问题,试图将我的 Godaddy domain 与 AWS Elastic Beanstalk instance 链接起来 . 我发现了很多关于如何将 EC2 instance 与Godaddy上的域链接但不针对Elastic Beanstalk实例的文档 . 所以我最终得到了这个网址: www.MY_SITE.elasticbeanstalk.com
这是我为EC2实例所做的:
-
我用我的 Route 53 Hosted Zone 更新了我的Godaddy域名 Nameservers .
-
我在EC2控制台上创建了一个新的 Elastic IP .
-
我回到Godaddy并使用EC2弹性IP更新了他们的DNS管理器中的 DNS A @ 字段 .
-
您通常需要等待1小时到48小时才能正常工作 .
如何为AWS Elastic Beanstalk实例执行相同操作,而不是EC2实例?我无法看到我从EC2控制台创建的实例,以便将其链接到弹性IP .
希望这很清楚..有什么帮助吗?
4 回答
无需创建CNAME或进行任何转发 - 从SEO的角度来看这是不好的,亚马逊不推荐 . 即使您不应该直接将记录指向IP - 这将在未来造成很多麻烦,因为IP可以随时更改 .
最优雅的方式是migrate DNS service from GoDaddy to Route 53 . 您仍然会使用GoDaddy,但处理您网站的请求将在亚马逊一侧 .
这是你需要做的:
在Route 53控制台中为您的站点创建新的托管区域:
打开新添加的域名,查找NS记录并复制服务器:
在GoDaddy的域管理器中,通过“导出区域文件(Windows)”导出记录 .
将这些记录导入Route 53(“导入区域文件”按钮) .
在GoDaddy的域管理器中设置自定义DNS名称服务器,在第二步获得:
迁移可能需要一些时间(甚至几天) . 现在,您可以将域链接到Elastic Beanstalk站点 . 为此,请在Route 53中选择/创建正确的A记录类型,并为其设置别名:
希望能帮助到你 .
这是我在遇到将GoDaddy域与AWS ElasticBeanstalk链接的问题时所做的 .
DNS管理员:
记录 @ :64.202.189.170(即GoDaddy的转发IP顺便说一句)
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保留在地址栏中) .
您应该在您的Godaddy域名中添加CNAME record,该域名来自www.yourGoDaddyDomain.com - > MY_SITE.elasticbeanstalk.com .
这会将您的域名请求定向到弹性beanstalk环境中运行的负载均衡器 . 您不希望将域名路由到特定服务器(即弹性IP),您希望它转到负载均衡器并将请求路由到您的服务器 . 由于AWS Load balancer 器不使用IP(它们使用域名),因此您不希望为此设置A记录 - CNAME记录将域名映射到域名 .
请查看GoDaddy documentation的"Adding or Editing CNAMEs"部分,了解如何执行此操作 .
您的route53配置必须指向负载均衡器,而不是ec2实例