当前位置: 首页 > 面试题库 >

Google App Engine Flexible环境的定价,一堂$ 500的课程

梁渊
2023-03-14
问题内容

我遵循了App Engine Flexible的Env教程@上的Nodejs:https://cloud.google.com/nodejs/getting-started/hello-world

成功部署并测试了本教程后,我将代码进行
了一些实验,然后成功部署了该代码……然后
由于它是一个测试环境(非公开)而继续运行。

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

在交易明细中,我看到以下内容:

2017年10月1日至31日,App Engine Flex实例RAM:5948.774 Gibibyte-hours
([MYPROJECT])$ 42.24

2017年10月1日至31日,App Engine Flex实例的核心小时数:5948.774小时
([MYPROJECT])$ 312.91

这个几乎有0个请求的测试环境如何需要约6,000个
小时的资源?在最坏的情况下,我会假设
一个月有720个小时的全职工作,每小时$ 0.05,那么我就要花$ 40左右。
https://cloud.google.com/appengine/pricing

有人可以帮助阐明这一点吗?我无法找出为什么
需要这么多资源?

谢谢您的帮助!

有关更多数据,这是上个月的流量(基本上为0):
交通数据

和实例数据实例数据

更新:请注意,我确实对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

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

Google说:

默认情况下,App Engine会按比例缩放运行和下降的实例数量以
匹配负载,从而始终为您的应用提供一致的性能,
同时最大程度地减少空闲实例,从而降低成本。

但是,根据我的经验,事实并非如此。如前所述,我
使用nodemon推送了我的节点应用程序,这似乎导致了错误。

最后,在完成本教程并没有关闭项目的情况下,我有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以仅使用最少的资源强制执行一个实例:

>     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. Set daily spending limit

有关更多信息,请参见此博客文章:https : //medium.com/google-cloud/three-simple-steps-to-save-costs-when-prototyping-with-app-engine-flexible- environment-104fc6736495

我希望这些步骤中的某些步骤已包括在本教程中,以保护尝试学习和尝试的人,但事实并非如此。

如果不了解所有这些详细信息,则Google AppEngineFlex环境可能会很棘手。一个朋友向我指出了Heroku,它既有定价又有
免费/业余爱好优惠。我能够在那里快速推送一个新的节点应用程序,它的工作原理很吸引人!https://www.heroku.com/pricing

“仅”花了我$ 500来学习本课程,但我希望这对其他使用Google App Engine Flex Env​​的人有所帮助。



 类似资料:
  • 在交易明细中,我看到如下内容: 2017年10月1日至31日App Engine Flex实例RAM:5948.774吉字节-小时([MYPROJECT])42.24美元 2017年10月1日至31日App Engine Flex实例核心工时:5948.774小时([MYPROJECT])312.91美元 有人能帮我弄清楚这件事吗?我不知道为什么需要这么多资源? 谢谢你的帮助! 更新:注意,我确实

  • Scala课堂是Twitter启动的一系列讲座,用来帮助有经验的工程师成为高效的Scala 程序员。Scala是一种相对较新的语言,但借鉴了许多熟悉的概念。 因此,课程中的讲座假设听众知道这些概念,并展示了如何在Scala中使用它们。我们发现这是一个让新工程师能够快速上手的有效方法。网站里的是伴随这些讲座的书面材料,这些文字材料本身也是很有用的。 方法 我们认为最有意义的教学方式是,不要把Scal

  • 轻松搭建企业课库,支持多种智能配课形式。 轻松搭建企业课库 1.创建并管理课程 ● 上传并管理多种形式的课程,指派员工、部门、用户组学习。 管理后台-学习管理-课程管理-新增课程 填写课程基本信息 上传课程封面 上传课件,可素材库中批量添加视频然后再调取 学习管理-课程管理-课程水印设置 根据需要去设置随堂考试,也可跳过此步骤 直接发布到选课中心供学员选修学习 到期未完成学习的学员可申请延期学习

  • 1.课堂练习列表查询 通过该接口可以获取课堂练习数据, 地址为: https://spark.bokecc.com/api/exercise/list 需要传递以下参数: 参数 说明 userid ⽤户 id,不可为空 videoid 视频 id,不可为空 返回字段含义如下: 参数 说明 id 练习id title 练习名称 appeartime 练习出现的时间 isjump 是否允许跳过 (0否

  • 10、课堂设置 点击“设置”菜单,讲师可设置课堂信息、连麦方式、视频清晰度等。视频清晰度设置越高,对网络要求也越高,请根据自身情况进行调节。 课堂名称 需100个字符以内(1个汉字、数字、标点都算1个字符)。 课堂连麦模式 设置学生参与连麦的方式。 (1)自由连麦:学生可自由连麦,无需老师确认; (2)举手连麦:学生可举手连麦,需要老师确认后才可连麦; (3)自动连麦:学生进入房间后自动连麦。 连

  • 8. 课堂工具 使用菜单栏的课堂工具,讲师可发起共享桌面、点名、答题、头脑风暴、投票、计时器、循环连麦、辅助摄像头等多种教学功能。 8.1. 共享桌面 讲师可共享自己的桌面或应用窗口。开启分享共享桌面的音频功能后,web端旁听者听不到讲师的声音。初次使用桌面共享功能,会提示安装桌面共享插件,如下图所示: 安装好插件后,点击“共享桌面”即可分享自己的桌面屏幕。支持完整桌面共享、应用窗口共享、Chro