単一のプロジェクトを設定する

このドキュメントでは、アプリケーションを管理するための単一の Google Cloud プロジェクトを設定する方法について説明します。この構成は、単一プロジェクト境界とも呼ばれます。

この設定では、 Google Cloud プロジェクトは、独自のアプリケーションとコンポーネントを管理するように構成され、スタンドアロンの管理プロジェクトとして機能します。このアプローチは、すべてのアプリケーション コンポーネントがこの単一のプロジェクト内に存在する場合に、アプリケーションの管理を開始する最も迅速な方法です。App Hub は、プロジェクト内のサポートされているすべてのリソースを自動的に検出し、アプリケーションに整理できるようにします。

制限事項

単一プロジェクトの境界は、フォルダレベルの境界とは異なる機能がサポートされています。App Hub、Application Design Center、Application Monitoring は単一プロジェクトを完全にサポートしていますが、Cloud Hub や Gemini Cloud Assist などの他のアプリケーション中心の Google Cloud サービスでは、フォルダレベルの境界が必要です。

単一プロジェクト モデルとフォルダレベル モデルの機能サポートの比較については、境界タイプ別の機能サポートをご覧ください。

始める前に

アプリケーションの管理に使用する Google Cloud プロジェクトを選択します。このプロジェクトは、スタンドアロンの管理プロジェクトとして機能します。既存のプロジェクトを使用することも、新しいプロジェクトを作成することもできます。

必要なロール

アプリケーション管理用に単一のプロジェクトを構成するために必要な権限を取得するには、スタンドアロン管理プロジェクトとして構成するプロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

  • プロジェクトのリソース、権限、請求を管理する: プロジェクト オーナー roles/owner
  • プロジェクトのすべてのアプリケーション コンポーネントを管理する: App Hub 管理者 roles/apphub.admin

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

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

プロジェクトでアプリケーション管理を有効にする

このアクションにより、プロジェクトがスタンドアロンの管理プロジェクトとして構成され、アプリケーションのメタデータと構成に必要な API が有効になります。このプロジェクトは、アプリ対応プロジェクトと呼ばれます。

