クエリを実行する

アプリトポロジを使用すると、クエリを実行してデータを関連付け、アプリケーションの健全性、パフォーマンス、セキュリティ ポスチャーに関する質問に答えることができます。

トポロジの種類

アプリトポロジは、プロジェクト内の Google Cloud リソースのクエリと、プロジェクトまたはアプリ対応フォルダ内の Google Cloud App Hub アプリケーション のクエリをサポートしています。フォルダに App Hub アプリケーションを作成すると、アプリトポロジでクエリを実行するときに、そのフォルダ内のプロジェクト間でリソースの関係を表示できます。

Cloud Hub では、アプリトポロジ は特定の種類の質問に対して複数のドメインを提供します。各ドメインでは、特定の基盤となるデータセットに対してクエリを実行できます。

  • 健全性とトラブルシューティング - サイト信頼性エンジニア(SRE)や、サービスのランタイムの健全性と信頼性に重点を置くその他のユーザー向け。デプロイ イベントの未解決のアラートを表示し、アプリケーション コンポーネントまたはエージェント リソース間のトラフィックを分析できます。

  • デプロイ - ソフトウェア サプライ チェーンとインフラストラクチャ構成を管理する DevOps エンジニア向け。既知の脆弱性についてビルド アーティファクトをデプロイ前に確認し、ソースコードから本番環境までの出所を追跡できます。

  • セキュリティ - アクセス、脆弱性、ソフトウェア サプライ チェーンのリスクを監査するセキュリティ エンジニアとマネージャー向け。アクセス パスを調べて、脆弱性の影響を受ける実行中のサービスとインフラストラクチャを特定できます。

App Topology には、 の他の領域での特定の 用途に焦点を当てたトポロジグラフも用意されています Google Cloud.

次の表を参考にして、使用するトポロジツールを決定してください。

トポロジツール 使用する場面
App Topology API エージェントはアプリトポロジ MCP サーバーを使用して、リソースデータをクエリして関連付けることができます。
アプリトポロジ Cloud Hub の オブザーバビリティ、セキュリティ、 デプロイの各ドメインでデータ関係を分析します。
  • アプリケーション別にグループ化された App Hub のサービスとワークロードを表示する
  • 事前定義されたクエリを使用するか、独自のクエリを作成する
  • 個々のプロジェクトとアプリ対応フォルダのデータを表示する
アプリケーション トポロジ Cloud Monitoring テレメトリーに基づいて、トラフィック、レイテンシ、 サービス依存関係などのリアルタイムのオブザーバビリティ データを表示します。
  • アプリケーション別にグループ化された App Hub のサービスとワークロードを表示する
  • 検出されたサービスとワークロードを登録する
  • アプリケーションのパフォーマンスとトラフィックに焦点を当てたビューを提供する
  • 個々のプロジェクトとアプリ対応フォルダのデータを表示する
エージェント トポロジ エージェントと管理ツール間の接続など、エージェント ベースのシステムのインフラストラクチャと接続を表示します。
  • 提供されたクエリを使用するか、Cloud Hub で変更された事前定義クエリを実行する
  • 個々のプロジェクトのデータのみを表示する

始める前に

  1. 設定する Google Cloud プロジェクトを特定します。

    • Security Command Center が提供するセキュリティとコンプライアンスのデータは、 組織 Google Cloud 内のプロジェクトとアプリケーションでのみ使用できます。プロジェクトを組織に 移行する場合は、 移行手順をご覧ください。
    • App Hub アプリケーションのアプリ対応フォルダを設定する場合は、フォルダの管理プロジェクトで、これらの 手順で説明されている API を有効にして権限を付与します。
  2. ビルドの来歴などのソフトウェア サプライ チェーンのデータを表示するには、 Developer Connect の分析情報を構成します

  3. アプリトポロジ、Cloud Asset Inventory、Observability の各 API を有効にします。

    API を有効にするために必要なロール

    API を有効にするには、serviceusage.services.enable 権限が必要です。プロジェクトを作成した場合は、オーナーロール(roles/owner)を通じてこの権限が付与されている可能性があります。それ以外の場合は、Service Usage 管理者ロール(roles/serviceusage.serviceUsageAdmin)を通じてこの権限を取得できます。ロールを付与する方法をご覧ください

    API を有効にする

  4. 省略可: エージェント トラフィックを表示するには、 AI アプリケーションをインストルメントします

  5. 省略可: セキュリティとコンプライアンスのデータ用に Security Command Center を設定します。 組織レベルで Security Command Center を有効にして 、使用する機能を構成します。Security Command Center からのデータのクエリは、 Premium ティアと Enterprise ティアでのみ使用できます。

  6. 権限を付与して、ユーザーがデータをクエリし、トポロジ グラフを表示できるようにします。

  7. VPC Service Controls の境界内でサービスを保護している場合は、境界を更新して、アプリトポロジと基盤となるデータを提供するサービスを含めます。詳細

