AWS Autosync: перенос данных с FTP-сервера на S3

У меня есть рабочий процесс, который перемещает файлы размером 700 ГБ с ftp-сервера на локальный сервер для обработки скриптов Python.

Я хотел бы перенести этот процесс в корзину AWS s3 для обработки лямбда-выражений.
Я видел AWS data-sync как решение по разумной цене (0,0125 / ГБ) для перемещения этих данных в корзину S3. но не с ftp-сайта.

у кого-нибудь есть предложения, как это сделать?

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


person phill    schedule 05.04.2020    source источник
comment
AWS поддерживает SFTP для входящего и исходящего трафика s3. Таким образом, возможно, это может быть полезно.   -  person Marcin    schedule 06.04.2020
comment
Продумайте свой дизайн. Вы хотите скопировать данные с FTP-сервера на S3. Для этого потребуются как вычислительные, так и сетевые ресурсы. Затем вы планируете скопировать данные из S3 в Lambda для обработки. Вместо этого запустите EC2, загрузите данные с FTP в EC2 и обработайте. AWS взимает плату за передачу данных и за хранение. Google ищет FTP file sync инструменты, которые могут автоматически синхронизировать FTP-сервер с локальным хранилищем (на EC2).   -  person John Hanley    schedule 06.04.2020
comment
скорость передачи с использованием aws sftp совершенно необоснованна.   -  person phill    schedule 06.04.2020
comment
похоже, что я могу запустить winscp в запланированном пакетном сценарии dos в экземпляре ec2, но это кажется ненужным шагом, если есть способ загрузить файлы непосредственно в лямбда для обработки. я не знал, что лямбда может хранить файлы.   -  person phill    schedule 06.04.2020


Ответы (1)


AWS Lambda не подходит для такой работы из-за требований к динамической памяти и ненадежного времени задержки между вашим сайтом FTP и лямбда-функцией.

Похоже, вы пытаетесь скопировать данные размером 700 ГБ в S3 через какой-то сервис AWS. Если это правильное утверждение, пожалуйста, произведите серьезный расчет затрат на следующее:

  1. Стоимость S3 зависит от количества передаваемых данных и частоты получения. Чтение записи 700 ГБ данных будет стоить значительно в месяц.

  2. Время выполнения лямбда-функции и память. Всякий раз, когда Lambda будет запущена, она прочитает файл во временную память var. Здесь вы получите высокую стоимость, поскольку стоимость лямбда-функции зависит от объема используемой памяти.

Во-вторых, также стоит упомянуть скорость соединения между FTP-сайтом и пограничным лямбда-сервером, поскольку чем больше задержка, тем быстрее вы исчерпаете свою бесплатную квоту на лямбда-запросы в 1 млн.

Я бы рекомендовал использовать скрипт Python / Ruby / PHP либо на FTP-сервере, либо на локальном локальном компьютере и загружать файлы в корзины S3. Если вы выбираете подход, подумайте об архивировании данных в Glacier, чтобы сэкономить деньги.

Если вам нужен лямбда-код, дайте мне знать, я буду рад поделиться с вами. Надеюсь, это поможет.

person HSharma    schedule 08.04.2020
comment
Я не знал, что в лямбде есть ограничения памяти для временной обработки файлов размером 700 ГБ. Спасибо за это. Я думал, что ограничение лямбда в 1 МБ было просто для запуска их сценариев. Моя цель состояла в том, чтобы разгрузить обработку (очень медленная, занимает 3 дня) с моей локальной сети на aws, поскольку анализируемые файлы в конечном итоге попадают на сервер ec2, на котором запущен sql-сервер, с более быстрым временем выполнения. не могли бы вы предложить лучший сервис для этого? - person phill; 08.04.2020
comment
Приятно знать, что вы используете EC2, и это конечный пункт назначения для обрабатываемых файлов. Если вы можете помочь мне с предполагаемым решением с точки зрения затрат и технически осуществимого решения AWS, я могу поделиться архитектором решения AWS. - person HSharma; 09.04.2020
comment
Вот варианты, которые я думаю: 1) Вы ищете оптимальное решение AWS? 2) Вы ищете решение с оптимальной стоимостью, даже если некоторая локальная обработка данных приемлема? 3) Вы ищете ТОЛЬКО оптимизированное по стоимости решение AWS, т. Е. Больше НИКАКОЙ локальной обработки? - person HSharma; 09.04.2020
comment
Я ищу только оптимизированное по стоимости решение AWS. у вас есть примеры кода Python с библиотеками импорта, которые работают с лямбда-выражением? - person phill; 19.04.2020