按需缩放ec2,lambda样式

时间:2019-02-15 04:34:59

标签: amazon-web-services amazon-ec2 aws-api-gateway amazon-ecs

我是AWS的新手,我完全迷路了。我失去了希望。

我想做的事情似乎很简单,但是我找不到任何清晰的简化文档。 我想让当前的Web服务器通过http请求调用一些API,并从API返回一些值。要返回的值由某些Python脚本计算。 现在,lambda可以完成这项工作,但是由于计算需求(需要16个内核),我需要在EC2上运行它。 最重要的是,这需要扩展:在具有自己的16个内核的不同机器上处理每个api请求。如果有100个呼叫,则应该并行运行100个EC2。 没有API调用时,我应该正在运行0个EC2,并要收取0.00美元的费用。

通常,对于给定的会话,将在大约10分钟的时间内打几次电话,这些电话应迅速得到答复。我在想的是,可能有一个特别的呼叫会在20分钟内启动EC2。这样第一次通话可能需要20秒钟,但随后的通话应该很快得到答复。

Summary of what I need AWS to do:
 - Receive "start" API Call (Amazon API Gateway ?)
 - Start an EC2 specifically for that session for 20 mins
 - Return EC2 address (?)
 - Call script on EC2 through http requests
 - Stop EC2 after 20 mins or after the last call

为此设置和配置的服务是什么?

如果需要,我可以使用脚本创建docker映像。 (实际上还有另一种方法吗?)

有可能吗?怎么样?

非常感谢

编辑:修改了一些问题以反映时间限制。

1 个答案:

答案 0 :(得分:1)

在我看来,您应该研究AWS批处理。这样,您可以运行一批作业,并且可以使用具有更多vCPU的计算机,并受益于每秒计费。

https://aws.amazon.com/batch/