lambda + efs - 安装与接入点

lambda + efs - mounting vs access point

我正在尝试同时使用 aws lambda 和 efs,这样我就可以执行超过 500mb 的默认 lambda 存储限制的操作。我很困惑 Local mount pathAccess point.

之间的区别

本地安装路径是一个术语,用于描述文件系统在现有文件系统中的安装位置,以及访问点(也有自己的路径)应用程序将在代码中引用的位置?或者引用哪条路径实际上并不重要?

例如

AccessPointResource:
    Type: 'AWS::EFS::AccessPoint'
    Properties:
      FileSystemId: !Ref FileSystemResource
      PosixUser:
        Uid: "1000"
        Gid: "1000"
      RootDirectory:
        CreationInfo:
          OwnerGid: "1000"
          OwnerUid: "1000"
          Permissions: "0777"
        Path: "/myefs"

我是这样创建访问点的,我直接在lambda上指定了挂载路径进行测试。

我想我遇到的主要困惑是为什么有 2 条路径,它们之间有什么区别,我应该在我的 lambda 中使用哪一条?

您的 EFS 上可以有 许多目录

/myefs
/myefs2
/myefs3
/myefs4
/important
/images

您的 AccessPointResource 将只能访问 /myefs。对于使用访问点的任何人来说,此文件夹基本上都是 root。不会通过此访问点公开其他文件夹。

/mnt/efs是lambda容器中的挂载文件夹。因此,您的函数将能够访问 /myefs/mnt/efs.

的名称安装在其本地目录树中

安装路径必须与接入点根目录相同 - 在您的情况下,您应该将 local mount path 从“/mnt/efs”更改为“/mnt/myefs”(或者如果您希望挂载路径为“/mnt/efs”你应该将访问点根目录更改为“efs”)

您还可以看到this answer