LoginSignup
12
9

More than 5 years have passed since last update.

GAE(AppEngine)ダッシュボードのインスタンス(作成、有効、課金インスタンス推定)について

Last updated at Posted at 2018-10-16

概要

GCPのWebコンソールのGAEの管理画面に「ダッシュボード」があるが、そのグラフ設定で「インスタンス」を選択すると、「作成」、「有効」、「課金インスタンス推定」の3つが表示される。それぞれ何を意味しているか、という話。AppEngineの料金を考える際にこの部分を理解しておく必要がある。

これらについての直接的な説明はドキュメント上にはない。

※「課金インスタンス推定」は、AppEngineのオートスケーリングを有効にしている場合にのみ表示される。

それぞれの説明

有効

まさにリクエストを処理しているインスタンス数。

作成

作成されたインスタンス数。重要な点として「作成されたインスタンス数=課金対象のインスタンス数」というわけではない。(詳細は後述)
「作成」されたが「有効」ではないインスタンスは一見無駄に見えるが、リクエストがバーストした際に速やかに使用される。

課金インスタンス推定

かかった費用を計算するのに使えるインスタンス数。AppEngineの料金は、インスタンス時間(インスタンスタイプ、インスタンス数、使用時間)で決定される。

オートスケーリングの場合、インスタンス数が動的に増減するため、実際にどれほどのインスタンスが稼働していたか見えにくい。そこで、「課金インスタンス推定」の情報が役に立つ。
ただし、この情報はあくまで推定であり目安なので、正確な数値ではない点に注意が必要。

AppEngine(オートスケーリング有り)の課金について

ある条件のもと、AppEngineは自動でインスタンスを増加させるが、15分間アイドルだったインスタンスは課金されない。(スケーリングの条件はapp.yamlに指定する。)

一度作成されたインスタンスは、リクエストが落ち着いた後もすぐには削除されず、リクエストのバースト時などに使われる。そして、GCPの任意なタイミングで削除される。(スケールイン)

このような待機用インスタンスを常にキープしておきたい場合は、min_idle_instancesのパラメータを使用する。しかし、常にキープされるため、課金の対象となる。(たとえ15分以上アイドル状態だったとしても)

安く使うためのチューニング

「有効」と「課金インスタンス推定」に開きがそれなりに場合、無駄があると言えるはず。また、「作成」と「有効」の差が大きい場合も設定が適切でない可能性が高い。(無駄にインスタンスを作成しているかも)

app.yamlの設定を見直すことで、より安く、同等のパフォーマンスを維持できる可能性がある。

参考

12
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
9