単一のプロジェクトでアプリケーション管理を有効にするには、次の操作を行います。

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Google Cloud CLI の最新バージョンがインストールされていることを確認します。

    gcloud components update
    
  3. プロジェクト ID を確認します

  4. プロジェクトをコマンドのデフォルト プロジェクトとして設定します。

    gcloud config set project PROJECT_ID
    

    PROJECT_ID は、プロジェクトの ID に置き換えます。

  5. App Hub API を有効にします。

    gcloud services enable apphub.googleapis.com \
        --project PROJECT_ID
    
  6. プロジェクトをそれ自体にアタッチして、アプリケーション管理境界を作成します。

    gcloud alpha apphub boundary update \
        --crm-node="projects/$(gcloud projects describe PROJECT_ID --format='value(projectNumber)')" \
        --project=PROJECT_ID \
        --location=global
    

    このコマンドは、プロジェクトを独自の管理プロジェクトとして構成し、App Hub がそのプロジェクト内のすべてのサポートされているリソースを自動的に検出できるようにします。

  7. アタッチメントのステータスを確認します。

    gcloud alpha apphub boundary describe \
        --project=PROJECT_ID \
        --location=global
    

    次のような出力が得られます。

    name: projects/PROJECT_ID/locations/LOCATION/boundary
    crmNode: projects/PROJECT_NUMBER
    createTime: 2025-08-28T19:04:47Z
    updateTime: 2025-08-28T19:04:47Z
    type: AUTOMATIC
    

    PROJECT_NUMBER は、プロジェクト ID に対応するプロジェクト番号です。

  8. 管理プロジェクトの構成が完了すると、アプリケーション管理に必要な API が有効になり、App Hub を使用してアプリケーション内のサービスとワークロードをグループ化できるようになります。必要に応じて、推奨 API を確認して、高度な機能にアクセスします。

    App Hub のロールと権限を割り当てる

    ユーザーが App Hub を使用してこのプロジェクト内のアプリケーション コンポーネントを検出、登録、管理できるようにするには、適切な App Hub のロールと権限を付与する必要があります。

    手順は次のとおりです。

    コンソール

    1. Google Cloud コンソールで、プロジェクト選択ツールを使用して管理プロジェクトを選択します。

    2. [IAM] ページに移動します。

      [IAM] に移動

    3. [ アクセスを許可] をクリックします。アクセス権の付与ペインが開きます。

    4. [新しいプリンシパル] フィールドに、App Hub へのアクセス権を付与するプリンシパルのメールアドレスを入力します。

    5. [ロールを選択] をクリックし、[フィルタ] フィールドに「App Hub」と入力します。

    6. プリンシパルに割り当てる App Hub IAM ロールを選択し、[保存] をクリックします。

    gcloud

    1. 管理プロジェクトのプリンシパルにアクセス権を付与します。

      gcloud projects add-iam-policy-binding PROJECT_ID \
          --member='user:EMAIL_ADDRESS' \
          --role='ROLE_NAME'
      

      次のように置き換えます。

      • PROJECT_ID: 管理プロジェクトの ID。
      • EMAIL_ADDRESS: App Hub へのアクセス権を取得する必要があるプリンシパルのメールアドレス。この値は、username@yourdomain の形式(例: my.user@example.com)にする必要があります。
      • ROLE_NAME: プリンシパルに割り当てる App Hub IAM ロール(例: roles/apphub.admin)。

    アプリケーション管理の境界を変更する

    単一プロジェクトの境界を定義するプロジェクトを変更する場合は、古いプロジェクトでアプリケーション管理を無効にして、新しいプロジェクトで有効にします。アプリケーション データは移行されません。新しいプロジェクトでアプリケーションを再作成する必要があります。

    単一プロジェクトの境界からフォルダレベルの境界に移行するには、アプリ対応フォルダを設定します。この操作により、フォルダに新しい管理プロジェクトが構成されます。この新しい管理プロジェクトでアプリケーションを再作成する必要があります。

    プロジェクトでアプリケーション管理を無効にする

    App Hub アプリケーションでプロジェクトのリソースを管理する必要がなくなった場合は、プロジェクトのアプリケーション管理を無効にできます。

    プロジェクトでアプリケーション管理を無効にすると、プロジェクトはアプリケーション管理境界から切り離されます。アプリケーション内のサービスとワークロードは引き続き存在しますが、登録ステータスが「切り離し」に変更されます。プロジェクトでアプリケーション管理を再度有効にすると、基盤となるリソースがまだ存在する場合、App Hub はアプリケーション、サービス、ワークロードを再検出して登録ステータスを更新できます。

    単一のプロジェクトでアプリケーション管理を無効にするには、次の操作を行います。

    1. In the Google Cloud console, activate Cloud Shell.

      Activate Cloud Shell

      At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

    2. Google Cloud CLI の最新バージョンがインストールされていることを確認します。

      gcloud components update
      
    3. プロジェクト ID を確認します

    4. プロジェクトをコマンドのデフォルト プロジェクトとして設定します。

      gcloud config set project PROJECT_ID
      

      PROJECT_ID は、プロジェクトの ID に置き換えます。

    5. プロジェクトを境界から切り離して、アプリケーション管理を無効にします。

      gcloud alpha apphub boundary update \
          --project=PROJECT_ID \
          --location=global \
          --clear-crm-node
      

      このコマンドは、境界リソースを更新してアタッチメントを削除し、プロジェクトのアプリケーション管理を無効にします。

    6. 境界を記述して、切り離しを確認します。

      gcloud alpha apphub boundary describe \
          --project=PROJECT_ID \
          --location=global
      

      出力に crmNode フィールドが含まれていないため、プロジェクトでアプリケーション管理が無効になっていることが確認できます。

    7. 必要に応じて、プロジェクト内のすべてのアプリケーションを削除し、このプロジェクトでアプリケーション機能を使用しなくなる場合は、App Hub API を無効にします。

      gcloud services disable apphub.googleapis.com \
          --project=PROJECT_ID
      
    8. 次のステップ