Google Cloud Observability は、Cloud Logging、Cloud Monitoring、Cloud Trace からのテレメトリー データを構造化ストレージ コンテナに保存して整理します。ストレージ モデルを理解すると、データ所在地を構成し、暗号化ポリシーを適用し、テレメトリーを BigQuery などの分析サービスに接続するのに役立ちます。
ログデータ
ログデータは、Logging がログデータの保存に使用するコンテナであるログバケットに保存されます。システムがGoogle Cloud プロジェクト、請求先アカウント、フォルダ、組織を作成すると、Cloud Logging はリソースに _Required と _Default という名前のログバケットを作成します。
ロケーション: Cloud Logging のデフォルトのリソース設定でロケーションが指定されていない限り、Cloud Logging によってこれらのバケットのロケーションが選択されます。バケットの作成後にロケーションを変更することはできません。
暗号化: これらのバケットは、Cloud Logging のデフォルトのリソース設定で顧客管理の暗号鍵(CMEK)が指定されていない限り、Google-owned and Google-managed encryption keys を使用します。バケットの作成後にこの構成を変更することはできません。
デフォルトでは、ログデータはデータの生成元の Google Cloud プロジェクト、請求先アカウント、フォルダ、組織に保存されます。ただし、Logging を構成して、ログデータをその生成元のリソースから別のプロジェクトや一元化されたログバケットなどの別の場所に転送できます。詳細については、ログエントリを保存するとログエントリを転送するをご覧ください。
Cloud Logging では、ログデータをリージョン化できます。
- 組織のポリシーでは、新しいログバケットのロケーションを制限し、ログバケットで CMEK を使用することを要求できます。
組織とフォルダの場合、Cloud Logging のデフォルトのリソース設定を使用すると、次の構成を行うことができます。
- 新しい
_Requiredログバケットと_Defaultログバケットのロケーション - ログデータを暗号化するための Cloud Key Management Service 鍵
- デフォルト シンクの構成
リソース階層の下位にあるリソースは、デフォルトのリソース設定も構成しない限り、これらの設定を自動的に継承します。たとえば、組織の Cloud Logging のデフォルトのリソース設定を構成すると、組織のリソース階層内のすべてのフォルダとプロジェクトが自動的にその設定を継承します。ただし、その組織のフォルダに Cloud Logging のデフォルトのリソース設定を設定すると、フォルダレベルの設定が使用されます。
Cloud Logging のデフォルトのリソース設定は、既存のリソースではなく、新しいリソースにのみ適用されます。詳細については、Cloud Logging のデフォルトのリソース設定を構成するをご覧ください。
- 新しい
指標データ
指標データは、データの生成元の Google Cloud プロジェクトに存在します。
ストレージ ポリシーについては、Monitoring のデータ所在地をご覧ください。
トレース データ
トレースデータは、_Trace という名前のオブザーバビリティ バケットによって管理されるデータセットに保存されます。データセットを保持するには、_Trace バケットが存在している必要があります。_Trace バケットは自動または手動で作成できます。
自動作成: アプリケーションまたは Google Cloud サービスからトレース データを受信すると、システムがバケットを自動的に作成します。システムは、オブザーバビリティ バケットに適用可能なデフォルト設定を使用して、バケットのロケーションと暗号鍵を決定します。デフォルト設定を定義していない場合、システムはサポートされているロケーションを選択し、バケットは Google のデフォルトの暗号化を使用します。
Cloud Run functions、Cloud Run、App Engine で生成されたトレースデータによって、システムがオブザーバビリティ バケットを作成することはありません。これらのサービスの Span は、オブザーバビリティ バケットが存在する場合にのみ保存されます。
手動作成: Observability API を使用して、 Google Cloud プロジェクトがトレースデータを受信する前に
_Traceバケットを作成できます。バケットのロケーションを指定する必要があります。Cloud Key Management Service 鍵を指定できます。- 鍵を指定すると、システムはその鍵を使用して保存データを暗号化します。
- Cloud KMS 鍵を指定しない場合、バケットの親リソースに適用されるデフォルト設定によって暗号鍵が決まります。デフォルト設定で Cloud KMS 鍵が指定されている場合、その鍵によって保存されたデータが暗号化されます。それ以外の場合は、Google のデフォルトの暗号化が使用されます。
_Trace バケットが作成されると、システムはバケット用に Spans という名前のデータセットと、データセットに _AllSpans という名前のビューも作成します。このビューには、データセット内のすべてのデータが含まれます。
詳しくは以下をご覧ください。
オブザーバビリティ ストレージ モデル
Observability API のストレージ モデルは、次のアーキテクチャに依存しています。
- オブザーバビリティ バケット
- オブザーバビリティ バケットは、データを保存するデータセットの管理エンティティです。オブザーバビリティ バケットは特定の場所にあり、データ保持ポリシーが設定されています。 Google Cloud サービスが Observability API を使用してデータを保存すると、システムはサービス名に基づいてオブザーバビリティ バケット、データを保存するデータセット、保存されたデータへの読み取りアクセスを提供するビューを作成します。たとえば、Cloud Trace サービスの場合、システムが作成したバケットの名前は
_Trace、データセットの名前はSpans、ビューの名前は_AllSpansになります。オブザーバビリティ バケットの構造については、Bucketをご覧ください。 - データセット
- データセットはデータを保存します。システムは、オブザーバビリティ バケットを作成するときに、データセットを管理するデータセットを 1 つ自動的に作成します。たとえば、システムが
_Traceバケットを作成すると、トレースデータを保存するSpansという名前のデータセットも作成されます。データセットの構造については、Datasetをご覧ください。 - データセットのビュー
- 各データセットは 1 つ以上のビューをホストします。ビューは、データセット内のエントリのサブセットに対する読み取りアクセス権を提供します。データセットを作成すると、ビューが 1 つ作成されます。このビューには、データセット内のすべてのデータが含まれます。ビューの名前はサービスによって異なります。たとえば、Cloud Trace サービスの場合、システムは
Spansデータセットに_AllSpansという名前のビューを作成します。ビューの構造については、Viewをご覧ください。 - データセットのリンク
各データセットに含めることができるリンクは 1 つだけです。データセットのリンクを作成すると、リンクされた BigQuery データセットが作成されます。その後、BigQuery または BigQuery API を使用する他のサービスを使用して、データセット内のデータをクエリできます。リンクの構造については、
Linkをご覧ください。システムはデータセットにリンクを自動的に作成しません。
たとえば、トレースデータは _Trace オブザーバビリティ バケット内の Spans データセットにあります。システムは、保存されているすべてのスパンを含む _AllSpans ビューをこのデータセットに作成します。
オブザーバビリティ バケットのデータ所在地
特定の場所にデータを保存する、または顧客管理の暗号鍵(CMEK)を使用するためのコンプライアンス要件や規制要件がある場合は、組織のポリシーとオブザーバビリティ バケットのデフォルト設定の両方を構成することをおすすめします。
組織、フォルダ、プロジェクトのオブザーバビリティ バケットのデフォルト設定では、次の構成を行うことができます。
- デフォルトのストレージ ロケーション。
- 各ロケーションのデフォルトの Cloud Key Management Service 鍵。
システムがデフォルト設定を使用する方法は 2 つあります。
システムがオブザーバビリティ バケットを自動的に作成するときに、デフォルト設定を使用してバケットのロケーションと暗号鍵を決定します。デフォルト設定を定義していない場合、システムはロケーションを選択し、バケットは Google のデフォルトの暗号化を使用します。
API リクエストを発行してオブザーバビリティ バケットの作成を開始するときに、ロケーションを指定します。ただし、API リクエストの引数で鍵が指定されていない限り、デフォルト設定で定義された Cloud KMS 鍵が自動的に使用されてデータが暗号化されます。
オブザーバビリティ バケットの親は常にプロジェクトであるため、バケットを作成すると、システムはまずプロジェクト レベルのデフォルト設定を検索します。存在しない場合は、親の祖先からデフォルト設定を検索します。たとえば、フォルダのデフォルト設定を定義すると、その設定は、デフォルト設定が構成されている子孫を除き、フォルダの子孫に適用されます。
組織のポリシーを使用して、新しいオブザーバビリティ バケットのロケーションを制限したり、CMEK の使用を要求したり、暗号化に使用できる Cloud KMS 鍵を制限することもできます。CMEK の使用を必須とする組織のポリシーを構成する場合は、オブザーバビリティ バケットのデフォルト設定を構成する必要があります。構成しないと、システムによって作成されたオブザーバビリティ バケットのプロビジョニングが失敗します。
詳細については、オブザーバビリティ バケットのデフォルトを設定するをご覧ください。制限事項
次のことはできません。
- オブザーバビリティ バケットを変更または削除します。
- データセットを作成、削除、変更します。
- ビューの作成、削除、変更を行います。
- Google Cloud コンソールを使用して、バケット、データセット、ビュー、またはリンクを一覧表示します。