【问题标题】:如何将 godaddy 域与 AWS Elastic Beanstalk 环境链接?
【发布时间】:2012-07-21 01:56:31
【问题描述】:

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

这是我为 EC2 实例所做的:

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

我怎样才能对 AWS Elastic Beanstalk 实例而不是 EC2 实例执行相同的操作?我看不到我从 EC2 控制台创建的实例,以便将其链接到弹性 IP。

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

【问题讨论】:

  • 您混淆了难题的各个部分,如果您能告诉我们您的域名,我们会更容易提供帮助。
  • 您的 Elastic Beanstalk 实例是否有 IP 地址或只有 URL URL:www.MY_SITE.elasticbeanstalk.com?
  • 关于如何在 Elastic Beanstalk 中使用自定义域名的文章docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/…

标签: amazon-ec2 dns amazon-elastic-beanstalk


【解决方案1】:

无需创建 CNAME 或进行任何转发 - 从 SEO 的角度来看这是不好的,亚马逊不推荐。即使您不应该将记录直接指向IP - 将来会造成很多麻烦,因为IP可以随时更改。

最优雅的方式是migrate DNS service from GoDaddy to Route 53。您仍将使用 GoDaddy,但处理您网站的请求将由亚马逊负责。

这是你需要做的:

  1. 在 Route 53 控制台中为您的站点创建一个新的托管区域:

  2. 打开新添加的域名,找到NS记录并复制服务器:

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

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

  5. 在 GoDaddy 的域管理器中设置自定义 DNS 名称服务器,在第二步获得:

迁移可能需要一些时间(甚至几天)。 现在,您可以将您的域与您的 Elastic Beanstalk 站点链接起来。为此,请在 Route 53 中选择/创建正确的 A 记录类型并为其设置别名:

希望对你有帮助。

【讨论】:

  • 谢谢先生。像魅力一样工作。
  • 有一个 .在 4 个名称服务器中的每个名称处,您都在红色框中突出显示了图像,这样做是 .uk'。还必须添加,如果没有,那么我可以添加名称服务器,但如果添加我会得到无效字符,对不起这个愚蠢的查询,但我是这个设置的新手。我已经按照指示添加了 4 个名称服务器,但仍然出现找不到网站错误,如何调试,因为我可以 ping www.mysitename.com
  • @VickyDhas 我已经有一段时间没有这样做了,但我认为您不需要在名称服务器名称末尾添加一个点(即ns-1783.awsdns-30.co.uk
  • 对于第一次尝试此操作的用户:确保在导入 DNS 记录后刷新您的托管区域表。记录不会像您想象的那样自动显示。然后单击 A 记录(可能是顶行)并如上所述为该记录创建别名。这绝对是做到这一点的方法。如果您使用的记录数量较少,这些更改会很快传播。
  • 如果您正在使用新的未使用域,这是一个很好的答案,但如果您已经通过 GoDaddy 指向地点,则不是很好。在我的情况下,我的 www(和其他与电子邮件相关的)子域已经通过 GoDaddy 指向某些东西,但现在需要将另一个子域指向我的弹性 beanstalk。
【解决方案2】:

这是我在遇到将 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 保留在地址栏中)。

【讨论】:

  • 你不能为域添加cname,它只能用于子域
  • 将第一个项目符号点转发到 www.mysite.com(仅转发,不加掩码)? www.mysite.com 是你在godaddy买的域名还是EB链接?
  • 对我来说,我必须将 A 记录 @: 更改为 184.168.221.3。
  • 从 SEO 的角度来看,这个解决方案是无效的。请参阅下面我的答案,基于亚马逊的文档。
  • 如前所述,转发给 CNAME 是不好的形式 - 而且真的没有理由这样做。 53 号公路是要走的路……对于任何与豆茎有关的有意义的事情。
【解决方案3】:

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

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

查看GoDaddy documentation 的“添加或编辑 CNAME”部分,了解如何执行此操作。

【讨论】:

  • 你不能为域添加cname,它只能用于子域
  • 在 Godaddy 中,当子域被添加到指向 mysiteloadbalancer.com 的 cname 记录时,它起作用了:)
  • 如何在不使用任何托管区域的情况下通过 Godaddy 的 DNS 将我的域指向我的弹性 IP?..P.S. - 这很昂贵
  • 我没有使用 Elastic Beanstalk。
【解决方案4】:

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

【讨论】:

    猜你喜欢
    • 2021-07-28
    • 2018-12-27
    • 2023-03-17
    • 2021-09-29
    • 2015-07-05
    • 2015-08-05
    • 2018-12-09
    • 2020-09-29
    • 1970-01-01
    相关资源
    最近更新 更多