HeadlinesBriefing favicon HeadlinesBriefing.com

数据管道部署AWS:本地假设的挑战

Towards Data Science •
×

几个月来,我在Windows机器上使用WSL2中的RSS摄取、Docker中的Postgres、Kestra编排和dbt转换构建了一个数据管道。一切在本地都能正常工作,因为所有内容都在一台机器上运行。通过CLI将其迁移到AWS揭示了隐藏的假设。

设置一个带有Ubuntu 22.04的t3.small EC2实例很容易。意外包括一个8GB磁盘太小,需要growpart和resize2fs,但较新的Nitro实例将驱动器命名为`nvme0n1`而不是`xvda`。在Kestra拉取镜像期间,实例进入“受损”状态,通过添加1GB交换文件解决。弹性IP和安全组限制增加了小麻烦。

使用rsync、Docker和docker compose传输管道有效,但Kestra的流程存储在其内部数据库中,而不是文件中,因此我的fetch_rss流程需要手动粘贴YAML。这突显了假设逐一被打破的模式。

真正的挑战不是AWS本身,而是基于“同一台机器”假设构建的隐藏依赖,这比原始构建教会了我更多。