使用AWS存储原始临时上载的图像(在过滤后删除)

时间:2016-08-06 15:07:59

标签: php amazon-web-services amazon-s3 amazon-ec2 php-imagine

我使用PHP构建了一个图像上传功能。实现的场景只处理服务器机器的本地文件系统,现在我需要重新实现该功能以适应AWS。问题是AWS提供了3种类型的文件存储(EFS,EBS和S3),我不知道如何处理使用场景的第1步和第3步:

  1. 原始图像上传并存储在系统中(重命名和消毒后)。

  2. 我从该图片创建3个副本(小,中,大)    使用Imagine库过滤器。这三个副本旨在使用PHP AWS SDK复制到S3。它们还针对更好的性能进行了优化。

  3. 删除原始图像(因为它    很大,没有使用,它的删除在心理上是好的。)

  4. 换句话说,哪里存储原始临时图像更好?最好是将EBS或EFS用于此图像,还是将S3存储在最终图像旁边,然后将其删除。

    "最近的"存储系统到EC2的延迟和执行速度?他们都需要一个EC2实例,但肯定其中一个更适合temporary的这种情况。

    您的经历对我们来说总是非常宝贵的。非常感谢你

1 个答案:

答案 0 :(得分:1)

我建议您将图像保留在EBS卷上,以便在处理后删除该图像。您的EBS卷是该图像处理的最快方式,因为它直接连接到EC2实例,然后将这3个图像移动到S3。连接到EC2的EFS卷也适用于您的情况,但EFS也很昂贵,不适合临时存储。

如果您将该大图像移动到S3然后进行处理,那么S3数据传输成本将会增加,也将涉及延迟,因为该图像需要时间上传到S3。

因此临时图像存储的最佳选择是EBS或EC2实例上的某个级别EFS。