2016-12-14 108 views
2

我尋求一種在AWS EC2實例上實現類似cron的系統的方法:每天早上,我有一些任務要運行,並且它們使用大量的RAM(大約8去每個腳本)。我不想支付全職c4.2xlarge實例,這是關鍵。以編程方式創建EC2實例,運行命令並終止

我想什麼:

  1. 在00H,每一天,創造c4.2xlarge實例
  2. 當系統運行時,運行PHP腳本
  3. 當PHP腳本結束,終止實例

如何自動執行這些操作?

回答

2

如果您使用--instance-initiated-shutdown-behavior terminate創建了一個實例,那麼它將在停止時自行終止。所有你需要做的是在腳本結束時運行shutdown -h now

那麼你如何在特定的時間啓動實例?

  1. 有第三方服務,做到這一點。像GorillaStack一樣。

OR

  • 創建CloudWatch scheduled event。它基本上是雲中的一個cron,它可以運行Lambda函數,從而可以啓動您的實例。
  • +0

    不知道GorillaStack,看起來不錯,我會試試!感謝Sergey! – HeavyNounours

    2

    不確定你打算在你的cron腳本中做什麼,但看看AWS Lambda scheduled events

    請注意,Lambda本身不支持PHP,但似乎有options。就我個人而言,如果可能的話,我會考慮用Python或JavaScript重寫它。

    +0

    這是一些與MongoDB相關的任務:抓取各個地方的數據並修改外部文件(但是對於laaaaaaarge數據集) – HeavyNounours

    0

    簡單..

    只需創建一個c4.2xlarge實例的所有配置中定義。

    當你啓動實例,創建在高級選項卡「用戶數據腳本」,因此,它推出的實例後,運行該腳本和作業完成後發出終止命令本身..

    要調用啓動腳本,您可以在本地設置cron作業或使用aws lambda。

    相關問題