AWS Autosync: перенос данных с FTP-сервера на S3
У меня есть рабочий процесс, который перемещает 700 ГБ файлов с ftp-сервера на локальный сервер для обработки скриптов python.
Я хотел бы перенести этот процесс в корзину AWS s3 для обработки лямбда.
Я видел AWS data-sync как решение по разумной цене (0,0125/ ГБ) для перемещения этих данных в корзину S3. но не с ftp-сайта.
у кого-нибудь есть предложения, как это сделать?
примечание: я изучал filezilla pro, но нет способа автоматизировать этот процесс с помощью пакетной команды или сценариев.
1 ответ
AWS Lambda не подходит для такой работы из-за требований к динамической памяти и ненадежной задержки между вашим сайтом FTP и Lambda-функцией.
Похоже, вы пытаетесь скопировать данные размером 700 ГБ в S3 через какой-то сервис AWS. Если это правильное утверждение, пожалуйста, произведите серьезный расчет затрат на следующее:
Стоимость S3 зависит от количества передаваемых данных и частоты получения. Чтение записи 700 ГБ данных будет стоить значительно в месяц.
Время выполнения лямбда-функции и память. Всякий раз, когда Lambda будет запущена, она прочитает файл во временную память var. Здесь вы получите высокую стоимость, поскольку стоимость лямбда-функции зависит от объема используемой памяти.
Во-вторых, также стоит упомянуть скорость соединения между FTP-сайтом и пограничным лямбда-сервером, поскольку чем больше задержка, тем быстрее вы исчерпаете свою бесплатную квоту лямбда-запросов в 1 млн.
Я бы рекомендовал использовать скрипт Python/Ruby/PHP либо на FTP-сервере, либо на локальном компьютере и загружать файлы в корзины S3. Если вы выбираете подход, подумайте об архивировании данных в Glacier, чтобы сэкономить деньги.
Если вам нужен лямбда-код, дайте мне знать, я буду рад поделиться с вами. Надеюсь, это поможет.