HeadlinesBriefing favicon HeadlinesBriefing.com

Конвейер данных в AWS: Локальные предположения

Towards Data Science •
×

В течение месяцев я строил конвейер данных на своей машине Windows, используя RSS-ингest в WSL2, Postgres в Docker, оркестрацию Kestra и трансформации dbt. Всё работало локально, потому что всё работало на одной машине. Перенос его в AWS через CLI выявил скрытые предположения.

Настройка экземпляра EC2 t3.small с Ubuntu 22.04 была лёгкой. Сюрпризы включали диск 8GB, который был слишком мал, требующий growpart и resize2fs, но более новые экземпляры Nitro называют диски `nvme0n1` вместо `xvda`. Экземпляр стал "неисправным" во время загрузки образа Kestra, что было исправлено добавлением файла подкачки 1GB. Эластичный IP и ограничения группы безопасности добавили мелкие задачи.

Перенос конвейера с помощью rsync, Docker и docker compose сработал, но потоки Kestra живут в его внутренней базе данных, а не в файлах, поэтому мой поток fetch_rss потребовал ручной вставки YAML. Это подчеркнуло паттерн, где предположения ломаются одно за другим.

Настоящая проблема была не в AWS, а в скрытых зависимостях, построенных на предположениях "одной машины", что учит больше, чем первоначальная сборка.