我正在制作一个ios应用程序,并使用EC2实例托管我的后端代码(在Django中)。即使我只有几个用户(少于10个),我也不知道他们每天何时会使用该应用程序。
我是否需要随时24/7运行EC2实例以接受api调用?对于需要处理的实际计算时间而言,这不是很昂贵吗?
谢谢!
答案 0 :(得分:3)
如果您的后端部署在EC2实例上,并且EC2实例未在运行,则您的代码将不会执行,并且您的API调用也将无法处理。
您可以使用AWS Lambda实现后端,该后端无需服务器即可运行,并且仅按使用量收费。似乎有一个工具Zappa,可让您在AWS Lambda上部署Python应用程序。
答案 1 :(得分:0)
您应该使用Hakuna Cloud,这是一项服务,可以在HTTP / S请求到达域时启动EC2服务器,然后在一段时间内没有人调用服务器时自动停止EC2服务器(默认时间)应该是30分钟)。它不要求对代码进行任何更改,您只需要配置服务并更改DNS(它实际上可以用作HTTPS安全代理)。 一个EC2实例的服务每月只需支付1美元,一个月免费。
要配置服务,您需要安装CLI:
npm install -g @porketta.io/porcli
然后运行:
porcli provider create
它将询问您可以在IAM AWS控制台中生成的AWS凭证(访问密钥ID和秘密访问密钥)。您可以按照here所述创建具有特定角色和权限的用户。
运行:
porcli vhost create
,然后按照说明进行操作。它将向您显示所有正在运行的EC2实例,并让您选择要使用Hakuna Cloud配置的实例。之后,它将询问您EC2实例链接到哪个FQDN。
结束此部分后,您必须更改DNS。如果您将Route 53用于DNS,则可以从AWS控制台进行操作。您只需要更改或创建CNAME记录集,例如:
service.yourdomain.com CNAME eu1.lb.hakuna.cloud