このドキュメントでは、組織内の異なる Google Cloud プロジェクトに保存されているアプリケーションによってスパンが生成される場合に、1 つのコンテキストからトレースのすべてのスパンを表示する方法について説明します。
A
と B
という Google Cloud プロジェクトがあるケースで考えてみましょう。プロジェクト A
によってホストされているアプリケーションにプロジェクト B
が呼び出しを行うとします。Google Cloud Console を開いてプロジェクト A
を選択すると、プロジェクト A
によってホストされているアプリケーションが生成したトレーススパンしか表示できません。デフォルトの構成では、プロジェクト B
がプロジェクト A
に呼び出しを行うときに生成されるトレーススパンは表示されません。
プロジェクト B
がプロジェクト A
のコンテキストからプロジェクト A
に呼び出しを行うときに生成されたトレーススパンを表示するには、Trace のプロジェクト間機能を使用します。この機能を使用すると、プロジェクト A
のトレースデータを表示するときに、プロジェクト B
がプロジェクト A
に呼び出しを行うときに生成されたスパンも表示できます。
プロジェクト、権限、アプリケーションを構成する
次の構成手順を行います。
各 Google Cloud プロジェクトを同じ組織に関連付けます。
組織のコンテキストで新しいプロジェクトを作成する場合、組織リソースの下にプロジェクトが自動的に作成されます。
組織の一部ではない Google Cloud プロジェクトがある場合は、そのプロジェクトを組織内に移動できます。詳細については、既存のプロジェクトを移行するをご覧ください。
-
複数のプロジェクトにわたるトレースを表示するために必要な権限を取得するには、プロジェクトまたは組織に対する次の IAM ロールを付与するよう管理者に依頼してください。
-
各プロジェクトの Cloud Trace ユーザー(
roles/cloudtrace.user
)。 -
各プロジェクトのログ閲覧者(
roles/logging.viewer
)。 -
組織の組織閲覧者(
roles/resourcemanager.organizationViewer
)。プロジェクト セレクタに組織のリストが含まれている場合、このロールが付与されています。
ロールの付与の詳細については、アクセスの管理をご覧ください。
-
各プロジェクトの Cloud Trace ユーザー(
ホストされているプロジェクトにトレースを書き込むようにアプリケーションを構成します。
プロジェクト間のリクエストを強制的にトレースするには、リクエストにトレース コンテキスト ヘッダーを追加します。
プロジェクト間のトレースの詳細を表示する
構成手順を完了した後、Google Cloud プロジェクト全体のトレースを表示するには、次のようにします。
-
Google Cloud コンソールで、[Trace エクスプローラ] ページに移動します。
このページは、検索バーを使用しても確認できます。
トレースデータを表示するプロジェクトを選択します。たとえば、プロジェクト
A
を選択します。[Trace エクスプローラ] ページが開き、最新のトレースを示す散布図とテーブルが表示されます。
特定のトレースを調査するには、散布図またはテーブルからトレースを選択するか、[トレース ID] フィールドにその ID を入力します。
[トレースの詳細] ペインが開き、表示権限のあるすべてのスパンが表示されます。スパンが同じ組織内にある別の Google Cloud プロジェクトにある場合でも同様です。