Amazon web services 使用aws cli,我可以从CloudFront URL而不是直接从S3检索文件吗?

Amazon web services 使用aws cli,我可以从CloudFront URL而不是直接从S3检索文件吗?,amazon-web-services,amazon-s3,amazon-cloudfront,aws-cli,Amazon Web Services,Amazon S3,Amazon Cloudfront,Aws Cli,我使用CloudFront支持的S3在客户端站点上存储大量(有时是Gig)的图像和视频,开发人员调试问题时,有时只需要一整套图像 我们使用awscli来同步文件,效果很好 但是,如果不是从S3中提取,而是从CloudFront url中提取,那么下载速度会更快,并且使用的出站S3数据也会更少 有没有一个简单的方法可以做到这一点?也许: 我不知道的命令或旗帜 动态重写S3URL 输出要下载的文件列表,以便编写脚本curling 使用cf命令执行某项操作 首先,从cloudfront下载数据的成本

我使用CloudFront支持的S3在客户端站点上存储大量(有时是Gig)的图像和视频,开发人员调试问题时,有时只需要一整套图像

我们使用awscli来同步文件,效果很好

但是,如果不是从S3中提取,而是从CloudFront url中提取,那么下载速度会更快,并且使用的出站S3数据也会更少

有没有一个简单的方法可以做到这一点?也许:

  • 我不知道的命令或旗帜
  • 动态重写S3URL
  • 输出要下载的文件列表,以便编写脚本
    curl
    ing
  • 使用
    cf
    命令执行某项操作

首先,从cloudfront下载数据的成本会更高,因为在http/https上下载数据的成本会更高,而从S3下载数据的成本是本地的(如果您创建端点)

另外,如果你想通过cloudfront下载大量图片;不要认为它会更快;因为对于每个请求,它都将转到cloudfront,而该图像将不会在那里找到,并将转到原点S3


因此,您最终将支付更多的费用和糟糕的延迟。

亚马逊S3出站数据定价(到互联网)在前1 GB是免费的,然后在前10 TB是0.09美元。亚马逊CloudFront的首个10GB(美国)的定价为0.085美元,最高为0.25美元(南美洲)

即使使用CloudFront缓存,每GB也只能节省0.005美元。假设您每月传输100GB。通过从CloudFront而不是S3下载,您将节省0.41美元(41美分)。CloudFront的一个好处通常是下载速度更快


您可以编写一个程序,比如Python,列出S3 bucket/目录中的对象,然后使用CloudFront生成等效路径。或者是一个简单的单词搜索和替换脚本。

下载到了开发者的本地机器上,分布在美国各地。他们不打算访问EC2实例。这就是你所说的本地吗?@PrernaSinghal,这对于EC2以外的下载是不准确的。通过CloudFront下载带宽的成本通常略低,即使在缓存未命中的情况下也是如此,因为从S3到CloudFront没有传输费用。它通常也更快,因为它再次优化了传输路径,即使在缓存未命中的情况下也是如此。@michaelsqlbot,如果我们下载到AWS框架之外;是的,我同意它优化了路径,但我不同意它仍然比直接从S3存储桶下载缓存未命中更快。@PrernaSinghal这就是S3传输加速——S3通过CloudFront禁用缓存。如果bucket离你很近,它不会有什么不同,但是bucket越远,它就越有助于通过在AWS控制的优化网络上保持尽可能多的流量来提高性能。S3下载价格在不同地区不为0.09美元/GB。直接下载S3的圣保罗存储桶价格为0.25美元/GB,与CloudFront价格相同。@Michael sqlbot。你说得对。然而,我试图确定的一点是,储蓄相对较少。想象一下,为软件开发付费,每年可以节省6.00美元,而开发和维护每工时的成本是X美元。有点像租用叉车或起重机运送小包裹。同意,节约成本通常不是一个合适的动机(尽管定价计划中存在一些允许套利机会的怪癖),我认为您的评论意味着CloudFront代表了更高的成本。性能是一个合理的动机,S3传输加速也是一个合理的动机,尽管该选项比S3 direct或通过CloudFront的S3要昂贵得多。我考虑的是开发人员的生产力——如果我每周可以节省45分钟的开发时间下载大量的资产(CDN vs S3),这是值得的——如果这是一件简单的事情(小<代码> AWK<代码> >代码> Curl < /Calp>魔术,或者代码< AWS CLI < /代码>中的一个技巧。如果我正在维护一个单独的应用程序,是的,储蓄会被快速吞噬:)你可以考虑一些类似AWS存储网关的东西。