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