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

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

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for GO Inc. dev 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/

Avatar for GO Inc. dev

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%のログコスト削減ができた