アプリ対応フォルダ用に App Hub を設定する

このドキュメントでは、アプリ管理用フォルダを使用して App Hub を設定し、 Google Cloudで App Hub アプリケーションを構築、運用、管理する手順について説明します。このドキュメントは、App Hub を設定して管理するユーザーを対象としています。

ホスト プロジェクトに App Hub を設定することもできます。ただし、アプリ管理用フォルダには App Design Center や Gemini Cloud Assist などの機能へのアクセス権があるため、アプリケーションの管理にはホスト プロジェクトではなくアプリ管理用フォルダを使用することをおすすめします。ホスト プロジェクトに App Hub を設定する方法の詳細については、ホスト プロジェクトに App Hub を設定するをご覧ください。

アプリ対応フォルダに App Hub アプリケーションを設定すると、自然言語アシスタンスを使用してアプリケーションに関する情報を取得できます。詳細については、 Google Cloud コンソールで Gemini Cloud Assist を使用するをご覧ください。

サービスとワークロード

App Hub を使用すると、アプリ対応フォルダの子孫である Google Cloud プロジェクトのリソースをサービスとワークロードとして使用できます。サービスとワークロードをアプリケーションに登録すると、リソースを観察してモニタリングできます。App Hub は、グローバル リソースとリージョン リソースをサポートしています。アプリケーションに追加できるリソースについて詳しくは、App Hub でサポートされているリソースをご覧ください。

全体的なセットアップ プロセス

App Hub を設定する手順の概要は次のとおりです。

  1. アプリケーションに含める既存のリソースと、それらのリソースが属するプロジェクトを特定します。アプリケーションの管理方法について詳しくは、アプリケーション管理をご覧ください。
  2. フォルダでアプリケーション管理を有効にします。アプリ対応フォルダのすべての子孫プロジェクトのリソースを管理できるようになりました。アプリケーションに必要な基盤となるリソースを含む新しいプロジェクトがフォルダに追加されると、それらのプロジェクトはアプリケーション管理で自動的に有効になります。
    次の点にご注意ください。
    1. プロジェクトは、アプリ対応フォルダと同じ組織に存在する必要があります。プロジェクトをアプリ対応フォルダに関連付けた後、プロジェクトを別の組織に移動する場合は、プロジェクトを移行する必要があります。詳細については、組織リソース間のプロジェクトの移行をご覧ください。
    2. プロジェクトをアプリ対応フォルダに接続した後は、アプリ対応フォルダにサービスまたはワークロードのクエリを実行すると、アプリ対応フォルダに接続されているすべてのプロジェクトのすべてのサービスとワークロードが自動的に返されるようになります。
    3. アプリ対応フォルダが別の組織に移動されると、登録されているすべてのサービスとワークロードの接続が解除されます。
  3. App Hub ユーザーを App Hub 管理者、App Hub 編集者、App Hub 閲覧者として指定します
  4. 複数のワークロードとサービスを整理するアプリケーションを作成します。
    次の点にご注意ください。
    1. アプリケーションの名前が、アプリ対応フォルダとロケーションで一意であることを確認してください。
    2. プロジェクトは複数のアプリケーションを含むアプリ対応フォルダに関連付けることができますが、個々のリソースは 1 つのアプリケーションにのみ登録できます。
    3. プロジェクトが別のフォルダまたは組織に移動された場合、アプリケーションはアプリ対応フォルダに引き続き存在し、サービスとワークロードは切り離された状態になります。
  5. サービスとワークロードをクエリし、アプリケーションに登録します。アプリケーションを作成したら、アプリ対応フォルダに対して使用可能なサービスとワークロードをクエリできます。クエリは、アプリ対応フォルダと、そのアプリ対応フォルダに接続されたすべてのプロジェクトに対して実行されます。クエリは、これらのプロジェクト内のすべてのサービスとワークロードも返します。次の点にご注意ください。
    1. サービスまたはワークロードを登録できるのは、1 つのアプリケーションのみです。
    2. 特定のリージョンのサービスとワークロードは、同じリージョンのリージョン アプリケーションまたはグローバル アプリケーションに登録する必要があります。以降の手順とコマンドは、すべてのリソースが同じリージョンにあることを前提としています。指定できるリージョンについては、ロケーションをご覧ください。
    3. 登録されているサービスとワークロードは、基盤となるインフラストラクチャ リソースの更新の影響を受けません。つまり、サービスとワークロードとして機能する基盤となるリソースを削除しても、App Hub によって関連するワークロードとサービスがアプリケーションから削除されることはありません。ワークロードまたはサービスを個別に登録解除する必要があります。

