如何以低成本从EC2上传到S3服务器



我每个月有5072792622个文件要上传到s3服务器上,这花费了我很多钱,因为我们使用PUT请求将它们上传到s3 server,还有其他方法可以用来上传文件到s3吗。这些文件不能作为zip上传,s3不支持在s3上解压缩。

亚马逊S3定价有几个组成部分:

  • 存储(每月每GB)
  • 请求(GET和PUT)
  • 数据传输到Internet

您的问题是指PUT请求的成本,在美国地区按$0.005 per 1,000 requests收费。

如果您希望将所有这些文件作为单独的对象存储在AmazonS3中,那么您需要为每个对象单独支付PUT费用。

如果您每月有50亿个文件(真的吗?),那么PUT请求每月将为25000美元。(如果它只有5亿个文件,那么它将是每月2500美元。)

没有办法避免这笔费用,但如果您每月的支出很大,您可以与AWS建立自定义定价协议。我不知道什么水平是"重要的",但我可以想象亚马逊S3每月至少收费10万美元。

更重要的是,如果您存储了那么多对象,大概在某个阶段您希望检索这些对象。这将产生额外的费用-GET请求在$0.004 per 10,000 requests收费。我强烈建议将多个文件合并为较小数量的较大文件。这将降低您的AmazonS3成本,并提高数据吞吐量。

虽然S3本身不支持Zip解压缩,但无论您使用什么应用程序来使用这些数据,都可以从S3下载Zip文件,对其进行解压缩,然后访问各个文件。Zip文件还可以压缩数据,因此可以降低存储成本。