【问题标题】:AWS Route 53 - Elastic Beanstalk EC2 and S3 all under the same domain?AWS Route 53 - Elastic Beanstalk EC2 和 S3 都在同一个域下?
【发布时间】:2014-01-22 12:58:55
【问题描述】:

我的 Route 53 设置如下

company.com A [EB 负载均衡器]

www.company.com A [S3 存储桶]

S3 设置 将所有请求重定向到另一个主机名:company.com

我知道我只是不理解某些东西,但我无法让所有 S3 链接都通过 company.com 而不是 company.com.s3-website-us-west-2.amazonaws.com

【问题讨论】:

  • 答案将取决于这个问题:您在 S3 中存储了什么以及它与“company.com”网站的关系或使用方式...大概由弹性豆茎应用程序?到目前为止,根据现有问题,无法猜测您要完成的工作。 “让所有 S3 链接都通过 company.com”是什么意思?
  • 都是同一个 AWS 账户,我将文件存储在 S3 中(所有网页都存储在 EC2 服务器上),所以只是来自 Django 的媒体文件(图像和视频)在一个名为公司.com。所有这些都由 beanstalk 创建的 EC2 实例访问。
  • 我必须使用 CloudFront 来完成此任务吗?最终,所有这些都将通过 HTTPS/SSL 实现。
  • 您应该考虑使用云端,它还有助于加快您的内容分发速度,从而使您的网站更具响应性

标签: amazon-web-services amazon-s3 amazon-elastic-beanstalk amazon-route53


【解决方案1】:

如果您的目标是从 S3 存储桶中服务器资产(图像、JS、css 等),但使用自定义 DNS 主机名,您可以执行以下操作:

  • 创建与您的预期主机名匹配的 S3 存储桶:assets.mycompany.com
  • 在 Route 53 中为 assets.mycompany.com 设置 DNS CNAME 记录 => assets.mycompany.com.s3.amazonaws.com

这将允许您加载像http;//assets.mycompany.com/foo.jpg 这样的文件

可以在此处找到以这种方式使用 S3 的完整文档:http://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html

如果您需要从 Apex 又名“裸”域 (mycompany.com) 提供 S3/CloudFront 内容,您可以在指向您的 S3 存储桶或 CloudFront 主机的 Route 53 中配置 ALIAS 记录。

http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/CreatingAliasRRSets.html

【讨论】:

  • 那么没有子域就没有办法了吗?
  • 不幸的是,DNS 不允许像“mycompany.com”这样的顶级或“裸”域提供 CNAME。它必须是A记录。这可以防止使用 CNAME 为裸域上的 S3 内容设置别名。
  • CloudFront 能否弥补原生 DNS 支持的差距?
  • 谢谢你,回答了我的问题。
猜你喜欢
  • 1970-01-01
  • 2017-12-25
  • 2018-07-05
  • 2020-10-24
  • 2021-12-14
  • 2021-11-29
  • 2019-10-25
  • 2021-01-01
  • 1970-01-01
相关资源
最近更新 更多