【问题标题】:How to map domain to EC2 and S3如何将域映射到 EC2 和 S3
【发布时间】:2017-02-05 09:09:26
【问题描述】:

我想在 S3 上托管网站,在 EC2 上托管应用程序服务器。

我有一个来自廉价域名的域名,并添加了一条带有“@”主机的“A”记录,指向与我的 EC2 实例关联的弹性 IP。

另外,在 EC2 实例上,我在端口 8080 上运行了 tomcat。当我向mydomain.com:8080/webservice 发送请求时,它按预期工作。此 Web 服务适用于移动应用程序,与我想在 S3 上托管的静态站点无关。

现在我想将mydomain.com 配置到 S3 存储桶。我该怎么做?

【问题讨论】:

    标签: amazon-web-services amazon-s3 amazon-ec2 dns amazon-route53


    【解决方案1】:

    原来解决方案是创建两条 DNS 记录

    1)CNAME "WWW" 记录指向 www.mydomain.com.s3-website-us-east-1.amazonaws.com。

    2) 将“api”记录到 IP 地址。这允许 api.mydomain.com 指向弹性 ip 并指向 ec2 实例

    【讨论】:

    • 我的想法是一样的。好问题,谢谢!
    【解决方案2】:

    查看Example: Setting Up a Static Website Using a Custom Domain,了解在 S3 上为静态网站设置自定义域的步骤。

    【讨论】:

    • 我关心的不仅仅是将域指向 S3。我希望端口 8080 上的请求继续转到映射到 ec2 实例的弹性 ip。我想发布 80 即“mydomain.com 指向 S3 存储桶
    【解决方案3】:

    您无法在 namecheap 上创建指向 S3 存储桶的 A 记录。您必须使用 CNAME 记录来指向 S3 存储桶。您不能将 CNAME 记录用于“mydomain.com”等根域。您可以在 namecheap 上设置一条 CNAME 记录,将“www.mydomain.com”指向您的 S3 存储桶。

    如果您需要将域 (mydomain.com) 的根目录指向 S3,则必须将 DNS 托管移动到 Route53,以便您可以使用别名记录,详细信息为 here。

    【讨论】:

    • 谢谢,我愿意使用 Route53,但我如何确保 mydomain.com:8080 映射到弹性 ip addess 和 mydomain.com 映射到 S3 存储桶。如果我按照上述步骤操作,所有流量都不会在 S3 上结束吗?
    • 我错过了您为两种服务使用相同域名的部分。如果不在这两个服务(如 Nginx)前面放置一些东西,您就无法做到这一点,然后可以根据端口执行路由。域名必须指向一个地方。该端口不用于 DNS 路由。如果 EC2 服务器上的服务只是一个移动应用程序的 API,为什么它需要是 mydomain.com?为什么不能是 api.mydomain.com 之类的?
    • 感谢我愿意使用 api.mydomain.com 指向弹性 IP 地址,使用 mydomain.com 指向静态 s3。如果没有 Nginx,我将如何去做。越简单越好。我只是不能为 ec2 使用 [ip4] 地址,因为苹果不允许在应用程序中使用它,因此需要静态站点和 api 的域名。
    • 只需为api.mydomain.com新建一条A记录,指向弹性IP即可。为了将 mydomain.com 指向 S3,您仍然需要将 DNS 移动到 Route53。
    【解决方案4】:

    顶点记录仅支持提供 IP 地址的 A 记录。如果您使用 Route 53 提供您的 DNS,您可以为存储桶、负载均衡器或其他将在内部映射到 IP 地址的 AWS 服务设置别名。

    别名系统仅适用于 Route 53,您无法对任何其他 DNS 提供商执行此操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-06
      • 1970-01-01
      • 1970-01-01
      • 2014-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-22
      相关资源
      最近更新 更多