我在Google Cloud App Engine中托管了node.js网络应用程序/网站。该网站每天不超过10个用户,并且没有任何复杂的资源消耗功能。
我使用了教程
中给出的app.yaml文件# [START app_yaml]
runtime: nodejs
env: flex
manual_scaling:
instances: 1
resources:
cpu: 1
memory_gb: 0.5
disk_size_gb: 10
# [END app_yaml]
但是每月花费大约40美元,这对于基本应用来说太高了。您能否建议最低可能的最低成本资源配置?如果您能为其提供app.yaml
样本,将会很有帮助。
答案 0 :(得分:4)
Google Cloud Platform's Pricing Calculator表明您的app.yaml
中的规格变为Total Estimated Cost: $41.91 per 1 month
,因此您的费用似乎正确。
AppEngine灵活实例按小时收取资源费用。使用manual_scaling
选项设置您的实例始终处于启动状态,即使没有流量且它没有做任何工作。因此,在空闲时间不要关闭你的实例是40美元的原因。您可能希望使用Automatic or Basic scaling来最小化您的实例运行的时间,这可能会减少您的帐单,因为您没有全天候流量(您会找到正确的{{1}示例通过链接设置。
请注意,通过自动/基本缩放,您可以选择具有少于1个专用核心的实例类(即0.2和0.5 CPU)。不确定是否将CPU设置为> 0和<这里有app.yaml
的1也可以使用,你可能也想尝试一下。
此外,请不要忘记仔细查看您的帐单,看看您可能还有哪些费用。
答案 1 :(得分:1)
经过少量搜索后,这似乎是最低配置。请参阅相关答案:
至少就目前而言,没有共享的CPU,因此即使您的应用平均使用2%,您也需要支付一笔费用。也许在这里增加一些明星将有助于在不久的将来改变它:
答案 2 :(得分:1)
在互联网上阅读文章后,我创建了1个f1-micro(1个vCPU,0.6 GB内存)的bitnami MEAN堆栈虚拟机实例,每月费用约为5.5美元。我能够在其中托管1个Mongo数据库实例和2个Node.JS Web应用程序。这两个应用程序都有不同的域名。
我已经使用Apache HTTP服务器实现了反向代理,通过它的域名/主机名将流量路由到适当的Node.JS应用程序。我已经记录了我在此处遵循的步骤:https://medium.com/@prasadkothavale/host-multiple-web-applications-on-single-google-compute-engine-instance-using-apache-reverse-proxy-c8d4fbaf5fe0
如果您有其他方法可以实施此方案,请随时提出建议。
答案 3 :(得分:1)
托管Node JS应用程序最便宜的方式是通过Google Compute Engine,而不是Google App Engine。 这是因为您可以在Compute Engine上100%免费托管它! 我有很多节点应用已经运行了2年,如果有的话,我每个月最多收取几美分。 只要你使用低规格机器(共享vCPU)并且没有缩放就可以了,请查看Compute Engine Always Free选项。 https://cloud.google.com/free/docs/always-free-usage-limits#compute_name
唯一的缺点是你必须设置服务器(安装节点,设置防火墙等)。但这是一次性的工作,在你完成一次之后很容易重复。
答案 4 :(得分:0)
使用基本而不是灵活。这对您来说更合适,更便宜。