将 ZIP 文件上传到 S3,使用 EC2 解压缩

2022-08-30 17:39:22

我有一个Codeigniter Web应用程序,它每小时都会将许多小文件上传到Amazon S3,这导致我的S3请求费用飙升得非常快。解决此问题的一种方法是压缩文件,将zip文件上传到S3,然后在S3上解压缩它。

这可以使用 EC2 完成吗?还是有更好的方法来实现这一目标?谢谢!!

编辑:如果我使用EC2,我是否使用PHP触发EC2实例的创建,上传解压缩文件所需的PHP文件,将未压缩的文件复制到S3,然后销毁EC2实例?


答案 1

如果你在同一区域有一台EC2机器,我建议你把它上传到那里压缩,然后它从那里解压缩到s3。S3 无法自行解压缩它,因为它是静态的。

ec2 和 s3 之间不收取任何费用,因此 ec2 可以处理解压缩,然后将其写出到 s3 存储桶中,而无需支付额外的传输费用。


答案 2

您可以在 lambda 中编写代码来解压缩 S3 存储桶的文件,您只需要使用它,AWS Lambda 就会为您执行此操作。

裁判:

  1. https://github.com/carloscarcamo/aws-lambda-unzip-py/blob/master/unzip.py
  2. https://github.com/mehmetboraezer/aws-lambda-unzip

推荐