Pricing of Google App Engine Flexible env, a $500 lesson Ask Question

Pricing of Google App Engine Flexible env, a $500 lesson Ask Question

I followed the Nodejs on App Engine Flexible env tutorial: https://cloud.google.com/appengine/docs/flexible/nodejs/create-app

Having successfully deployed and tested the tutorial, I changed the code to experiment a little and successfully deployed it... and then left it running since this was a testing environment (not public).

A month later, I receive a bill from Google for over $370!

In the transaction details I see the following:

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

How did this testing environment with almost 0 requests require about 6,000 hours of resources? In the worst, I would have assume 720 hrs running fulltime for a month @ $0.05 per hour would cost me ~$40. https://cloud.google.com/appengine/pricing

Can someone help shed light on this? I have not been able to find out why so many resources were needed?

Thanks for the help!

For more data, this is the traffic over the last month (basically 0): 交通データ

And instance dataインスタンスデータ

UPDATE: Note that I did bring one modification to the package.json: I added nodemon as a dependency and added it as part of my "nmp start" script. Though I doubt this explains the 6000 hours of resources:

  "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 (default-no change from tutorial)

runtime: nodejs
env: flex

ベストアンサー1

After multiple back and forth with Google, and hours of reading blogs and looking at reports, I've finally found an explanation for what happened. I will post it here with my suggestions so that other people do not also fall victim to this problem.

Note, this may seem obvious to some, but as a new GAE user, all of this was brand new to me.

つまり、GAEにデプロイして次のコマンドを使用すると、$ gcloudアプリのデプロイ「」では、新しいバージョンが作成され、それがデフォルトとして設定されますが、さらに重要な点として、デプロイされた以前のバージョンは削除されません。

バージョンとインスタンスの詳細については、こちらをご覧ください:https://cloud.google.com/appengine/docs/standard/python/appengine の概要

そのため、私の場合、知らないうちに、シンプルなノード アプリの複数のバージョンを作成していました。これらのバージョンは、エラー後に切り替えが必要な場合に備えて引き続き実行されています。ただし、これらのバージョンにもインスタンスが必要であり、app.yaml で指定されていない限り、デフォルトは 2 つのインスタンスです。

Googleは言う:

App Engine はデフォルトで、負荷に合わせて実行中のインスタンスの数を増減します。これにより、アイドル状態のインスタンスを最小限に抑え、コストを削減しながら、常にアプリに一貫したパフォーマンスを提供します。

しかし、私の経験からすると、そうではありませんでした。先ほど言ったように、nodemon を使用してノード アプリをプッシュしたのですが、それがエラーの原因だったようです。

結局、チュートリアルに従ってプロジェクトをシャットダウンしなかったため、4 つのバージョンが作成され、それぞれ 2 つのインスタンスが 1.5 か月間フルタイムで実行され、リクエストは 0 件で、多数のエラー メッセージが生成されたため、コストは 500 ドルになりました。

GAE FLEX ENV を引き続き使用する場合の推奨事項:

  1. まず第一に、クレジットカードに自動的に請求される高額な請求書に驚かないように、請求予算とアラートを設定します。https://cloud.google.com/billing/docs/how-to/budgets

  2. テスト環境では、複数のバージョンはおそらく必要ないので、デプロイ中に次のコマンドを使用します。
    $ gcloud app deploy --version v1

  3. 更新するアプリ.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. 1日の支出限度額を設定する

ここに画像の説明を入力してください

詳細については、次のブログ投稿をご覧ください。https://medium.com/google-cloud/three-simple-steps-to-save-costs-when-prototyping-with-app-engine-flexible-environment-104fc6736495

学習や実験をしようとしている人を保護するために、これらの手順のいくつかがチュートリアルに含まれていればよかったのですが、そうではありませんでした。

Google App Engine Flex env は、詳細をすべて知らないと扱いにくい場合があります。友人が、定額料金と無料/趣味向けオファーの両方がある Heroku を紹介してくれました。そこで新しいノード アプリをすぐにプッシュすることができ、うまくいきました。https://www.heroku.com/pricing

このレッスンを学ぶのにかかった費用は「たった」500 ドルですが、Google App Engine Flex Env​​ を検討している他の方のお役に立てれば幸いです。

おすすめ記事