簡體   English   中英

AWS 雲上的 Python 管道

[英]Python pipeline on AWS Cloud

我有幾個 python 腳本需要在 AWS 雲上按順序執行,那么最好和最簡單的選項是什么? 這些腳本文件是概念證明,所以也有點臟,但需要在一夜之間運行。 大多數腳本在 10 分鍾內完成,但其中一些腳本在單核上運行可能需要長達 1 小時。

我們沒有像 Jenkins、airflow 等這樣的服務器……我們計划使用現有的 aws 服務。

請讓我知道,謝謝。

1)EC2實例(手動控制)

  • 將您的腳本上傳到 S3 存儲桶 使用默認 VPC
  • 啟動 EC2 實例
  • 使用SSM遠程session登錄
  • 運行 AWS CLI(從 S3 下載的 AWS S3 Sync)
  • 手動運行它們
  • 完成后停止實例。

為了干凈,制作一個 SH 文件(或 master.py 文件)來完成這項工作。 如果您希望它在之后停止向您收費,請添加命令以在完成時停止實例。

最少的工作量

2)如果你想每天運行腳本
- 編寫上述工作的腳本(包括將 Autoscale 組最后修改為 go 到一個框) - 創建一個 EC2 Auto Scale Group 並在 CRON 作業計划上啟動它。

它將啟動,完成工作,然后關閉並停止為您充電。

3) Lambda
與選項 2 非常相似,但 AWS 將為您完成大部分工作。
要么將所有腳本放入一個 lambda..,要么將每個腳本放入其自己的 lambda 並擁有一個按您想要的順序同步調用每個腳本的主控。
您每天都有一個 cloudwatch 警報觸發器並完成工作

我想說,如果您處於 POC 模式,選項 1 是最好的決定。 它可能最接近您當前正在執行的操作。 這是@jarmod 已經推薦的。

您沒有提及您的 python 腳本需要訪問哪些 AWS 資源,或者至少沒有提及腳本的用途,因此很難提供解決方案。

然而,一個不錯的選擇是使用 AWS Batch。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM