EC2实例-启动、运行进程、停止



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

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

我通过Lambda启动/停止实例,部分实现了这一点。我很好奇,AWS中是否有更自动的内置功能来实现这一点?

更好的架构可能是:

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

最新更新