以编程方式创建EC2实例,运行命令和终止

时间:2016-12-14 14:16:52

标签: php amazon-web-services amazon-ec2

我寻求一种方法在AWS EC2实例上实现类似cron的系统:每天早上,我都有一些任务要运行,并且他们使用了大量的RAM(每个脚本大约8个Go)。我不想支付全职c4.2xlarge实例,这就是重点。

我的想法:

  1. 每天00h,创建一个c4.2xlarge实例
  2. 系统运行时,运行PHP脚本
  3. 当PHP脚本结束时,终止实例
  4. 如何自动执行这些操作?

3 个答案:

答案 0 :(得分:2)

不确定您打算在cron脚本中执行什么操作,但请查看AWS Lambda scheduled events

请注意,Lambda本身不支持PHP,但似乎有options。就个人而言,如果可能的话,我会考虑用Python或JavaScript重写它。

答案 1 :(得分:2)

如果您使用--instance-initiated-shutdown-behavior terminate创建了一个实例,则它会在停止时自行终止。您需要做的就是在脚本结束时运行shutdown -h now

那么如何在特定时间启动实例?

  1. 有第三方服务就是这样做的。像GorillaStack一样。
  2. OR

    1. 创建CloudWatch scheduled event。它基本上是云中的cron,可以运行Lambda函数,而Lambda函数又可以启动您的实例。

答案 2 :(得分:0)

简单..

只需创建一个具有所有配置定义的c4.2xlarge实例。

启动实例时,在高级选项卡中创建“用户数据脚本”,以便它在启动实例后运行脚本,并在作业完成后向自己发出终止命令..

要调用启动脚本,可以在本地设置cron作业或使用aws lambda。