我是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映像。 (实际上还有另一种方法吗?)
有可能吗?怎么样?
非常感谢
编辑:修改了一些问题以反映时间限制。
答案 0 :(得分:1)
在我看来,您应该研究AWS批处理。这样,您可以运行一批作业,并且可以使用具有更多vCPU的计算机,并受益于每秒计费。