必要なロール

Cloud Hub オペレーター ロールには、Cloud Hub のすべてのドメインのデータと 他の Google Cloud トポロジのデータを表示するために必要な権限が含まれています。

アプリトポロジのすべてのドメインをクエリするために必要な権限を取得するには、リソースを含むプロジェクトまたはアプリケーションの管理プロジェクトに対するCloud Hub オペレーター roles/cloudhub.operator)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

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

クエリについて

アプリトポロジ クエリは、いくつかのコンポーネントで構成されています。

  • ノード - 検出された Google Cloud リソースまたは App Hub アプリケーションに登録された リソース。ノードの例を次に示します。

    • Compute Engine VM
    • Artifact Registry のコンテナ イメージ
    • エージェント
    • アラート(Cloud Monitoring のインシデント
    • App Hub アプリケーション、サービス、ワークロード
    • 脆弱性

    クエリビルダーは、ノードをサービスごとにグループ化します。

  • WHERE 句: ノードに適用され、ノードの特定のプロパティに基づいて クエリを絞り込むフィルタ。

  • 接続: 2 つのノード間の方向性のある関係。接続はコンテキストを認識し、選択したノードタイプに対して有効な関係のみが使用できます。次に例を示します。

    • contained in
    • sends traffic to
    • owns
    • depends on

次のクエリの例では、 特定の脆弱性を持つデプロイを検索します。

さまざまなコンポーネントを使用したクエリの例
さまざまなコンポーネントを使用したクエリの例

このクエリでは、調査のキーノードを確立します: - K8s Apps Deployment - Google Kubernetes Engine(GKE)のデプロイ - Docker Image - Artifact Registry に保存されているコンテナ イメージ - Vulnerability

接続 containscontained in は、ノードの関係を示します。

  • K8s Apps Deployment contains Vulnerability
  • Vulnerability contained in Docker Image

WHERE 句は、脆弱性の結果をフィルタして特定の CVE を表示します。

  • Where Id = CVE-2026-24061

制限事項

利用できるデータ:

  • Google Cloud Observability は、すべての App Hub サービスとワークロードのテレメトリーをサポートしていません。サポートされているインフラストラクチャ リソースの一覧については、アプリケーションのモニタリングでサポートされているインフラストラクチャをご覧ください。
  • App Hub アプリケーションのトポロジを表示する場合、アプリケーション間で共有できるリソースは可視化に含まれません。
  • Developer Connect の分析情報イベントを削除しても、そのイベントがアプリトポロジのクエリ結果に数日間表示されることがあります。

プロジェクトの Google Cloud ロケーション:

  • Security Command Center が提供するセキュリティとコンプライアンスのデータは、 組織 Google Cloud 内のプロジェクトとアプリケーションでのみ使用できます。

クエリの実行

事前定義されたクエリを使用したり、事前定義されたクエリを変更したり、カスタムクエリを作成したりできます。

候補のクエリを使用またはカスタマイズする

アプリトポロジには、変更せずに使用できるクエリの候補が用意されています。また、特定の要件に合わせてカスタマイズすることもできます。

  1. Google Cloud コンソールで、[アプリトポロジ] ページに移動します。

    [アプリトポロジ] に移動

  2. In the [**クエリを作成**] パネルで、調べる ドメイン のタブを選択します。

  3. [クイック クエリ] でクエリをクリックすると、クエリ コンポーネントのプレビューが表示されます。

  4. クエリを使用するには、[候補を使用] をクリックします。クエリが [表示] セクションに表示されます。

  5. 必要に応じて、エディタでクエリの詳細を変更します。

    • クエリにコンポーネントを追加するには、ノードの横にあるプラスアイコン ()をクリックします。
    • コンポーネントを削除するには、閉じるアイコン をクリックします。
    • Where 句の値を変更するには、値をクリックします。

    [元に戻す] をクリックして変更を元に戻すか、[やり直し] をクリックして [元に戻す]で元に戻した変更を再度適用できます。

    クエリを作成すると、使用可能なノード、フィルタ、接続が更新されます。

    たとえば、[Kubernetes デプロイの脆弱性] を選択した場合、コンポーネントは次のようになります。

    Application
      contains Workload
        depends on K8s Apps Deployment
           contains Vulnerability
              Where Id = Empty value
    

    クエリを使用するには、Empty valueCVE-2026-24061 などの CVE ID に置き換えて、検索する脆弱性を指定する必要があります。

    別の方法として、特定の脆弱性を持つ Docker イメージを含むすべてのアプリケーション ワークロードを検索するようにクエリを変更することもできます。

    Application
      contains Workload
        contains Deployment Event
          contains artifact Docker Image
            contains Vulnerability
              Where Id = CVE-2026-24061
    
  6. クエリの編集が完了したら、[クエリを実行] をクリックします。クエリの結果に、 検出されたリソース Google Cloud または App Hub アプリケーションに登録されたリソースが含まれている場合は、トポロジグラフが 表示されます。

    文字列やカウントなどのデータ型のみを含むクエリ結果では、グラフは使用できません。

    結果に基づいてクエリを編集し、[クエリを実行] をクリックしてトポロジグラフを更新できます。

    結果がない場合は、クエリを絞り込んでみてください

  7. トポロジを操作して、リソースとその関係について学習します。

カスタムクエリを作成する

カスタムクエリを作成するには、次の手順で新しいクエリを開始するか、 既存の候補クエリをカスタマイズします。

  1. Google Cloud コンソールで、[アプリトポロジ] ページに移動します。

    [アプリトポロジ] に移動

  2. In the [**クエリを作成**] パネルで、調べる ドメイン のタブを選択します。

  3. [**表示**] セクションで、 をクリックし、クエリのプライマリ ノードとしてリソースまたは検出結果を選択し、[**続行**] をクリックします。

  4. クエリを絞り込むには、フィルタまたは接続の切り替えをクリックして、選択したノードで有効にします。有効にする各フィルタの値を定義します。

  5. クエリにさらに変更を加えるには、コンポーネントを追加、編集、削除します。

    • クエリにコンポーネントを追加するには、ノードの横にあるプラスアイコン ()をクリックします。
    • コンポーネントを削除するには、閉じるアイコン をクリックします。
    • Where 句の値を変更するには、値をクリックします。

    [元に戻す] をクリックして変更を元に戻すか、[やり直し] をクリックして [元に戻す] で元に戻した変更を再度適用できます。

    クエリを作成すると、使用可能なノード、フィルタ、接続が更新されます。

  6. クエリの編集が完了したら、[クエリを実行] をクリックします。クエリの結果に、 検出されたリソースまたは Google Cloud App Hub アプリケーションに登録されたリソースが含まれている場合は、トポロジグラフが 表示されます。

    文字列やカウントなどのデータ型のみを含むクエリ結果では、グラフは使用できません。

    結果に基づいてクエリを編集し、[クエリを実行] をクリックしてトポロジグラフを更新できます。

    結果がない場合は、クエリを絞り込んでみてください

  7. トポロジを操作して、リソースとその関係について学習します。

トポロジを操作する

[グラフ] タブのトポロジグラフには、リソースとその 関係が ノードと接続として表示されます。

  • アイコンはノードを表します。これには、検出されたリソースと登録されたリソースが含まれます。
  • 線は接続を表します。これはノード間の関係です。

ノードが選択されたトポロジ グラフの例

トポロジは次の方法で操作できます。

  • 拡大、縮小、ノードの再配置を行って、可視化を変更します。
  • 2 つのノード間の接続線にカーソルを合わせると、接続のラベルが表示されます。
  • ノードまたは接続を選択して、その情報を取得します。
  • [パネルの切り替え] をクリックして、クエリパネルの表示 / 非表示を切り替えます。

クエリ結果をテーブルで表示するには、[テーブル] タブをクリックします。データの表示方法は、次の方法で変更できます。

  • テーブルに表示する列を選択するには、 [列の表示オプション] をクリックします。
  • 特定のプロパティのテーブルをフィルタするには、[フィルタ] フィールドでプロパティを選択します。
  • 各列を昇順または降順で並べ替えることもできます。