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

How do I upload to S3 server from EC2 with low cost?

我每个月有 5072,792,622 个文件要上传到 s3 服务器,这让我花了很多钱,因为我们使用 PUT 请求将它们上传到 s3 服务器,有没有其他方法可以用来上传文件到s3。这些文件不能以 zip 格式上传,s3 不支持在 s3 上解压缩。

Amazon S3 pricing 有几个组成部分:

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

您的问题涉及 PUT 请求 的费用,在美国地区按 [=10=].005 per 1,000 requests.

收费

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

如果您每个月有 50 亿个文件(真的吗?),那么 PUT 请求中每个月的费用为 25,000 美元。 (如果只有 5 亿个文件,则每月 2,500 美元。)

无法避免此费用,但如果您每月的支出很大,您可以与 AWS 建立自定义定价协议。我不知道 "significant" 是什么水平,但我认为 Amazon S3 费用每月至少 100,000 美元。

更重要的是,如果您要存储那么多对象,大概在某个阶段您想要检索这些对象。这将产生额外费用 - GET 请求按 [=11=].004 per 10,000 requests 收费。我强烈建议 将多个文件组合成较少数量的较大文件 。这将降低您的 Amazon S3 成本并提高数据吞吐量。

虽然 S3 本身不支持 Zip 解压缩,但您使用该数据的任何应用程序都可以从 S3 下载 Zip 文件,解压缩它们,然后访问各个文件。 Zip 文件还可以压缩数据,因此您的存储成本会降低。