Хорошо, немного предыстории о том, что мы делаем.
У нас есть различные метеостанции и станции мониторинга почвы по всей стране, которые собирают данные и затем, используя FTP, загружают на сервер для обработки.
Примечание. Этот сервер не находится в GCP, но в настоящее время мы переносим все наши службы.
Досадно, что FTP - единственная служба, которую разрешают эти конкретные станции. Новые станции, к счастью, вместо этого используют REST API, так что это значительно упрощает процесс.
Я написал небольшое приложение nodejs, которое работает с ftp-srv . Это действует как FTP-сервер.
Я также написал новый класс FileSystem, который будет подключаться непосредственно к Google Cloud Storage. Поэтому вместо получения локального каталога он читает каталог GCS.
Это позволяет метеостанциям загружать свои файлы дампа непосредственно в GCP для обработки.
Мой вопрос: какой сервис лучше использовать?
Сначала я подумал об использовании App Engine, так как это всего лишь небольшое приложение nodejs, мне не очень-то нужно идти и создавать для него виртуальную машину, чтобы просто запустить это.
Однако я обнаружил, что мне не удалось открыть порт 21 и любые другие порты, используемые для пассивного FTP.
Затем я подумал, используя Kubernetes Engine. Честно говоря, я пока ничего об этом не знаю. Но кажется, что запускать небольшое приложение - это немного излишне.
Моей последней мыслью было бы использовать Compute Engine. У меня есть рабочая копия с установленным и работающим PROFTPD, так что я знаю, что могу открыть порты и передавать данные, но я чувствую, что немного перегружено запускать полную ВМ только для чего-то, что действует как посредник между погодой станции и ГКС.
Любые рекомендации будут очень признательны.
Спасибо!