Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Grafana Loki によるサーバログのコスト削減

GO Inc. dev
February 05, 2025

Grafana Loki によるサーバログのコスト削減

GO TechTalk #30 クラウドコスト削減 祭り で発表した資料です。

■ YouTube
https://www.youtube.com/live/O_b_wTPloiM

■ connpass
https://jtx.connpass.com/event/341113/

GO Inc. dev

February 05, 2025
Tweet

More Decks by GO Inc. dev

Other Decks in Programming

Transcript

  1. © GO Inc. 2 自己紹介 プロフィール写真 正方形にトリミングした写 真を「図形に合わせてトリ ミング」で円形にすると真 円になる

    GO株式会社 技術戦略部 / プレシ カンタン SRE活動、Kubernetesを中心としたプラットフォームの開発と運用 以前途中まで見たワンピースを最初から見始めてから1年:エピゾード700 まで来ています!
  2. © GO Inc. 3 SREの紹介 ▪ チーム構成 ▪ 7名 ▪

    幅広い活動 ▪ Kubernetesの中心としたプラットフォーム「Kenos」の開発と運用 ▪ アプリケーション設計の標準化 ▪ CI/CDの標準化 ▪ Observabilityの標準化 ▪ シークレット管理の標準化 ▪ Airflowによるワークフロー基盤の提供 ▪ インフラ構築、DBバージョンアップデートなどの定常作業 ▪ など ▪ もっと知りたい方へ ▪ 「タクシーアプリ『GO』におけるプラットフォームエンジニアリング の実践」(開発生産性Conference 2024)
  3. © GO Inc. 4 SREのコスト削減対策 よくあるコスト削減 RI/CUD購入 サーバとDBのスペッ クの定期的な調整 不要なクラウドリソー

    スの定期的な棚卸し S3/GCSのストレージクラ スとライフサイクル調整 … 標準化活動によるコスト削減 (言語、クラウドサービス、ライブラリ、ツール、方針の標準化) 開発効率化 ビジネスロジックに集中 人員配置による認知 コストの削減 … プラットフォーム・エンジニアリングによるコスト削減 (Kubernetesを中心としたKenos基盤の提供) インフラ作業の効率化 (構築、メンテナンス、廃止) マネージドサービスの 利用の効率化 … 今回の話 マネージドサービスからの脱却
  4. © GO Inc. 5 GOのシステム全体構成と発表箇所 バックエンド 分析環境 バックエンド (App Engine)

    次世代 バックエンド (Kubernetes) キュー (Pub/Sub) 分析ログ データ 基盤 (BigQuery) RDB (Cloud SQL) フロントエンド 次世代 サーバログ基盤 (Loki) サーバログ基盤 (Cloud Logging) S3 キュー (Pub/Sub) 車載位置ログ サーバ ログ サーバ ログ ユーザー アプリ ドライバーア プリ
  5. © GO Inc. 6 GOのシステム全体構成と発表箇所 バックエンド 分析環境 バックエンド (App Engine)

    次世代 バックエンド (Kubernetes) キュー (Pub/Sub) 分析ログ データ 基盤 (BigQuery) RDB (Cloud SQL) フロントエンド 次世代 サーバログ基盤 (Loki) サーバログ基盤 (Cloud Logging) S3 キュー (Pub/Sub) 車載位置ログ サーバ ログ サーバ ログ ユーザー アプリ ドライバーア プリ 発表箇所
  6. © GO Inc. 7 課題:サーバログ基盤のコストが高い ▪ 一般論:サーバログの特徴 ▪ 調査のため大量に残す必要がある(何が起きるかわからない) ▪

    ほぼ見ない(全体の量に対して検索されるのはわずか一部) ▪ 多くのマネージドログ収集システムが書き込み課金 ▪ →コストパフォーマンスが悪い ▪ GOの課題 ▪ 一般的なサーバログ基盤と同じ課題を抱えていた ▪ Google Cloud Loggingのインジェスト料金が高い ▪ BigQueryのStreaming Insertの料金が高い
  7. © GO Inc. 8 対策:Grafana Lokiの導入 ▪ Grafana Lokiを導入したことで、サーバログ基盤のコスト削 減ができた

    ▪ Grafana Lokiの説明 ▪ Grafana Lokiとは ▪ ログ収集と検索用のOSSツール ▪ Grafana Cloud マネージドサービスも提供されている ▪ Grafana Lokiの特徴 ▪ ログの内容をインデックスしないため書き込みが安い (サービス名やPod名などログ発生元の情報のみをインデックスする) ▪ データをS3などオブジェクトストレージに保存するため安い ▪ 検索の際に大量のデータをストレージから取得しオンメモリでフィルタす ると言うブルートフォースなやり方を採用しているため読み込みにリソー スがかなり必要 ▪ → コストを書き込みから読み込みにシフトする
  8. © GO Inc. 11 Lokiのコスト ▪ データ転送料金:データが圧縮されているためある程度抑えられる ▪ 保存料金:オブジェクトストレージのため安い ▪

    コンピュート料金 ▪ write : 全体のスループットに比例するが設計上Lokiの書き込みはCPUをそこまで使 わないため抑えられる ▪ read : どのぐらいのパフォーマンスを要求するか次第(何日分のデータを同時に検 索するのか、何秒以内に結果が欲しいのか …)。ニーズに合わせて調整可能。
  9. © GO Inc. 12 更なるLokiのコスト削減のための工夫 ▪ Lokiマネージドサービス「Grafana Cloud」は選ばずに、自前 のEKSクラスタで運用! ▪

    コスト削減効果が、メンテナンスの人件費増加よりも、大きいと想定 ▪ サーバログは万が一欠損があったとしてもそこまでクリティカルな問 題にならない ▪ コンピュート料金の抑止 ▪ RI (リザーブドインスタンス)の購入(~30%のコスト削減) ▪ readインスタンスのスケジュールスケーリング:週末と夜中、ログ検 索が少ない時間帯は台数を自動的に減らす(~50%のコスト削減) ▪ データ転送料金の抑止 ▪ EKSとLokiの間にVPCピアリング接続を作成 (NATを通らない)
  10. © GO Inc. 13 結果 ▪ 効果 ▪ 各サービスのログをLokiの基盤に移行することによって、最大で 80%のログコスト削減ができた

    ▪ Lokiの自前運用があまり大変ではない! ▪ その他得られた効果 ▪ ただのログ検索基盤から、可視化やトレースとの連携などができ るオブザーバビリティ基盤へ ▪ 更に ▪ まだSREのKubernetes基盤に移行できていないサービス (GAE,GKEなど)も、移行するだけでLokiによるサーバログのコス ト削減効果が出せるため、基盤への移行を計画していく
  11. © GO Inc. 14 まとめ ▪ サーバログは一部しか検索しないのに大量に残す必要が あるが、多くのログ収集システムが書き込み課金のため コストが増加しがち ▪

    Grafana Lokiを利用し自前で運用することでコストを書 き込みから読み込みにシフトできた ▪ 結果として、最大で80%のログコスト削減ができた