gcpug / nouhau

Google Cloud Platformのノウハウを共有するRepository
https://gcpug.jp
MIT License
653 stars 23 forks source link

Stackdriver料金体系変更に備えて #52

Closed sinmetal closed 4 years ago

sinmetal commented 6 years ago

WHAT

2018年6月30日からStackdriverの料金体系が大きく変わっていくので、それに備える https://cloud.google.com/stackdriver/pricing_v2?hl=en

料金体系変更の概要

今までは Standard Tier , Premium Tier の2つの料金体系で、 Premium Tier にするとAlert先の増加など、機能が解放されるという形だった。 新しい料金体系は、機能はすべて同じで、LoggingやMetricなどのトラフィック量に対して課金されるようになった。 ある程度、無料枠があるので、小さなProjectは機能がフルに使えるようになってハッピーな感じだが、トラフィックが多い大きなProjectは大きく課金されないようにログの除外などの設定をしてあげる必要がある。

Stackdriver 料金変更スケジュール

Feature Price1 Free allotment per month Effective date  
Logging $0.50/GB First 50 GB/project 2018/06/30  
Monitoring data $0.2580/MB: 150–100,000MB$0.1510/MB: 100,000–250,000MB$0.0610/MB: >250,000 MB All GCP metrics2Non-GCP metrics: <150MB 2018/06/30  
Monitoring API calls $0.01/1,000 API calls First 1 million API calls 2018/06/30  
Trace ingestion $0.20/million spans First 2.5 million spans 2018/09/30  
Trace retrieval $0.02/million spans First 25 million spans 2018/09/30

WHY

無料だったものが有料になるものも存在するため、料金にびっくしりないように。

sinmetal commented 6 years ago

Stackdriver Logging

App Engine, HTTP LB などの外に公開されているもののリクエストログが大きくなりがち。 現在のログの出力状況はConsoleで確認できる。 無料枠が月額50GBあるので、50GB以内に余裕で収まってるような状況であれば、特に問題ない。

image

Logを減らすには?

ログを除外する設定を行うことができる。 https://cloud.google.com/logging/docs/exclusions?hl=en

App Engineの404 status Logを90%除外する

設定は Logs integestion のoptionから開始できる。

image

Filter 設定

Exportと同じように除外するログを取得できるようにフィルタリング条件を設定する。 Percent to Exclude の値が、除外率でデフォルトは100%除外するようになっているので、サンプリングしたような感じだと、ここの値を調整する。

image

ログの除外設定

ログの除外設定は Logs integestionExclusions tab で確認できる。 一時的にDisableにすることもできるので、アプリケーションのリリース時はDisableにしておいて、問題なければ、Enableに戻すようなこともできる。

image

USAGE ALERT

急激なトラフィック増加や、アプリケーションのバグなどでログを吐きすぎたことを検知するために、Log出力量じたいをStackdriverでモニタリングして、アラートを投げることができるようになっている。

image

image

ログのExport設定

ログを除外すると完全に見えなくなるが、それだと、3日前にほげほげが発生していたが、なんだったのか?みたいなの確認するのが難しくなる。また、リクエスト数の分析などができなくなる。

そのような場合、Exportの設定をしておくことで、ログをCloud Storage, BigQuery, PubSubに出力できる。除外設定を行っていたとしても、Exportは有効になる。なので、まったくStackdriver Loggingを見ないのであれば、100%除外して、全部Exportしてもよい。

Cloud Storageの場合は1h毎にNEWLINE_DELIMITED_JSONで出力され、BigQuery, PubSubはニアリアルタイムに挿入される。調査や分析のために利用する場合は、Cloud StorageかBigQueryだろう。BigQueryの場合はStremiang Insertの料金がかかるが、 $0.05/GB ぐらいなので、Stackdriver Loggingの十分の一のお値段である。その金額が許容範囲なら、BigQueryが最も便利だ。

sinmetal commented 6 years ago

ログのExport設定 の話を追加しましたー。

一言で言うと、除外とExportは別々に動くので、100%除外しても、Exportには出てくるよ!って感じです。