Есть ли способ предоставить лямбда-пользователю доступ внутри контейнера?

Предыстория: наша команда пытается запустить тестирование производительности пользовательского интерфейса на лямбда-выражении. Прямо сейчас мы запускаем тесты производительности, загружая наш код в виде zip-файла на лямбда. Проблема здесь в том, что мы достигли предельного размера файла лямбда-архива в 50 МБ, поскольку наше приложение постоянно растет. Затем мы столкнулись с контейнерами Lambda, размер изображения которых ограничен 10 ГБ.

Проблема: мы создаем наш образ докера с необходимыми зависимостями, и мы можем запускать наш тестовый пример локально, а также на агенте Jenkins. Но когда мы пытались запустить тот же образ докера на лямбде, он выдает ошибку: «У пользователя лямбда нет прав на запись для данного каталога». Google Chrome создает файлы при запуске сценария автоматизации. Lambda имеет доступ для чтения и записи только внутри временной папки. Размер временной папки - 512 МБ. Есть ли способ предоставить лямбда-доступ внутри контейнера для запуска тестовых примеров?

1 ответ

Как обоснованное предположение, ответ - нет. Если Lambda разрешает чтение / запись контейнеров, то образ может злонамеренно или случайно занять все дисковое пространство на узле, на котором он работает, и повлиять на выполнение других контейнеров.

Если вам нужно больше места, то один из вариантов - смонтировать файловую систему EFS в Lambda. Однако я не знаю, работает ли он с контейнером или просто с развертыванием ZIP.

Однако, учитывая, что вы уже поместили свое приложение в контейнер, я думаю, что лучшим решением будет использование ECS, а не Lambda. Это даст вам 20 ГБ эфемерного хранилища , и вы можете смонтировать том EFS, если вам нужно больше. Дополнительным преимуществом ECS является то, что время выполнения не ограничено 15 минутами.

Другие вопросы по тегам