amazon-web-services - 通过 HTTPS 提供静态 S3 网站时降低 Cloud

我维护着一个“爱好”网站来试验 AWS 技术。因为这是一个纯粹的爱好,所以我尽量保持它的成本尽可能低,并且只使用那些绝对必要的服务。

几个月来,该网站开始产生一些流量,每天约有 30-50 次点击,有时甚至达到每天 1000 次点击。

我使用 CloudFront (CF) 的主要目的是拥有 HTTPS 并能够将我的域与我的 S3 网站存储桶连接起来,但由于点击量的增加,成本一直在上升。

显然,在这个阶段,成本是可控的(每月几美元),但正如我所说,我的目标是将成本保持在绝对最低水平,而 CF 开始成为我成本的最大份额。

查看 Bill Details 中的 CF 成本,向我展示 HTTPS 请求和尤其是带宽占成本的最大份额。

我正在寻找一种方法,使我能够继续将 CF 用于 HTTPS,并能够从 S3 存储桶安全地指向我的域,同时降低请求和带宽产生的成本。

该网站是静态的,完全托管在 S3 上。它包含:

  • index.html - 每小时自动更新
  • 10 个类别页面(每个大小为 250 KB)- 每小时自动更新,它们包含指向详细信息页面的链接

我的CF配置如下:

  • 没有原始自定义 header
  • 行为:
    • 路径模式:默认 (*)
    • 查看器协议(protocol)策略:将 HTTP 重定向到 HTTPS
    • 基于选定请求 header 的缓存:白名单
    • 白名单 header :Referer
    • 对象缓存:自定义
    • 分钟。 TTL:0
    • 最多TTL:31536000
    • 默认 TTL:0
    • 转发 Cookie:无
    • 查询字符串转发和缓存:无
    • 没有地域限制

分析 CF 成本的大部分是带宽,这告诉我可能是页面和图像文件导致了这种情况。 IE。当人们加载我的页面并提供图像文件时,每页总计 100 kb + 50 kb。

根据我对 CF 的研究,我怀疑 Path PatternTTL 参数是此处需要优化的,以实现成本降低。如果有人能给我指出正确的方向,那就太好了。

最佳答案

带宽成本与从您的网站检索的数据量成正比。

  • 亚马逊 S3:9c/GB
  • Amazon CloudFront:8.5c/GB 到 17c/GB 取决于位置

降低成本的一些想法:

  • 将 CloudFront 分配更改为使用 Price Class 100,它只为来自低成本位置的流量提供服务。其他位置的用户访问速度会较慢,但您会省钱!
  • 增加您的默认 TTL,使内容缓存时间更长,从而减少重复请求。
  • 激活并检查 CloudFront 访问日志 以分析传入流量。可能是很多请求来自蜘蛛和机器人。您可以通过创建 robots.txt 文件来限制此类访问。
  • 通过降低质量来减小图像的文件大小。质量上的权衡可能值得节省成本。
  • 制作一个不太受欢迎的网站。这将降低您的成本! :)

关于amazon-web-services - 通过 HTTPS 提供静态 S3 网站时降低 CloudFront 成本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61627699/

相关文章:

ruby-on-rails - 如何在 Ruby on Rails 6 中将 rich_text_a

python - 使用 zip() 对元组列表进行排序时,有时不支持“<”

node.js - Yarn workspaces——包别名

c# - 如何使用 Sustainsys.Saml2 设置 NLog

svelte - 如何替换 Svelte 中目标的内容而不是附加到子项?

reactjs - 是否有任何函数可以在 react-final-form 中获取表单值

node.js - 使用 nodeJs 从 AWS SQS 队列中获取待处理的消息数

python - 如何聚焦光线或如何在 pygame 中只绘制窗口的某些圆形部分?

python - 删除子列表重复项,包括反向

delphi - 如何在 Delphi 10.3 Rio 上安装 Indy?