複数のプロジェクトにわたるトレースの表示

このドキュメントでは、単一のコンテキストから 1 つのトレースにすべてのスパンを表示する方法について説明します。これは、これらのスパンが 1 つの組織内の異なる Google Cloud プロジェクトに保存されたアプリケーションによって生成された場合になります。

AB という Google Cloud プロジェクトがあるケースで考えてみましょう。プロジェクト A によってホストされているアプリケーションにプロジェクト B が呼び出しを行うとします。Google Cloud Console を開いてプロジェクト A を選択すると、プロジェクト A によってホストされているアプリケーションが生成したトレーススパンしか表示できません。デフォルトの構成では、プロジェクト B がプロジェクト A に呼び出しを行うときに生成されるトレーススパンは表示されません。

プロジェクト B がプロジェクト A のコンテキストからプロジェクト A に呼び出しを行うときに生成されたトレーススパンを表示するには、Trace のプロジェクト間機能を使用します。この機能を使用すると、プロジェクト A のトレースデータを表示するときに、プロジェクト B がプロジェクト A に呼び出しを行うときに生成されたスパンも表示できます。

プロジェクト、権限、アプリケーションを構成する

次の構成手順を行います。

  1. 各 Google Cloud プロジェクトを同じ組織に関連付けます。

    • 組織のコンテキストで新しいプロジェクトを作成する場合、組織リソースの下にプロジェクトが自動的に作成されます。

    • 組織の一部ではない Google Cloud プロジェクトがある場合は、そのプロジェクトを組織内に移動できます。詳細については、既存のプロジェクトを移行するをご覧ください。

  2. 複数のプロジェクトにわたるトレースを表示するために必要な権限を取得するには、プロジェクトまたは組織に対する次の IAM ロールを付与するよう管理者に依頼してください。

    • 各プロジェクトの Cloud Trace ユーザー(roles/cloudtrace.user)。
    • 各プロジェクトのログ閲覧者(roles/logging.viewer)。
    • 組織の組織閲覧者(roles/resourcemanager.organizationViewer)。プロジェクト セレクタに組織のリストが含まれている場合、このロールが付与されています。

    ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

    必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

  3. ホストされているプロジェクトにトレースを書き込むようにアプリケーションを構成します。

    プロジェクト間のリクエストを強制的にトレースするには、リクエストにトレース コンテキスト ヘッダーを追加します。

プロジェクト間のトレースの詳細を表示する

構成手順の完了後に、複数の Google Cloud プロジェクトのトレースを表示するには、次の操作を行います。

  1. Google Cloud コンソールで、[Trace エクスプローラ] ページに移動します。

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

    このページは、検索バーを使用して見つけることもできます。

    トレースデータを表示する予定のプロジェクトを選択します。たとえば、プロジェクト A を選択します。

    [Trace エクスプローラ] ページが開き、最新のトレースを示す散布図とテーブルが表示されます。

  2. 特定のトレースを調査するには、散布図またはテーブルからトレースを選択するか、[トレース ID] フィールドにその ID を入力します。

    [トレース詳細] ペインが開き、表示権限のあるすべてのスパンが表示されます。これらのスパンが同じ組織内の異なる Google Cloud プロジェクトにある場合でも同様です。

次のステップ