【问题标题】:How to reduce Amazon Cloudfront costs?如何降低 Amazon Cloudfront 成本?
【发布时间】:2021-09-23 22:21:04
【问题描述】:

我有一个网站在过去几天的流量激增。我正在使用带有 W3 Total Cache 插件的 Wordpress 和 Amazon Cloudfront 来提供来自站点的图像和文件。

问题在于 Cloudfront 的成本非常高,仅在过去一周就接近 500 美元。有没有办法降低成本?也许使用其他 CDN 服务?

我是 CDN 新手,所以我可能没有很好地实现这一点。我创建了一个云端发行版并在 W3 Total Cache Plugin 上对其进行了配置。但是,我没有使用 S3,也不知道我是否应该或如何使用。老实说,我不太清楚 Cloudfront 和 S3 之间有什么区别。

谁能在这里给我一些提示?

【问题讨论】:

  • 首先...恭喜你。您正在做我们所有人都想对我们的网站做的事情。希望有人能给你一个建设性的答案。
  • 有一些方法可以降低 CloudFront 的成本,您能否详细说明您正在查看的数字类型?您是否分析您的 CloudFront 日志以找出流量的地理分布和有效性?这可能会为您提供有用的见解,帮助您优化基础架构成本。

标签: amazon-web-services amazon-s3 wordpress


【解决方案1】:

我不太确定 Cloudfront 和 S3 之间有什么区别。

这很容易。 S3 是一个数据存储。它存储文件,并且具有超强的可扩展性(可以轻松扩展到同时为 1000 人提供服务。)问题在于它是集中式的(即从世界上的一个地方提供服务。)

CloudFront 是一个 CDN。它将您的文件缓存在世界各地,以便更快地提供服务。如果你眯着眼睛,看起来他们正在“存储”你的文件,但缓存可能随时丢失(或者如果他们启动一个新节点),所以你仍然需要原始文件。

如果每个文件的点击次数太少,CF 实际上可能会伤害到您。例如,在东京,CF 可能有 20 个节点。在所有 20 个 CF 节点缓存您的文件之前,可能需要 100 次对文件的请求(请求是随机分布的)。在这 100 个请求中,其中 20 个将命中一个空缓存,并在获取文件时看到额外的 200 毫秒延迟。他们通常会长时间缓存您的文件。

我没有使用 S3,不知道是否应该使用

可能不会。如果您希望您的网站在媒体中大规模增长,请考虑使用 S3。 (即大量使用照片上传。)

有没有办法降低成本?也许使用其他 CDN 服务?

这完全取决于您的网站。一些想法:

1) 确保您使用的是appropriate headers。并确保您的到期时间不会太短(理想情况下应该是几天、几周或几个月)。

“最佳做法”是永远不要使页面过期,除非您的索引页面应该每 X 分钟或几小时或几天过期(取决于您希望它更新的速度。)确保每个页面/图像都说明它的时长可以缓存。

2) 如上所述,CF 仅在每个页面被请求 > 100 次/缓存时间时才有用。如果您有数百万个页面,每个页面都请求了几次,那么 CF 可能就没用了。

3) 来自亚洲的请求比来自美国的请求贵得多。如果您在那里更受欢迎,请考虑在东京启动您的服务器。

4) 查看您的网络服务器日志,了解 CF 请求您的每个资产的频率。如果它比您预期的更频繁,那么您的缓存标头设置错误。如果您设置“缓存几个月”,您应该每天只看到少数请求(因为它们启动新服务器等),而当您发布新文件时会看到几百个请求(即每个 CF 边缘节点一个请求) .

根据您的设置,其他 CDN 可能更便宜。并且根据您的服务器,其他设置可能更便宜。 (即,如果您提供大量小文件,最好在 EC2 上进行自己的缓存。)

【讨论】:

    【解决方案2】:

    你可以试试 cloudflare。它不是一个完整的 CDN,因此它可能没有云端的所有功能,但基本包是免费的,它会从您的服务器上卸载大量流量。

    https://www.cloudflare.com

    【讨论】:

      【解决方案3】:

      Amazon Cloudfront 成本基于 2 个因素

      1. 请求数
      2. 以 GB 为单位传输的数据

      解决方案

      1. 减少图像请求。为此,将小图像组合成一个图像并使用该图像 https://www.w3schools.com/css/tryit.asp?filename=trycss_sprites_img(图片精灵)
      2. 不要对视频文件使用 CDN,因为视频大小很大,这是导致 CDN 海岸过高的原因

      【讨论】:

      • 你会用什么来制作大型视频?解决办法是什么?
      • @GabryelFerreira 查看同伴辅助视频流peervadoo.com。在我的实验中,我看到了高达 90% 的节省。
      【解决方案4】:

      您的账单由哪些组成部分组成?使用 W3 Total Cache 插件检查的一件事是它发送到 CloudFront 的失效请求的数量。众所周知,每次更改都会发送大量失效路径,这些路径可能会累加。

      除此之外,如果您的支出是可预测的,则一种选择是使用 CloudFront 安全储蓄捆绑包,通过承诺一年的最低金额来节省高达 30%。它是自助服务,因此您可以在控制台中注册并随着使用量的增长购买额外的承诺。

      https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/savings-bundle.html

      【讨论】:

        【解决方案5】:

        不要忘记,Cloudfront 有 3 种不同的价格等级,这将影响您的数据复制的距离,但与此同时,它会降低成本。

        https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PriceClass.html

        这里的关键是: “如果您选择的价格等级不包括所有边缘站点,CloudFront 可能仍偶尔会为来自您的价格等级中未包含的区域中的边缘站点的请求提供服务。发生这种情况时,您无需为更昂贵的地区。相反,您需要按价格等级中最便宜的地区的费率收费。"

        这意味着您可以使用价格等级 100(最便宜的价格等级),并且仍然可以在您不付费的区域上进行复制

        【讨论】:

          猜你喜欢
          • 2022-01-16
          • 2022-01-14
          • 2012-12-02
          • 2022-01-15
          • 1970-01-01
          • 2020-10-01
          • 2020-08-20
          • 2019-08-15
          • 2015-12-07
          相关资源
          最近更新 更多