gpt4 book ai didi

node.js - Google App Engine Flexible env 的定价,500 美元的类(class)

转载 作者:IT老高 更新时间:2023-10-28 21:52:29 24 4
gpt4 key购买 nike

我遵循了 App Engine 灵活环境上的 Nodejs 教程: https://cloud.google.com/appengine/docs/flexible/nodejs/create-app

在成功部署并测试了本教程后,我更改了代码以进行一些实验并成功部署它......然后让它运行,因为这是一个测试环境(不公开)。

一个月后,我收到了来自 Google 的超过 370 美元的帐单!

在交易详情中,我看到以下内容:

Oct 1 – 31, 2017 App Engine Flex Instance RAM: 5948.774 Gibibyte-hours([MYPROJECT]) $42.24

Oct 1 – 31, 2017 App Engine Flex Instance Core Hours: 5948.774 Hours ([MYPROJECT]) $312.91

这个几乎有 0 个请求的测试环境如何需要大约 6,000 小时的资源?在最坏的情况下,我会假设 720 小时全职运行一个月 @ 每小时 0.05 美元将花费我约 40 美元。 https://cloud.google.com/appengine/pricing

有人可以帮忙解释一下吗?我一直无法弄清楚为什么需要这么多资源?

感谢您的帮助!

更多数据,这是上个月的流量(基本为0): Traffic Data

以及实例数据Instance Data

更新:请注意,我确实对 package.json 进行了一项修改:我将 nodemon 添加为依赖项,并将其添加为我的“nmp start”脚本的一部分。虽然我怀疑这解释了 6000 小时的资源:

  "scripts": {
"deploy": "gcloud app deploy",
"start": "nodemon app.js",
"dev": "nodemon app js",
"lint": "samples lint",
"pretest": "npm run lint",
"system-test": "samples test app",
"test": "npm run system-test",
"e2e-test": "samples test deploy"
},

App.yaml(默认-教程没有变化)

runtime: nodejs
env: flex

最佳答案

在与 Google 多次来回交流、阅读博客和查看报告数小时后,我终于找到了对所发生事情的解释。我会在此处发布我的建议,以免其他人也成为此问题的受害者。

注意,这对某些人来说似乎很明显,但作为一个 GAE 新用户,所有这些对我来说都是全新的。

简而言之,当部署到 GAE 并使用以下命令“$ gcloud app deploy”时,它会创建一个新版本并将其设置为默认版本,但更重要的是,它不会删除之前部署的版本。

关于版本和实例的更多信息可以在这里找到:https://cloud.google.com/appengine/docs/standard/python/an-overview-of-app-engine

因此,就我而言,在不知情的情况下,我创建了我的简单 Node 应用程序的多个版本。这些版本仍在运行,以防出现错误后需要切换。但是这些版本也需要实例,除非在 app.yaml 中说明,否则默认为 2 个实例。

谷歌说:

App Engine by default scales the number of instances running up anddown to match the load, thus providing consistent performance for yourapp at all times while minimizing idle instances and thus reducingcost.

但是,根据我的经验,情况并非如此。正如我之前所说,我使用 nodemon 推送了我的 Node 应用程序,这似乎导致了错误。

最后,按照教程并没有关闭项目,我有 4 个版本,每个版本有 2 个实例,全时运行 1.5 个月,服务 0 个请求并生成大量错误消息,我花了 500 美元。

如果您仍想使用 GAE FLEX ENV 的建议:

  1. 首先,设置一个计费预算和提醒,这样您就不会对自动记入您的 CC 的昂贵发票感到惊讶:https://cloud.google.com/billing/docs/how-to/budgets

  2. 在测试环境中,您很可能不需要多个版本,因此在部署时使用以下命令:
    $ gcloud app deploy --version v1

  3. 更新您的 app.yaml 以强制使用最少的资源仅使用 1 个实例:

runtime: nodejs
env: flex

# This sample incurs costs to run on the App Engine flexible environment.
# The settings below are to reduce costs during testing and are not appropriate
# for production use. For more information, see:
# https://cloud.google.com/appengine/docs/flexible/nodejs/configuring-your-app-with-app-yaml
manual_scaling:
instances: 1
resources:
cpu: 1
memory_gb: 0.5
disk_size_gb: 10
  1. 设置每日消费限额

enter image description here

查看这篇博文了解更多信息:https://medium.com/google-cloud/three-simple-steps-to-save-costs-when-prototyping-with-app-engine-flexible-environment-104fc6736495

我希望教程中包含其中一些步骤,以保护那些尝试学习和实验的人,但事实并非如此。

如果不了解所有这些细节,Google App Engine Flex 环境可能会很棘手。一位 friend 向我介绍了 Heroku,它既有固定价格,也有免费/爱好优惠。我能够在那里快速推送一个新的 Node 应用程序,它就像魅力一样! https://www.heroku.com/pricing

学习这一课“只”花了我 500 美元,但我希望这对其他关注 Google App Engine Flex Env​​ 的人有所帮助。

关于node.js - Google App Engine Flexible env 的定价,500 美元的类(class),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47125661/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com