EC2实例-启动,运行过程,停止

时间:2018-08-04 04:17:25

标签: amazon-web-services amazon-ec2

我在GPU计算EC2节点上安装了一个应用程序,该应用程序进行了大量的计算。我想将其设置为执行以下操作:

  1. 将请求发送到GPU EC2节点以运行进程。
  2. 如果GPU EC2节点已经启动并正在运行一个进程,请等待该进程完成,然后从该新请求中运行该进程。
  3. 否则,启动GPU EC2节点并根据新请求运行进程。
  4. 所有处理完成后,停止EC2节点。

我通过Lambda启动/停止实例来部分解决此问题。我很好奇,AWS中是否有更自动的内置功能来实现此目的?

1 个答案:

答案 0 :(得分:3)

更好的架构可能是:

  • 需要完成的工作将其推送到 Amazon SQS队列(或将详细信息存储在Amazon S3中并推送指向Amazon S3的消息)
  • 创建一个 CloudWatch警报,该警报在队列大小大于零时触发
  • 警报可以触发 Lambda函数,该函数启动GPU节点
  • GPU实例运行的软件可以从SQS队列中拉出工作
  • 没有剩余工作时,GPU实例在操作系统上调用 shutdown