プロジェクトがトレースデータを受信する前に _Trace オブザーバビリティ バケットを手動で作成して、ストレージ ロケーションと顧客管理の暗号鍵(CMEK)の設定をカスタマイズできます。このバケットが存在する前に Google Cloud プロジェクトがトレースデータを取り込むと、Google Cloud Observability は、プロジェクトのオブザーバビリティ バケットのデフォルト設定を使用してバケットを自動的にプロビジョニングします。
Google Cloud Observability がデータを保存する方法については、 ストレージの概要をご覧ください。
組織のポリシーとの連携
オブザーバビリティ バケットを作成するリクエストは、コマンド パラメータが組織のポリシーに準拠していることを確認します。たとえば、組織のポリシーでリソース ロケーションが制限されている場合、制限されたロケーションを指定するとバケットの作成に失敗します。
オブザーバビリティ バケットのデフォルト設定との連携
Google Cloud Observability は、データの取り込みによりオブザーバビリティ バケットを自動的に作成するときに、バケットの親リソースに適用されるオブザーバビリティ バケットのデフォルト設定を使用します。これらのデフォルト設定は、親または親の階層祖先で定義され、次の項目を指定します。
- ストレージ ロケーション。
- 保存されたデータに使用する Cloud KMS 鍵。
オブザーバビリティ バケットを作成するときは、ロケーションを指定する必要があります 。 作成リクエストで別の鍵を明示的に指定しない限り、Google Cloud Observability はデフォルト設定で定義された Cloud KMS 鍵を適用します。
適用可能なデフォルト設定で Cloud KMS 鍵が指定されている場合、Google デフォルトの暗号化でバケットを作成することはできません。Google デフォルトの暗号化を使用するには、デフォルト設定で Cloud KMS 鍵が構成されていないことを確認してください。
オブザーバビリティ バケットのデフォルト設定については、 オブザーバビリティ バケットのデフォルトを設定するをご覧ください。
制限事項
次の制限が適用されます。
- サポートされているロケーションを指定する必要があります 。
- BUCKET_ID は
_Traceとする必要があります。 - 表示名は 100 エンコード バイト以内にしてください。
- 説明は 1,000 エンコード バイト以内にしてください。
- データは 30 日間保存されます。保持期間を省略するか、
30に設定する必要があります。 - Cloud KMS 鍵を指定する場合、鍵のロケーションはオブザーバビリティ バケットの親ロケーションと完全に一致する必要があります。
- オブザーバビリティ バケットは Google Cloud プロジェクトでのみ作成できます。
- プロジェクト Google Cloud に含めることができるオブザーバビリティ バケットは、
_Traceという名前のバケットが 1 つまでです。
始める前に
プロジェクトと IAM ロールを構成し、使用するインターフェースを選択します。
プロジェクトとロールを構成する
- アカウントに Google Cloud ログインします。 を初めて使用する場合は、 Google Cloud、 アカウントを作成して、 実際のシナリオでプロダクトがどのように機能するかを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイに利用できる $300 分の無料クレジットも提供されます。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Observability API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Observability API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
オブザーバビリティ バケットの作成に必要な権限を取得するには、プロジェクトに対するオブザーバビリティ編集者 (
roles/observability.editor)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。
インターフェースを構成する
gcloud
コンソール Google Cloud で Cloud Shell をアクティブにします。
コンソールの下部にある Google Cloud Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です 。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています 。セッションが初期化されるまで数秒かかることがあります。
REST
このページの REST API サンプルをローカル開発環境で使用するには、 gcloud CLI に指定した認証情報を使用します。
Google Cloud CLI をインストールします。
外部 ID プロバイダ(IdP)を使用している場合は、まず フェデレーション ID を使用して gcloud CLI にログインする必要があります。
詳細については、 REST を使用して認証する 認証ドキュメントの Google Cloud をご覧ください。
Cloud KMS 鍵を構成する
省略可。オブザーバビリティ バケットを作成して Cloud KMS 鍵を指定する場合は、次の操作を行います。
-
Cloud Key Management Service API を有効にします。
API を有効にするために必要なロール
API を有効にするには、
serviceusage.services.enable権限が必要です。プロジェクトを作成した場合は、オーナーロール(roles/owner)を介してこの権限が付与されている可能性があります。それ以外の場合は、Service Usage 管理者ロール(roles/serviceusage.serviceUsageAdmin)を介してこの権限を取得できます。ロールを付与する方法をご覧ください。 -
オブザーバビリティ バケットのロケーションは、鍵のロケーションと一致している必要があります。
PROJECT_ID をプロジェクトの ID に置き換えて、次の コマンドを実行します。
gcloud beta observability settings describe \ --location=global --project=PROJECT_ID上記のコマンドは、デフォルトのストレージ ロケーションが構成されているかどうかを確認します。また、Google Cloud Observability サービス アカウントが存在しない場合は、そのアカウントを作成します。コマンドのレスポンスには、サービス アカウントの ID が表示されます。
Google Cloud Observability サービス アカウントに Cloud KMS CryptoKey の暗号化/復号 のロールを付与します。
gcloud kms keys add-iam-policy-binding \ --project=KMS_PROJECT_ID \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-observability.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter \ --location=KMS_KEY_LOCATION \ --keyring=KMS_KEY_RING \ KMS_KEY_NAME上記のコマンドを実行する前に、次のように置き換えます。
- KMS_PROJECT_ID: Cloud KMS を実行している プロジェクトの一意の英数字の ID で、 Google Cloud プロジェクト名とランダムに割り当てられた 番号で構成されます。 Google Cloud この ID を取得する方法については、 プロジェクトの識別をご覧ください。
- service-PROJECT_NUMBER: 前の手順のレスポンスに表示されたオブザーバビリティ サービス アカウントの名前。
- KMS_KEY_LOCATION: Cloud KMS 鍵のリージョン。
- KMS_KEY_RING: Cloud KMS キーリングの名前。
- KMS_KEY_NAME: Cloud KMS 鍵の名前。次のような形式になります。
projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KMS_KEY_RING/cryptoKeys/KEY
オブザーバビリティ バケットを作成する
REST
オブザーバビリティ バケットを作成するには、
projects.locations.buckets.create にリクエストを送信します。
次の形式の parent パラメータを指定する必要があります。
projects/PROJECT_ID/locations/LOCATION
上記の式のフィールドの意味は次のとおりです。
- PROJECT_ID: プロジェクトの ID。
- LOCATION: オブザーバビリティ バケットのロケーション。
リクエストの本文は Bucket オブジェクトです。次のフィールドに値を入力します。
name: このフィールドを次のように設定します。projects/PROJECT_ID/locations/LOCATION/buckets/_Trace省略可:
displayNameフィールドとdescriptionフィールドに値を指定します。省略可: CMEK を指定します。指定すると、この鍵で保存されたデータが暗号化されます。
CMEK を指定しない場合、バケットの親リソースに適用されるデフォルト設定によって暗号鍵が決まります。デフォルト設定で Cloud KMS 鍵が指定されている場合、その鍵で保存されたデータが暗号化されます。それ以外の場合は、Google デフォルトの暗号化が使用されます。
レスポンスは Operation オブジェクトです。
projects.locations.operations.get
メソッドを、Operation.done フィールドが true に設定されるまでポーリングします。Operation 構造体の他のフィールドには、リクエストの成功または失敗に関する情報が記載されます。
オブザーバビリティ バケットを一覧表示する
オブザーバビリティ バケットを一覧表示して、作成リクエストが正常に完了したことを確認できます。
このセクションでは、オブザーバビリティ バケットを一覧表示する方法について説明します。オブザーバビリティ バケットは、データを保存するデータセットの管理エンティティです。
gcloud
後述のコマンドデータを使用する前に、 次のように置き換えます。
- LOCATION: オブザーバビリティ バケットのロケーション。ロケーションに関係なくすべてのオブザーバビリティ バケットを一覧表示するには、ロケーションをハイフン(
-)に設定します。 - PROJECT_ID: プロジェクトの ID。
gcloud beta observability buckets list
コマンドを実行します。
Linux、macOS、Cloud Shell
gcloud beta observability buckets list \ --location=LOCATION --project=PROJECT_ID
Windows(PowerShell)
gcloud beta observability buckets list ` --location=LOCATION --project=PROJECT_ID
Windows(cmd.exe)
gcloud beta observability buckets list ^ --location=LOCATION --project=PROJECT_ID
レスポンスには、各オブザーバビリティ バケットの名前、説明、作成時刻が表示されます。 コマンドが成功した場合のレスポンスの例を次に示します。
--- createTime: '2026-01-21T21:39:22.381083860Z' description: Bucket for storing spans from Cloud Trace. name: projects/my-project/locations/us/buckets/_Trace
REST
プロジェクト内の特定の
ロケーションにあるオブザーバビリティ バケットを一覧表示するには、
projects.locations.buckets.list メソッドを使用します。
次の形式の parent パラメータを指定する必要があります。
projects/PROJECT_ID/locations/LOCATION
上記の式のフィールドの意味は次のとおりです。
- PROJECT_ID: プロジェクトの ID。
- LOCATION: オブザーバビリティ バケットのロケーション。
LOCATION をハイフン
(-)に設定すると、プロジェクト内のすべてのオブザーバビリティ バケット が一覧表示されます。
レスポンスは
Bucket オブジェクトの配列です。各オブジェクトの name フィールドの値は次の形式になります。
projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID
レスポンスのサンプルを次に示します。
{
"buckets": [
{
"name": "projects/my-project/locations/us/buckets/_Trace",
"description": "Trace Bucket",
"createTime": "2025-01-01T15:42:30.988919645Z",
"updateTime": "2025-02-04T15:42:30.988919645Z",
"retentionDays": 30
}
]
}
Observability API を使用すると、 ID が BUCKET_ID のバケットに関する詳細情報を取得できます。たとえば、そのバケットのデータセット、各データセットのビューとリンクを一覧表示できます。詳細については、 Observability API リファレンス ドキュメントをご覧ください。
次のステップ
オブザーバビリティ バケットのデフォルトを設定する: オブザーバビリティ バケットの デフォルトのストレージ ロケーションとデフォルトの 顧客管理の暗号鍵(CMEK)を構成します。