以下の内容はhttps://blog.g-gen.co.jp/entry/cloud-logging-tipsより取得しました。


Cloud Loggingの運用上のTips集

記事タイトルとURLをコピーする

G-gen の藤岡です。当記事では、Google Cloud のログ管理サービス Cloud Logging の Tips を紹介します。

Cloud Logging とは

Cloud Logging(旧称 Stackdriver Logging)は、Google Cloud 上のシステム等が生成したログを収集、保管、管理するサービスです。似た名前のサービスで Cloud Audit Logs もありますが、これは監査ログを記録するサービスであり、ログの出力先が Cloud Logging です。

Cloud Logging および Cloud Audit Logs については以下の記事で解説されているので、当記事と併せてお読みください。

blog.g-gen.co.jp

blog.g-gen.co.jp

ログカテゴリと保存先

全体像

Cloud Logging には大きく分けてログルーターログバケット(別名ログストレージ)の 2 つのコンポーネントがあります。

全体像

ログエクスプローラで閲覧できるログは、Cloud Logging ログバケットに保存されているログのみです。そのため、Cloud Storage や BigQuery 等へシンクされたログは、ログエクスプローラで閲覧できません。

カテゴリ

Cloud Logging が扱うログカテゴリは 5 つあります。

種別名 説明
プラットフォームログ BigQuery や Cloud Run 等、ほとんどの Google Cloud サービスのログ
コンポーネントログ Google が提供するソフトウェア コンポーネントが生成するログ。Google Kubernetes Engine(GKE)の管理機構が出力するログなど
監査ログ Cloud Audit Logs やアクセスの透明性ログ(Google サポート等がユーザのコンテンツにアクセスした際に出るログ)
ユーザー作成のログ ユーザーのアプリケーションなどによって出力したログ。エージェントや API 経由で収集
マルチクラウドとハイブリッド クラウドのログ Microsoft Azure や Amazon Web Services(AWS)から取り込んだログやオンプレミスから取り込んだログ

このうち、セキュリティログのうちの 1 つである Cloud Audit Logs はさらに以下の 4 つに分類されます。

No. カテゴリ ログ名 説明
1 管理アクティビティ監査ログ activity リソースに対する更新系の API コールが記録される
2 データアクセス監査ログ data_access リソースに対する読取系の API コールやデータの作成・変更・読取の API コールが記録される (有効化するとログ量が大きくなる可能性があるため注意が必要)
3 システムイベント監査ログ system_event ユーザーではなく Google Cloud サービスによって行われたリソースの構成変更が記録される
4 ポリシー拒否監査ログ policy VPC Service Controls 機能で拒否された API コールが記録される

保存先

Cloud Logging のログはデフォルトで_Required または _Default というログバケットに保存されます。ログバケットは Cloud Storage のバケットとは別物です。

ログカテゴリと保存先

各ログバケットに保存されるログは、ログルーターの詳細画面の包含フィルタで確認できます。

ログルーター画面

_Required ログバケットへシンクされるログルーターの包含フィルタは以下の通りです。externalaudit から始まるログは Google Workspace のログです。

# 管理アクティビティ監査ログ (セキュリティログ)
LOG_ID("cloudaudit.googleapis.com/activity") OR
# システムイベント監査ログ (セキュリティログ)                   
LOG_ID("cloudaudit.googleapis.com/system_event") OR
# アクセスの透明性ログ (セキュリティログ)
LOG_ID("cloudaudit.googleapis.com/access_transparency") OR   

LOG_ID("externalaudit.googleapis.com/activity") OR
LOG_ID("externalaudit.googleapis.com/system_event") OR           
LOG_ID("externalaudit.googleapis.com/access_transparency")

_Default ログバケットへシンクされるログルーターの包含フィルタは以下の通りです。_Required ログバケットの包含フィルタに NOT が付いているため、_Required ログバケットにルーティングされないすべてのログは _Default ログバケットへシンクされることが分かります。

NOT LOG_ID("cloudaudit.googleapis.com/activity") AND
NOT LOG_ID("externalaudit.googleapis.com/activity") AND 
NOT LOG_ID("cloudaudit.googleapis.com/system_event") AND 
NOT LOG_ID("externalaudit.googleapis.com/system_event") AND 
NOT LOG_ID("cloudaudit.googleapis.com/access_transparency") AND 
NOT LOG_ID("externalaudit.googleapis.com/access_transparency")

つまり、セキュリティログと Google Workspace のログの一部以外は全て _Default のログバケットへシンクされます。ただし、_Default ログバケットへのシンクは設定変更ができるため、環境によっては上記の包含フィルタと異なる場合もあります。

