我想为我拥有的应用程序运行服务器。
我是AWS的初学者,请耐心等待。
将有大约50个用户(所有来自同一时区)将访问服务器,我希望获得接近100%的可用性。
我的应用程序需要2个处理器和2GB内存。
我可以每天24小时或每天只花18个小时支付一台机器,假设我晚上关机,但我会在某些日子里根本不使用服务器。
我想知道以下是否可能:当亚马逊检测到某人正在从我的服务器请求某些内容时,它会实时打开它,然后将请求转发给我的服务器。说没有活动5分钟后,它将关闭我的服务器。这样我只能在有交通时支付几个小时。
这可能吗? 人们如何解决类似的问题?
答案 0 :(得分:5)
不,这不可能。 AWS中没有任何内置功能来检测流量并像您建议的那样启动EC2服务器。此外,EC2服务器上的启动时间至少需要几分钟,因此首次传入的请求必须等待很长时间。
您可能希望研究运行多个小型服务器而不是单个较大的服务器。 AWS确实能够平衡多个服务器之间的负载,并根据流量在池中添加/删除服务器。当没有流量时,您可以只运行一台服务器,并在负载增加时自动创建更多服务器。请查看AWS Elastic Beanstalk服务。
如果你想运行真正的无服务器"在这种情况下,您只需要以毫秒为单位支付计算周期,而不是按小时支付服务器,您可以使用AWS Lambda进行查看。如果您可以将系统架构为在Lambda上运行,那么几乎可以保证节省成本,但将现有系统转换为这种架构可能是一个真正的挑战。
如果您想在AWS外部查看,您可能会发现更多与您使用Google App Engine描述的内容相似的内容。 Heroku的free tier也与您的描述类似,但只要您超过免费套餐,就必须升级到始终运行的实例。