クエリを実行する

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

トポロジの種類

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

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

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

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

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

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

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

トポロジツール 使用する場面
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. アプリトポロジ API、Cloud Asset Inventory API、Observability API を有効にします。

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

    API を有効にするには、serviceusage.services.enable 権限を含む Service Usage 管理者 IAM ロール(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. [クエリを作成] パネルで、分析するドメインのタブを選択します。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    [元に戻す] をクリックすると変更を元に戻すことができます。[やり直し] をクリックすると、[元に戻す] で元に戻した変更を再適用できます。

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

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

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

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

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

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

トポロジを操作する

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

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

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

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

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

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

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