こんにちは。SCSKの磯野です。
Google Cloud では、複数プロジェクトのログを集約・可視化する方法として「ログスコープ」と「ログシンク」の2つが提供されています。
では、組織全体のログ監視を設計する際、どちらを選択すべきなのでしょうか。
本記事では両者の仕組みとユースケースを比較し、最適な選択肢を導くためのポイントを解説します。
プロジェクトをまたいだログの閲覧
ログシンク(ログルータによる集約シンク)とは
集約シンクを使うと 組織やフォルダ単位でログを一元的に集めること ができます。
集約シンクには2つのモードがあります。
- インターセプトモード
- 集約対象のログを一か所に移動するため、元のプロジェクトからログが見えなくなる。権限管理には注意が必要
- ログの重複保管を防ぎ、コスト削減になる
- 非インターセプトモード(デフォルト)
- 集約対象のログを元のプロジェクトと集約先の両方に保存
- プロジェクト担当者・集約先担当者の両方がログを確認できる
- ログの重複保管が発生するため、コストがかかる
なお、集約シンクを使わずに個別プロジェクトごとにログルータを設定することも可能です。
ログスコープとは
ログの実体を移動することなく、複数プロジェクトのログを まとめて参照できる機能 です。
コストは安価ですが、あくまで「ビュー」のような存在であり、後述する監視用途では制約があります。
複数プロジェクトのログ監視ではどちらを採用すべき?
前提
複数のプロジェクトのログ監視を行うにあたり「ログ監視を行うプロジェクトを一か所に集約できること」を目指します。
結論:ログシンクを採用すべき
理由は以下の通りです。
- ログベースのアラートはログスコープに対応していない
以下ドキュメントにもあるように、ログベースのアラートポリシーは「そのポリシーを設定したプロジェクト内のログ」にしか作用しません。
そのため、ログスコープを使って複数プロジェクトのログを参照しても、アラートポリシーは動作しません。
Log-based alerting policies don’t honor the scope setting in the Logs Explorer page.
- ログシンクなら対応可能
ログシンクを使えば、集約先のプロジェクトにログをコピーできるため、そのプロジェクトを基点にアラートポリシーを作成できます。
ログスコープ/ログシンクの比較・ユースケース
項目 | ログスコープ | ログシンク |
---|---|---|
設定方法 | △ プロジェクトレベルで指定可能 フォルダ配下のプロジェクトを動的に指定できないため、大規模プロジェクトの管理には不向き |
○ フォルダレベルで指定可能 |
コスト | ○ 参照のみなので安価 |
△ ログがコピーされるため転送先に応じてコスト発生 |
クォータ | △ 1つのログスコープあたり最大5プロジェクトまで 参考: クォータ |
○ 記載なし(プロジェクトや転送先に依存) |
監視設定 | × ログベースのアラートポリシーには利用できない |
○ 可能(Cloud Monitoringのアラートなどに活用可能) |
主なユースケース |
|
|
まとめ
いかがだったでしょうか。
今回は、Google Cloud における ログスコープとログシンクの違い、そして ログ監視を設計する際にどちらを使うべきか を整理しました。
結論として、監視やアラート設定を前提とするなら「ログシンク」 を採用するのが実運用上は有効です。
一方で、コストを抑えて横断的に参照したいだけなら「ログスコープ」も選択肢になります。
本記事が、みなさまのログ設計の参考になれば幸いです。