lambda + efs - монтаж против точки доступа

Я пытаюсь использовать aws lambda и efs вместе, чтобы я мог выполнять операции, которые превышают лимит хранения лямбда по умолчанию, равный 500 МБ. Я не понимаю, в чем разница между локальным путем монтирования и точкой доступа.

Используется ли локальный путь монтирования для описания места монтирования файловой системы в существующей файловой системе, а точка доступа (у которой также есть собственный путь) - местоположения, на которое приложение будет ссылаться в коде? Или на самом деле не имеет значения, на какой путь идет ссылка?

Например

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

вот как я создаю точку доступа и путь монтирования, который я указал непосредственно на лямбде для тестирования.

введите описание изображения здесь

Я предполагаю, что основная путаница, которую я испытываю, заключается в том, почему существует 2 пути, в чем разница между ними и какой из них я должен использовать в своей лямбде?


person Ryan-Neal Mes    schedule 02.09.2020    source источник


Ответы (2)


В вашей EFS может быть много каталогов:

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

Ваш AccessPointResource разрешит доступ только к /myefs. Эта папка будет в основном корнем для всех, кто использует точку доступа. Никакая другая папка не будет открыта через эту точку доступа.

/mnt/efs - это папка монтирования в лямбда-контейнере. Таким образом, ваша функция сможет получить доступ к /myefs, смонтированному в своем локальном дереве каталогов, под именем /mnt/efs.

person Marcin    schedule 02.09.2020
comment
Значит ли это, что если я хочу сохранить файл, мне нужно сохранить его в /mnt/efs/myefs? Или я смогу просто сохранить в /myefs? - person Ryan-Neal Mes; 03.09.2020
comment
@ Ryan-NealMes Это должно быть /mnt/efs, насколько я помню. Таким образом, файлы, созданные в папке /mnt/efs, должны быть фактически помещены в /myefs файловой системы EFS. - person Marcin; 03.09.2020
comment
Я сейчас слежу - AccessPoint относится к efs, а папка монтирования относится к лямбда. Вместе они связывают два. При сохранении файлов из лямбда-выражения их необходимо сохранить в смонтированную папку, и это распространяется на efs через AccessPoint. Путь к AccessPoint недоступен в лямбда-выражении в качестве каталога для сохранения. Это может быть очевидно, но не для меня: / - person Ryan-Neal Mes; 03.09.2020

Путь монтирования должен совпадать с корневым каталогом точки доступа - в вашем случае вы должны изменить local mount path с / mnt / efs на / mnt / myefs (или если вы хотите, чтобы путь монтирования был / mnt / efs, вы должны изменить точку доступа корневой каталог в efs)

Вы также можете увидеть этот ответ

person Marek    schedule 28.05.2021