Эффективный короткий срок FTP-сервер на AWS

1175
David Milanese

У меня есть веб-сайт для моего бизнеса, который интегрируется с другими услугами в моей отрасли. Большинство этих сервисов отправляют файлы своим партнерам строго по FTP. Когда я получаю файл через FTP, я генерирую запрос API на сервер с веб-сайтом (в данном случае на той же машине), затем удаляю файл на FTP-сервере.

Есть ли эффективный способ использования AWS, чтобы я мог получать файлы по FTP, а затем генерировать запрос?

Я заинтересован в использовании какого-либо безсерверного решения, такого как AWS Lambda, но я не уверен, будет ли оно работать или как это сделать.

Примечание. FTP-сервер будет иметь несколько пользователей, которые будут генерировать несколько разные запросы к серверу моего веб-сайта.

2
Вы не можете запустить FTP ** сервер ** на ** безсерверной ** службе, такой как AWS Lambda. Как вы определяете "короткую жизнь"? Это 5 минут? 5 часов? mbaird 7 лет назад 0
Вы не ответили на мой вопрос, хотя. Как долго это будет, 5 минут или 5 часов или как? mbaird 7 лет назад 0
Вы не сможете использовать лямбду для такого рода настройки. Лямбда-функции выполняются в изолированных контейнерах на серверах под управлением AWS. У вас нет контроля над открытием портов для внешних подключений, которые будут сделаны в контейнере, и это будет просто первым из преодоленных препятствий. Fishizzle 7 лет назад 0
Хорошо. Если оставить в стороне сервис Lambda, мой единственный вариант - использовать экземпляр EC2? David Milanese 7 лет назад 0
менее 5 минут David Milanese 7 лет назад 0
К короткому сроку жизни я просто хочу, чтобы сервер / служба существовали на время получения загрузки и генерации запроса. У него нет другой функции. David Milanese 7 лет назад 0
@DavidMilanese Вы когда-нибудь разбирались с этим? Я могу представить, что вы можете сделать это для активных загрузок, но не для пассивных загрузок. Это также предполагает, что клиенты FTP не требуют, чтобы вы открывали соединения с порта 20. Jayen 6 лет назад 0
@Jayden, я закончил развертывание докерской службы на основе образа _pure-ftpd_. Затем мои бессерверные функции прослушивают изменения в определенных каталогах в контейнере для файла при поступлении нового файла. К сожалению, это требование, чтобы я работал ftp в пассивном режиме. David Milanese 6 лет назад 0

1 ответ на вопрос

0
John Rotenstein

Безсерверность не применима к вашей ситуации, потому что вы специально хотите запустить протокол FTP.

Без требования использовать FTP было бы много недорогих вариантов, таких как загрузка непосредственно в Amazon S3 или вызов AWS Lambda через шлюз API.

Поскольку вы хотите запустить FTP, вам понадобится сервер. Вероятно, вы могли бы сделать это из t2.nanoэкземпляра Amazon EC2, который является чрезвычайно дешевым. Просто создайте небольшой скрипт, который следит за каталогом загрузки, выполняет действие при обнаружении файла.

Похожие вопросы