保持期間

_Required ログバケットにシンクされたログは、400 日間保持されます。この保持期間は変更できません

_Default ログバケットにシンクされたログは、30 日間保持されます。この保持期間は変更できますが、変更した場合は後述のストレージ料金が発生します。

保持期間

ログ料金の節約

2 つの料金軸

Cloud Logging の料金を節約するには、まず課金の仕組みを正確に理解する必要があります。

Cloud Logging の料金は取り込み処理量(公式ドキュメントでは「Logging ストレージ」と記載)と保管料金(公式ドキュメントでは「ロギング保持」と記載)の2軸で計算されます。前者の取り込み処理量は、公式の料金ページに「Logging ストレージ」と記載されていますが、これはログの取り込み時に発生する処理量に対する課金であり、ログを保管したサイズに対するものではありません。

料金図

Cloud Logging 料金の節約

Cloud Logging の料金を節約する方法の 1 つに、除外フィルタで特定のログを除外することが挙げられます。具体的にどのリソースタイプのログが多いかは、Cloud Monitoring の Metrics Explorer で確認できます。ログストレージの画面から遷移すると自動で指標が設定されるため、当記事ではその確認方法を紹介します。

  1. コンソールのログストレージ画面から対象のログバケットの [ このバケットの使用状況データを表示 ] を押下
    ログ確認方法①
  2. 指標に Log bucket monthly bytes ingested が設定された Metrics Explorer が開く
    ログ確認方法②

Log bucket monthly bytes ingested は 1800 秒ごとのサンプリングのため、ログの合計を 1440 倍 (30 日/月 計算) すると取り込まれているログ量がわかります。どのリソースタイプのログが多いか確認し、ログエクスプローラ等で詳細を確認します。

ただし、ログを除外することによって調査時や Google サポートへ問い合わせ時に必要な情報が不足する場合もあるため注意が必要です。

なお、Log bucket monthly bytes ingested の指標は 2025 年 4 月時点ではベータ版のため、サンプリング間隔等は変更になる場合があります。

もう1つの節約方法は、Cloud Storage や BigQuery にログを逃がすことです。詳細は以下の記事を参照してください。

Gemini Cloud Assist

Gemini Cloud Assist を使うことで、ログエクスプローラのログを要約して表示できます。ログエクスプローラで対象のログを開き、[ Explain this log entry ] を押下すると、要約されたログが表示されます。

Gemini Cloud Assist は、2025 年 4 月現在、プレビューです。

この機能を使用するには、Gemini Cloud Assist が プロジェクトで有効になっており、ユーザーが利用権限を持っている必要があります。さらに、2025 年 4 月現在、Google Cloud コンソールの言語設定が英語になっている必要があります。

データアクセス監査ログ

有効は継承される

データアクセス監査ログはデフォルトで BigQuery のみ有効になっています。それ以外のサービスは明示的に有効化する必要があります。前述の通り、データアクセス監査ログを有効にすると大量のログが発生する場合があるため注意が必要です。

データアクセス監査ログは組織、フォルダ、プロジェクトレベルで有効化でき、上位階層の設定が継承され、上書きはできません。

例えば、組織で有効化している場合、配下のフォルダやプロジェクトでも有効になり、フォルダやプロジェクトで無効化はできません。

設定は継承される

そのため、プロジェクト作成者が明示的に有効化せずとも、上位階層の設定が引き継がれ、データアクセス監査ログがログエクスプローラで閲覧できる場合もあります。

閲覧には追加権限が必要

ログエクスプローラで _Required_Default ログバケット内のログを閲覧するには、ログ閲覧者(roles/logging.viewer)ロールが必要です。

しかしこのロールではデータアクセス監査ログの閲覧はできません。データアクセス監査ログも含めたログを閲覧するには、プライベート ログ閲覧者roles/logging.privateLogViewer)ロールが必要です。

参考記事

以下の記事では、データの保存先や暗号化など、エンタープライズ企業でよくある制約下における Cloud Audit Logs の運用方法について詳細に記載していますので、ご参照ください。

blog.g-gen.co.jp

藤岡 里美 (記事一覧)

クラウドソリューション部

数年前までチキン売ったりドレスショップで働いてました!2022年9月 G-gen にジョイン。ハイキューの映画を4回は見に行きたい。

Google Cloud All Certifications Engineer / Google Cloud Partner Top Engineer 2024




以上の内容はhttps://blog.g-gen.co.jp/entry/cloud-logging-tipsより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14