快速将文件从S3移至AWS EFS

问题描述

我正在构建一个用户可以上传图像的应用程序,为此,我正在使用S3作为文件存储。

在应用程序的其他区域,EC2上部署了一些过程,需要使用上载的图像。 此过程需要多次图像(并生成一些报告),并且是多个EC2的一部分-使用弹性beantalk。

该过程不需要一次所有的图像,但是它获得的每个工作都需要它的一些子集(取决于它获得的参数)。

每个ec2实例都在执行独立的工作-它们之间没有共享文件,但是可能需要相同的上传图像。

我现在要做的是将所有图像从s3下载到EC2计算机,因为它需要本地文件。 我已经读到可以将EFS挂载到EC2,然后可以像访问本地存储一样对其进行访问。

我没有找到任何使用nodejs(或其他lang)直接上传到EFS的示例,但是我找到了一种将文件从S3传输到EFS的方法-“ DataSync”。 https://docs.aws.amazon.com/efs/latest/ug/transfer-data-to-efs.html

所以我对此有3个问题:

  1. 确实不能从应用程序直接上传到EFS吗? (nodesjs + express)
  2. 将文件移到EFS之后,是否可以像在ec2的本地存储中一样使用它?
  3. 将文件始终从s3移到efs是个好主意,还是我描述的问题有其他解决方案?

解决方法

对于这种具体情况,我们使用 https://github.com/kahing/goofys

它非常可靠,此外,它还能够将 S3 存储桶作为文件夹安装在任何设备上 - Windows、Mac 以及 Linux。

也可以在 AWS 云“边界”之外工作 - 非常适合开发人员的笔记本电脑。

缺点是它 /not/ 在 Lambda 上下文中工作,但你不能拥有一切!

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...