我尋求一種在AWS EC2實例上實現類似cron的系統的方法:每天早上,我有一些任務要運行,並且它們使用大量的RAM(大約8去每個腳本)。我不想支付全職c4.2xlarge
實例,這是關鍵。以編程方式創建EC2實例,運行命令並終止
我想什麼:
- 在00H,每一天,創造
c4.2xlarge
實例 - 當系統運行時,運行PHP腳本
- 當PHP腳本結束,終止實例
如何自動執行這些操作?
我尋求一種在AWS EC2實例上實現類似cron的系統的方法:每天早上,我有一些任務要運行,並且它們使用大量的RAM(大約8去每個腳本)。我不想支付全職c4.2xlarge
實例,這是關鍵。以編程方式創建EC2實例,運行命令並終止
我想什麼:
c4.2xlarge
實例如何自動執行這些操作?
如果您使用--instance-initiated-shutdown-behavior terminate
創建了一個實例,那麼它將在停止時自行終止。所有你需要做的是在腳本結束時運行shutdown -h now
。
那麼你如何在特定的時間啓動實例?
OR
cron
,它可以運行Lambda函數,從而可以啓動您的實例。不確定你打算在你的cron腳本中做什麼,但看看AWS Lambda scheduled events。
請注意,Lambda本身不支持PHP,但似乎有options。就我個人而言,如果可能的話,我會考慮用Python或JavaScript重寫它。
這是一些與MongoDB相關的任務:抓取各個地方的數據並修改外部文件(但是對於laaaaaaarge數據集) – HeavyNounours
簡單..
只需創建一個c4.2xlarge實例的所有配置中定義。
當你啓動實例,創建在高級選項卡「用戶數據腳本」,因此,它推出的實例後,運行該腳本和作業完成後發出終止命令本身..
要調用啓動腳本,您可以在本地設置cron作業或使用aws lambda。
不知道GorillaStack,看起來不錯,我會試試!感謝Sergey! – HeavyNounours