ログのリージョナライズ

このドキュメントでは、_Default シンクを使用して特定のリージョンにある Cloud Logging バケットにログエントリをルーティングする方法について説明します。サポートされているリージョンの一覧については、ロケーションをご覧ください。

組織またはフォルダのデフォルト設定を構成することで、新しい _Default バケットと _Required バケットのデフォルトのストレージのロケーションを設定することもできます。詳細については、デフォルトのストレージのロケーションを設定するをご覧ください。

このガイドでは、すべてのログを europe-west1 リージョンにリダイレクトする例を使用してこのプロセスを説明します。このプロセスには、次のステップが含まれます。

  1. ログを保存するために、指定されたリージョンにログバケットを作成します。

  2. _Default シンクをリダイレクトして、ログを新しいログバケットに転送します。

  3. Logs Explorer でログを検索します。

  4. (省略可)ログの保持期間を更新します。

概要

Logging では、ログバケットはリージョン リソースです。ログの保存、インデックス登録、検索を行うインフラストラクチャは特定の地理的な場所にあります。Google はそのインフラストラクチャを管理して、アプリケーションがそのリージョン内のゾーン全体で冗長的に利用できるようにします。

組織によっては、ログデータを特定のリージョンに保存しなければならない場合があります。組織のレイテンシ、可用性、またはコンプライアンスの要件を満たしていることが、ログを保存するリージョンを選択する際の主な判断材料になります。ログ ストレージのリージョンを選択するときは、アプリケーションが使用するその他の Google Cloud プロダクトとサービスのロケーションを考慮してください。

主なコンセプト

Cloud Logging のデータ リージョンには、次の主要なコンセプトが適用されます。

ログルーターのロケーション

ログルーターは、Cloud Logging API に書き込まれたすべてのログエントリを処理します。各ログエントリを既存のルールと照合して、どのログエントリを Logging バケットに保存するか、シンクを使用してサポートされている宛先にどのログエントリをルーティングするかを判断します。また、ログを確実に転送するため、ログルーターもログを一時的に保存し、シンクの一時的な中断から保護します。

ログルーターは、ログが受信されたリージョン内でログを処理します。 ログルーターではシンクの定義によって、あるいは Security Command Center Threat Detection など別の Google サービスでログデータを共有することにしている場合は、ログを別のリージョンに送信することがあります。ログシンクは、リージョンに関係なく均等にログに適用されます。

ログバケットのロケーション

ログバケットは、ログデータを保存して整理する Google Cloud プロジェクト、請求先アカウント、フォルダ、組織のコンテナです。

Google Cloud プロジェクト、請求先アカウント、フォルダ、組織ごとに、Logging によって _Required_Default の 2 つのログバケットが自動的に作成されます。これらは global のロケーションに設定されます。既存のバケットのロケーションは変更できません。ただし、組織では、これらのバケットに異なるデフォルトのロケーションを設定するポリシーを作成できます。詳細については、組織のデフォルト設定を構成するをご覧ください。

任意の Google Cloud プロジェクトでユーザー定義のバケットを作成することもできます。ユーザー定義のバケットを作成するときに、ログデータを保存するためのロケーション region を指定できます。バケットを作成した後でロケーションを変更することはできませんが、新しいバケットを作成し、シンクを使用してそのバケットにログを転送することは可能です。バケットのリージョンを設定する方法については、ログをリージョン化するをご覧ください。

Logging では、複数のリージョンのログを一緒にクエリすることができます。その場合、クエリは、クエリ対象のバケットと同じロケーションで処理された後、クエリの受信元であったリージョンに集約されて結果が返されます。

準備

このガイドの手順を完了するには、以下を確認しておく必要があります。

  • どの Google Cloud プロジェクトにログを保存しますか。このガイドでは、logs-test-project という Google Cloud プロジェクトを使用します。

  • ログを保存するログバケットの名前と場所。この例では、バケット名は region-1-logs-bucket、場所は europe-west1 です。

  • 集約対象のログ。この例では、_Default シンクによって転送されたすべてのログを含めます。

サポートされるリージョン

ログバケットを作成する際に、ログの保存先を選択できます。サポートされているリージョンの一覧については、ロケーションをご覧ください。

ログバケットを作成する

ログバケットには、他の Google Cloud プロジェクト、フォルダ、組織から転送されたログが保存されます。詳細については、ログバケットを構成するをご覧ください。

ログを保存する Google Cloud プロジェクトにバケットを作成するには、次の手順を行います。

  1. Google Cloud コンソールに移動するか、次のボタンをクリックします。

    Google Cloud コンソールに移動

  2. ターミナルで次のコマンドを実行してバケットを作成し、太字の部分は実際の情報に置き換えます。

     gcloud logging buckets create region-1-logs-bucket \
       --location=europe-west1 \
       --project=logs-test-project
    
  3. バケットが作成されたことを確認します。

    gcloud logging buckets list --project=logs-test-project
    

_Default ログシンクをリダイレクトする

シンクを作成して、ログをログバケットに転送します。シンクには、このシンクを介してエクスポートするログエントリを選択するフィルタとエクスポート先があります。このガイドでは、既存の _Default シンクを更新して、ログをバケット region-1-logs-bucket に転送します。

シンクを更新するには、次のコマンドを実行し、太字の部分は実際の情報に置き換えます。

gcloud logging sinks update _Default \
  logging.googleapis.com/projects/logs-test-project/locations/europe-west1/buckets/region-1-logs-bucket \
  --log-filter='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")' \
  --description="Updated the _Default sink to route logs to the europe-west1 region"

シンクをテストするためのログエントリを作成する

シンクが正しく更新されたことを確認するには、次の手順に従います。

  1. gcloud logging write コマンドを使用して、テスト ログ メッセージをリージョン化されたバケットに送信し、数分待ちます。次に例を示します。

    gcloud logging write TEST_LOG_NAME "Test to route logs to region-1-logs-bucket" --project=logs-test-project
    
  2. Google Cloud コンソールのナビゲーション パネルで、[ロギング] を選択してから、[ログ エクスプローラ] を選択します。

    [ログ エクスプローラ] に移動

  3. [Log field] ペインで、[グローバル] リソースタイプを選択します。

  4. テストのログエントリが [クエリ結果] パネルに表示されます。

Google Cloud コンソールでログを検索する

前のセクションで権限を設定したら、Google Cloud コンソールに移動し、次の手順を行います。

  1. Google Cloud コンソールのナビゲーション パネルで、[ロギング] を選択してから、[ログ エクスプローラ] を選択します。

    [ログ エクスプローラ] に移動

  2. [範囲を絞り込む] を選択します。

  3. [範囲を絞り込む] パネルで、[ストレージごとのスコープ] を選択します。

  4. [region-1-logs-bucket] を選択します。

  5. [適用] をクリックします。

  6. [ログ エクスプローラ] が更新され、バケットのログが表示されます。

    ログ エクスプローラの使用については、ログ エクスプローラの使用をご覧ください。

(省略可)バケットのログ保持期間を更新する

バケット内のログの保持期間を変更するには、次のコマンドを実行します。

gcloud logging buckets update region-1-logs-bucket \
  --location=europe-west1 --project=logs-test-project \
  --retention-days=14

次のステップ