Image processing 使用EC2按需调整存储在S3上的图像大小

Image processing 使用EC2按需调整存储在S3上的图像大小,image-processing,amazon-web-services,amazon-s3,amazon-ec2,Image Processing,Amazon Web Services,Amazon S3,Amazon Ec2,我们需要在我们的应用程序中以多种可能的尺寸提供相同的图像。该库包含10个成千上万的图像,这些图像将存储在S3上,因此以所有可能的大小存储相同的图像似乎并不理想。我在谷歌上看到过一些关于EC2可以用来动态调整S3图像大小的文章,但我正在努力寻找更多信息。有没有人能告诉我更多的信息,或者最好是一些代码示例 提示 一开始我们并不清楚,但决不要直接从S3向应用程序或网站提供图像,强烈建议使用CloudFront。原因有三: 成本-CloudFront更便宜 性能-CloudFront更快 可靠性-S3有

我们需要在我们的应用程序中以多种可能的尺寸提供相同的图像。该库包含10个成千上万的图像,这些图像将存储在S3上,因此以所有可能的大小存储相同的图像似乎并不理想。我在谷歌上看到过一些关于EC2可以用来动态调整S3图像大小的文章,但我正在努力寻找更多信息。有没有人能告诉我更多的信息,或者最好是一些代码示例

提示

一开始我们并不清楚,但决不要直接从S3向应用程序或网站提供图像,强烈建议使用CloudFront。原因有三:

  • 成本-CloudFront更便宜
  • 性能-CloudFront更快
  • 可靠性-S3有时在频繁查询(即每秒超过10-20次)时不提供资源。这花费了我们很多时间进行调试,因为资源将随机不可用

  • 以上这些不一定是S3的缺陷,因为S3是一种存储,而不是一种内容交付服务

    您需要的是图像服务器。是的,它可以托管在EC2上。这些链接应该有助于开始:

    假设您没有讨论数百种不同的可能尺寸,为什么不存储所有图像尺寸?存储成本最低。然后,您还可以通过Cloudfront(或直接从S3)向上提供图像,这样您就不必使用应用程序服务器动态调整图像大小。如果您提供了大量这些图像,则不必在web服务器中动态调整图像大小和处理图像请求而节省的处理成本(即CPU周期、内存需求等)可能会轻松抵消存储成本。

    使用EC2可以让我更快地访问存储在s3中的图像?因为如果我使用自定义服务器,我需要下载图像,然后对其进行处理。您的图像服务器可以在EC2上运行。使用EC2处理S3图像的一个优点是,Amazon不收取S3和EC2之间的数据传输费用,这取决于您的容量,可以为您节省一些钱。请问您最终的解决方案是什么实现?@alapeno一天结束时,我们在服务器上创建了缩略图,然后将它们上传到S3。这比设置另一个EC2实例更简单。然而,您可能希望考虑使用类似AmazonLambda的东西,这比管理开销少EC2@HermanJ.RadtkeIII事实上,问题是关于“按需”图像大小调整,但在查看此处提到的用例时,它似乎不是最佳方法,因此我提供了一种替代方法,很明显,OP认为这是一个很好的解决方案。