前提条件

App Hub を設定する前に、次のタスクを完了します。

  1. 管理プロジェクトの請求先アカウントを有効にするか作成するために必要な IAM ロールがあることを確認します。
  2. アプリケーション管理を有効にする既存のフォルダを決定するか、新しいフォルダを作成します。フォルダの作成方法の詳細については、フォルダを作成するをご覧ください。
  3. App Hub の Identity and Access Management(IAM)ロール(App Hub 管理者、App Hub 編集者、App Hub 閲覧者)を誰に付与するかを決定していることを確認します。ロールと権限の詳細については、App Hub のロールと権限をご覧ください。

必要なロール

App Hub リソースの変更に必要な権限を取得するには、アプリ対応フォルダに対する次の IAM ロールの付与を管理者に依頼してください。

  • アプリケーションの作成と更新、サービスとワークロードの登録と登録解除を行うには:
  • フォルダでアプリケーション管理を有効にする: フォルダ管理者(resourcemanager.folderAdmin
  • アプリケーション、サービス、ワークロード、およびそれらの属性を Google Cloud アプリケーション管理をサポートするサービス全体で表示するには: App Hub 管理閲覧者(roles/apphub.appManagementViewer
    アプリケーションのデータを一元的に表示する方法の詳細については、Cloud Hub の概要をご覧ください。

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

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

アプリケーション管理を有効にする

このセクションでは、フォルダを選択し、そのフォルダでアプリケーション管理を有効にします。フォルダのアプリケーション管理を構成する場合、有効化プロセスには次のアクションが含まれます。

  • フォルダに新しい管理プロジェクトを作成する。管理プロジェクトは、移動または削除できない Google が作成したプロジェクトです。アプリ管理用フォルダに関連付けられている管理プロジェクトは 1 つのみです。管理プロジェクトは、アプリ対応フォルダに関連付けられているすべての子孫プロジェクトの割り当てと課金を管理するために使用されます。
  • アプリケーション管理をサポートする App Hub や Gemini Cloud Assist などのサービスの API を有効にする
  1. Google Cloud コンソールで、[App Hub] ページに移動します。

    App Hub に移動

  2. 次のシナリオに基づいて、以下の手順に沿って対応します。

    • アプリが有効になっていない Google Cloud プロジェクトまたは Google Cloudフォルダを使用している場合:
      1. [フォルダを選択] をクリックします。
      2. [フォルダを選択] ダイアログで、アプリ対応フォルダを選択します。アプリ対応のフォルダについてご不明な点がある場合は、管理者にお問い合わせください。アプリ対応でないフォルダを選択し、フォルダ管理者(resourcemanager.folderAdmin)IAM ロールがある場合は、フォルダでアプリケーション管理を有効にします。詳細については、フォルダでアプリケーション管理と API を有効にするをご覧ください。
    • アプリ管理用フォルダの Google Cloud ページで、[App Hub ユーザーを指定] に移動します。

    フォルダでアプリケーション管理を有効にすると、FOLDER_DISPLAY_NAME-mp という形式の管理プロジェクトという Google 所有のプロジェクトが作成されます。管理プロジェクトは、アプリ対応フォルダの子孫プロジェクトをホストし、プロジェクト間の機能の管理に役立ちます。これで、このアプリ対応フォルダ内の子孫プロジェクトの App Hub アプリケーションを作成できます。

  3. 省略可: プロジェクトを作成したり、別のフォルダからアプリ管理用フォルダにプロジェクトを移動したりできます。次に、アプリ対応フォルダにアプリケーションを作成して、プロジェクト内のサービスとワークロードを管理できます。プロジェクトの作成の詳細については、プロジェクトの作成をご覧ください。プロジェクトの移動方法については、プロジェクトの移動をご覧ください。

App Hub ユーザーを指定する

プロジェクト作成者にはオーナーロールroles/owner)が付与されます。デフォルトでは、この IAM ロールには、ほとんどのGoogle Cloud リソースに対する完全アクセスに必要な権限が含まれています。

プロジェクト作成者でない場合は、プロジェクトで必要な権限を適切なプリンシパルに付与する必要があります。プリンシパルは Google アカウント(エンドユーザーの場合)やサービス アカウント(アプリケーションとコンピューティング ワークロードの場合)になることもあります。このチュートリアルを完了するために必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

コンソール

  1. Google Cloud コンソールで、[IAM] ページに移動します。

    [IAM] に移動

  2. 上部のナビゲーション バーのプロジェクト セレクタにアプリ管理用フォルダが表示されていることを確認します。Purview 選択ツールを使用すると、作業中の組織、フォルダ、プロジェクトを確認できます。アプリ対応フォルダに移動していない場合は、次の手順でアプリ対応フォルダを選択します。

    1. Purview ピッカーで、選択したオプションをクリックします。
    2. [リソースを選択] ダイアログで、次のいずれかを行います。
      • フォルダのリストから FOLDER_DISPLAY_NAME フォルダを選択します。
      • FOLDER_DISPLAY_NAME フォルダを検索して選択します。
  3. [IAM] ページで、[アクセス権を付与] をクリックします。[アクセス権を付与] ペインが開きます。

  4. [新しいプリンシパル] フィールドに、アプリ対応フォルダの App Hub 管理者のロール、つまり App Hub の管理を担当するユーザーのメールアドレスを入力します。

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

  6. [App Hub 管理者] ロールを選択し、[保存] をクリックします。

  7. 手順を繰り返して、アプリ管理閲覧者ロールを個人に付与し、アプリ管理をサポートするGoogle Cloud サービス全体でアプリデータとその属性を表示できるようにします。このロールは、アプリ対応フォルダのすべてのプロジェクトとサブフォルダにわたって個人に付与されます。

  8. [保存] をクリックします。

gcloud

  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 の最新バージョンがインストールされていることを確認します。Cloud Shell で次のコマンドを実行します。

    gcloud components update
  3. App Hub を管理するユーザーに、アプリ対応フォルダの App Hub 管理者のロールを付与します。管理者ごとに次のコマンドを繰り返します。アプリケーションを作成するには、App Hub 管理者のロールが必要です。

    gcloud projects add-iam-policy-binding MANAGEMENT_PROJECT_ID \
        --member='user:MANAGEMENT_PROJECT_ADMIN' \
        --role='roles/apphub.admin'
    

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

    • MANAGEMENT_PROJECT_ID: google-mpf-FOLDER_ID 形式の管理プロジェクトの ID。管理プロジェクト ID は、 Google Cloud コンソールの [Identity and Access Management(IAM)と管理] の [設定] ページで確認できます。管理プロジェクト ID が見つからない場合は、アプリが有効になっているフォルダにアクセスしていない可能性があります。プロジェクト セレクタで、アプリ管理用フォルダを選択します。
    • MANAGEMENT_PROJECT_ADMIN: プロジェクトで App Hub 管理者ロールを持つユーザー。この値の形式は username@yourdomain です(例: robert.smith@example.com)。
  4. アプリ管理用フォルダのアプリ管理閲覧者ロールを個人に付与して、アプリケーション管理をサポートする Google Cloud サービス全体でアプリケーション データとその属性を表示します。このロールは、アプリ対応フォルダのすべてのプロジェクトとサブフォルダにわたって個人に付与されます。

    gcloud resource-manager folders add-iam-policy-binding FOLDER_ID \
        --member='user:MANAGEMENT_PROJECT_ADMIN' \
        --role='roles/apphub.appManagementViewer'
    

    FOLDER_ID は、プロジェクトの ID に置き換えます。アプリ対応フォルダの ID は、 Google Cloud コンソールの [IAM と管理] > [設定] ページで確認できます。フォルダがアプリ対応であることを確認するには、[設定] ページに管理プロジェクト ID が表示されている必要があります。管理プロジェクト ID が見つからない場合は、アプリが有効になっているフォルダにアクセスしていない可能性があります。プロジェクト セレクタで、アプリ管理用フォルダを選択します。

プロジェクトを追加または削除する

プロジェクトの接続を変更して、さまざまなインフラストラクチャ リソースをアプリケーションにグループ化して使用できます。

コンソール

アプリ管理用フォルダにプロジェクトを追加する

    Create a Google Cloud project.

    gcloud projects create PROJECT_ID

    Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    Roles required to create a project

    To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

アプリ管理用フォルダからプロジェクトを削除する

    Delete a Google Cloud project:

    gcloud projects delete PROJECT_ID

gcloud

アプリ管理用フォルダにプロジェクトを追加する

gcloud projects create PROJECT_ID \
    --folder FOLDER_ID

アプリ管理用フォルダからプロジェクトを削除する

    Delete a Google Cloud project:

    gcloud projects delete PROJECT_ID

次のステップ