Stackdriver 料金体系変更に備えて
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 料金変更スケジュール
Stackdriver Logging
App Engine, HTTP LB などの外に公開されているもののリクエストログが大きくなりがち。
現在のログの出力状況は Console で確認できる。
無料枠が月額50GBあるので、50GB 以内に余裕で収まってるような状況であれば、特に問題ない。
Logを減らすには?
ログを除外する設定を行うことができる。
https://cloud.google.com/logging/docs/exclusions?hl=en
例 : App Engineの404 status Logを90%除外する
設定は Logs integestion
の option から開始できる。
Filter 設定
Exportと同じように除外するログを取得できるようにフィルタリング条件を設定する。Percent to Exclude
の値が、除外率でデフォルトは 100% 除外するようになっているので、サンプリングしたような感じだと、ここの値を調整する。
ログの除外設定
ログの除外設定は Logs integestion
の Exclusions
tab で確認できる。
一時的に Disable にすることもできるので、アプリケーションのリリース時は Disable にしておいて、問題なければ、Enable に戻すようなこともできる。
USAGE ALERT
急激なトラフィック増加や、アプリケーションのバグなどでログを吐きすぎたことを検知するために、Log 出力量自体を Stackdriver でモニタリングして、アラートを投げることができるようになっている。
ログのExport設定
ログを除外すると完全に見えなくなるが、それだと、3日前にほげほげが発生していたが、なんだったのか?みたいなの確認するのが難しくなる。また、リクエスト数の分析などができなくなる。
そのような場合、Export の設定をしておくことで、ログを Cloud Storage, BigQuery, PubSub に出力できる。除外設定を行っていたとしても、Exportは有効になる。なので、まったく Stackdriver Logging を見ないのであれば、100% 除外して、全部 Export してもよい。
Cloud Storage の場合は1h毎に NEWLINE_DELIMITED_JSON で出力され、BigQuery, PubSub はニアリアルタイムに挿入される。調査や分析のために利用する場合は、Cloud Storage か BigQuery だろう。BigQuery の場合はStreaming Insert の料金がかかるが、 $0.05/GB
ぐらいなので、Stackdriver Logging の十分の一のお値段である。その金額が許容範囲なら、BigQuery が最も便利だ。
さいごに
GCPUG では GitHub 上にノウハウを書いています。記事になる前の Draft や他のノウハウが見たい方は https://github.com/gcpug/nouhau を覗いてみてください。