授予对 s3 存储桶的公共访问权限,而不是为 aws 无服务器应用程序提供静态网站
Posted
技术标签:
【中文标题】授予对 s3 存储桶的公共访问权限,而不是为 aws 无服务器应用程序提供静态网站【英文标题】:give public access to s3 bucket rather than serving static website for aws serverless application 【发布时间】:2019-06-25 16:52:53 【问题描述】:我是 aws serverless 的新手,正在尝试在 aws serverless 中托管 django 应用程序。
现在 aws serverless 使用 s3 存储桶进行静态网站托管,成本约为 0.50 美元(我处于免费套餐中)。
我的问题是我可以不提供对 s3 存储桶的公共访问权限,而不是托管静态网站吗?因为它会为我省钱。是否可以将公共存储桶用于 aws 无服务器?
【问题讨论】:
类似的例子:blog.lawrencemcdaniel.com/… 您需要澄清您的要求。与在没有激活静态网站托管功能的情况下简单地公开存储桶的成本相比,S3 的静态网站托管功能不收取任何额外费用。 s3 存储桶上的静态网站托管是 0.50 美元,我只是想公开存储桶并将其用于无服务器 django。 【参考方案1】:是的,在 S3 上托管静态内容是提供内容的最具成本效益的方式。我建议将您的存储桶保持私有并启用 Cloudfront 作为 S3 前面的分发 (CDN) 点。这允许将缓存保留在边缘,靠近您的客户并略微降低传出带宽成本(Cloudfront 传出带宽成本低于 S3:0.085 美元/Gb 与 0.090 美元/GB)
本文将为您详细说明如何操作https://aws.amazon.com/blogs/networking-and-content-delivery/amazon-s3-amazon-cloudfront-a-match-made-in-the-cloud/
我也在我的博客上解释了高级步骤:https://www.stormacq.com/2018/10/17/migrated-to-serverless.html
【讨论】:
这没关系,但我可以授予对存储桶的公共访问权限并将其用于 django 无服务器吗? 我不知道 Django Serverless。如果它正在生成一堆静态内容(html、css、图像和 JS),是的,它可以托管在公共 S3 存储桶上。 Cloudfront 是可选的,但推荐使用,因为它可以改善客户体验并降低您的成本。它还可以让您的 S3 存储桶保持私有。以上是关于授予对 s3 存储桶的公共访问权限,而不是为 aws 无服务器应用程序提供静态网站的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法在 AWS S3 上托管一个静态网站而不提供公共访问权限?