Cloud Hub を設定する

このドキュメントでは、Cloud Hub の設定方法について説明します。

設定プロセスには、主に次の手順があります。

  1. App Hub アプリケーションを作成し、Cloud Hub でアプリケーションに関するデータを表示するには、アプリケーション管理を設定します。

    アプリケーション管理を設定していない場合でも、Cloud Hub でアプリケーション別ではなくGoogle Cloud プロジェクト別に一部のデータを表示できます。

  2. プロジェクト データの API を有効にします。Cloud Hub の一部のページでは、アプリケーション データがサポートされていません。これらのページの API は個別に有効にする必要があります。

  3. ログ、指標、トレースの集約ビューを構成する

  4. Cloud Hub ユーザーにアクセス権を付与します。

Cloud Hub の設定プロセスのさまざまな手順は、さまざまなユーザーまたはチームが担当する場合があります。

アプリケーション管理を設定する

このセクションでは、アプリケーション管理を有効にしてアプリケーションを作成するために必要な手順について説明します。

必要なロール

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

  • アプリケーション管理を有効にする: フォルダの親リソースに対するフォルダ管理者 roles/resourcemanager.folderAdmin
  • 請求先アカウントを管理プロジェクトにリンクします。
  • 推奨される API を有効にする: 管理プロジェクトに対する Service Usage 管理者 roles/serviceusage.serviceUsageAdmin)。追加のサービスを有効にする場合にのみ必要です。
  • ユーザーにアプリケーション中心のロールを付与する: 管理プロジェクトに対するプロジェクト IAM 管理者 ロール(roles/resourcemanager.projectIamAdmin
  • オブザーバビリティ スコープを構成します。
  • Cloud Hub でアプリケーション レベルとプロジェクト レベルのデータを表示する: アプリ対応フォルダに対する Cloud Hub オペレーター roles/cloudhub.operator

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

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

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

アプリケーション管理を使用すると、個々のインフラストラクチャ コンポーネントではなく、アプリケーション全体に焦点を当てることができます。

フォルダでアプリケーション管理を有効にすると、そのフォルダはアプリ対応フォルダと呼ばれ、次のようになります。

  • プロジェクトは、フォルダ内の管理プロジェクトとして定義されます。
  • システムは、管理プロジェクトで必要な API を有効にします。
  • 管理プロジェクトには、有効な API、課金、割り当て、アクセス制御などのアプリケーション データが保存されます。

フォルダでアプリ管理を有効にするには、次の操作を行います。

コンソール

  1. アプリ対応フォルダとして設定する Google Cloud フォルダを選択または作成します。新しいフォルダを作成するには、フォルダの作成をご覧ください。

  2. Google Cloud コンソールで、[リソースの管理] ページを開きます。

    [リソースの管理] に移動

  3. プロジェクトとフォルダのリストから、構成するフォルダを見つけます。

    フォルダに アプリ対応フォルダ アイコンが表示されている場合、アプリケーション管理はすでに有効になっています。

  4. フォルダの行で、アクション)メニューを開き、[設定] をクリックします。

    フォルダでアプリケーション管理が有効になっていない場合、[アプリケーション管理] 設定には [有効になっていません] と表示されます。

  5. [アプリケーション管理を有効にする] で、[プロジェクトを作成] をクリックします。

    [管理プロジェクトを作成して必要な API を有効にする] パネルが開きます。

  6. 必要な API のリストを確認します。これらの API は、アプリケーションのライフサイクルを管理します。関連費用が発生する API については、API 名をクリックして料金の詳細を確認してください。

  7. アプリケーション管理を有効にするには、[プロジェクトを作成して API を有効にする] をクリックします。

    フォルダに管理プロジェクトが作成されます。

  8. 管理プロジェクトのプロジェクト名と ID をメモします。これらの値を使用してアクセス権を付与します。

    または、次の Google Cloud CLI コマンドを使用して、管理プロジェクト ID を取得することもできます。

    gcloud resource-manager folders describe FOLDER_ID
        --format="value(managementProject.split('/').slice(-1))"
    

    FOLDER_ID は、アプリ対応フォルダの ID に置き換えます。

    詳細については、プロジェクト名、番号、ID を確認するをご覧ください。

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 の最新バージョンがインストールされていることを確認します。

    gcloud components update
    
  3. 特定のフォルダでアプリケーション管理を有効にするには、--enable フラグを指定して gcloud resource-manager capabilities update コマンドを使用します。

    gcloud resource-manager capabilities update folders/FOLDER_ID/capabilities/app-management \
       --enable
    

    FOLDER_ID は、フォルダの ID に置き換えます。

    このコマンドは、指定されたフォルダでアプリケーション管理機能を有効にし、そのフォルダ内に新しい Google Cloud プロジェクトを自動的にプロビジョニングして、管理プロジェクトとして機能させます。

  4. 必要に応じて、管理プロジェクトで推奨 API を有効にするには、プロジェクトで Google Cloud サービスを有効にするの手順に沿って操作します。

  5. Terraform

    Terraform を使用してフォルダでアプリケーション管理を有効にするには、google_resource_manager_capability リソースを使用します。次に例を示します。

    resource "google_folder" "folder" {
      display_name     = "my-folder"
      parent           = "organizations/123456789"
      deletion_protection = false
    }
    resource "time_sleep" "wait_60s" {
      depends_on = [google_folder.folder]
      create_duration = "60s"
    }
    resource "google_resource_manager_capability" "capability" {
      value            = true
      parent           = "${google_folder.folder.name}"
      capability_name  = "app-management"
      depends_on = [time_sleep.wait_60s]
    }
    

    このコマンドは、指定されたフォルダでアプリケーション管理機能を有効にし、そのフォルダ内に管理プロジェクトとして機能する新しい Google Cloud プロジェクトを自動的にプロビジョニングします。管理プロジェクトで推奨 API のリストを有効にするには、 Google Cloud プロジェクトで API サービスを有効にするの手順に沿って操作します。

請求先アカウントを管理プロジェクトにリンク

アプリケーション中心の高度な Google Cloud 機能を使用するには、有効な請求先アカウントを管理プロジェクトにリンクする必要があります。たとえば、リンクされた請求先アカウントを使用すると、次のことができます。

  • App Hub のリソース割り当てを超えるワークロードを管理します。
  • App Design Center を使用して、テンプレートを作成し、アプリケーションをデプロイします。

アプリケーション管理と有効な API に関連する費用の概要については、費用についてをご覧ください。

有効な請求先アカウントを管理プロジェクトにリンクする手順は次のとおりです。

コンソール

  1. アプリケーションの管理に使用する請求先アカウントが存在することを確認します。請求先アカウントを作成するには、新しいセルフサービスの Cloud 請求先アカウントを作成するをご覧ください。

  2. Google Cloud コンソールで、[お支払い] ページを開きます。

    [お支払い] に移動

  3. [マイ プロジェクト] タブで、管理プロジェクトを見つけます。

  4. プロジェクトの行で、 [アクション] メニューを開き、[お支払い情報を変更] を選択して、Cloud 請求先アカウントを選択します。

プロジェクトの課金を有効にする方法については、プロジェクトの課金を有効にするをご覧ください。

gcloud

gcloud billing projects link PROJECT_ID \
    --billing-account ACCOUNT_ID

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

  • PROJECT_ID: 管理プロジェクトの ID。
  • ACCOUNT_ID: 請求先アカウントの ID。請求先アカウント ID の形式は 0X0X0X-0X0X0X-0X0X0X です。

オブザーバビリティ スコープを構成する

オブザーバビリティ スコープは、 Google Cloud コンソールがテレメトリー データを検索して表示する場所を決定します。各 Google Cloud プロジェクトには、デフォルトのログスコープとトレース スコープを識別する単一のオブザーバビリティ スコープがあります。指標データの場合、プロジェクトの指標スコープによって、Google Cloud コンソールがデータを検索する場所が決まります。

アプリケーションのすべてのテレメトリー データを表示または分析するには、管理プロジェクトのオブザーバビリティ スコープと指標スコープを構成します。これらのスコープを構成すると、データが複数のプロジェクトに保存されている場合でも、Cloud Hub などのサービスでアプリケーションのログ、指標、トレース データを見つけて表示できます。

このセクションでは、必要な構成の概要を説明します。詳しい手順については、アプリケーションのモニタリングを設定するをご覧ください。次の表に、必要な構成スコープを示します。

Scope コンポーネント 構成シナリオ 主なアクションと考慮事項
ログスコープ 集約シンクを使用して、組織内のすべてのログを一元的なログバケットに転送します。
  1. バケットに保存されているアプリケーション ログのみを含むログビューを作成します。
  2. ログビューを含めるように、管理プロジェクトのデフォルトのログスコープを構成します。
組織レベルの集約シンクがなく、アプリ対応フォルダにネストされたフォルダがない。
  1. アプリケーション ログを管理プロジェクトの _Default ログバケットに転送するように集約シンクを構成します。
  2. _Default という名前のログスコープがデフォルトのログスコープであることを確認します。
集約シンクを使用しない。 管理プロジェクトでデフォルトのログスコープを構成して、アプリケーションのログデータの保存場所を一覧表示します。
指標スコープ 表示する指標データを保存するすべてのプロジェクトを含むアプリ対応フォルダを構成した。 Google Cloud Observability は、アプリ対応フォルダ内のプロジェクトのリストを指標のスコープ内のプロジェクトのリストと同期しようとします。

アプリ対応フォルダ内のプロジェクト数が指標スコープの割り当てを超えない限り、Google Cloud Observability は、アプリ対応フォルダ内のプロジェクトを追加または削除したときに、指標スコープのプロジェクトのリストを更新できます。
トレースのスコープ 複数のプロジェクトにわたってアプリケーション トレースデータをモニタリングする必要がある。
  1. アプリケーションのトレースデータを保存するプロジェクトを一覧表示するカスタム トレース スコープを管理プロジェクトに作成します。
  2. カスタム トレース スコープをデフォルトのトレース スコープとして設定します。

アプリケーションを作成

アプリケーション管理を有効にすると、アプリケーションを作成できます。アプリケーションを作成するには、次の方法があります。

  • App Hub を使用して、既存のGoogle Cloud リソースからアプリケーションを作成します。アプリケーションを作成するをご覧ください。
  • Application Design Center を使用して新しいGoogle Cloud リソースを設計してデプロイします。これにより、App Hub アプリケーションが自動的にプロビジョニングされます。アプリケーション テンプレートを使用して設計を定義し、テンプレートに基づいてアプリケーション インスタンスをデプロイします。

プロジェクト データの API を有効にする

Cloud Hub のほとんどのページには、アプリケーション データとプロジェクト データの両方が表示されます。ただし、一部のページではデータのプロジェクト ビューのみがサポートされています。

アプリケーション管理を設定すると、Cloud Hub でアプリケーション データを表示するための API が管理プロジェクトで有効になります。

個々のプロジェクトのリソースのデータを表示するには、それらのプロジェクトで必要な API を有効にする必要があります。Cloud Logging や Cloud Monitoring などの必要な API の一部は、プロジェクトを作成するとデフォルトで有効になります。

必要なロール

API を有効にするために必要な権限を取得するには、プロジェクトに対する Service Usage 管理者(roles/serviceusage.serviceUsageAdmin)IAM ロールの付与を管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

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

Gemini Cloud Assist を使用して、トラブルシューティングや費用の最適化などのタスクのサポートを受けるには、Gemini Cloud Assist を設定して、必要な API を有効にします。この設定は、Cloud Hub での API の有効化とは異なります。

次の表に、各 Cloud Hub ページに必要な API をまとめます。

API を有効にする

プロジェクトで API を有効にする手順は次のとおりです。

ページ サポートされるデータ 必要な API オプション機能
ホーム アプリケーションまたはプロジェクト [ホーム] ページには、他の Cloud Hub ページの概要データが表示されます。
デプロイ アプリケーション App Hub と Application Design Center

健全性とトラブルシューティング アプリケーションまたはプロジェクト

アプリケーション データのサポートに関する App Hub

健全性データ用の Cloud Logging、Cloud Monitoring、Error Reporting、Personalized Service Health、Cloud Asset Inventory

Gemini Cloud Assist を設定して、調査を作成して表示します。

最適化 アプリケーションまたはプロジェクト

アプリケーション データのサポートに関する App Hub

費用と使用状況のデータに関する Cloud Monitoring と App Optimize

Gemini Cloud Assist を設定して、費用の最適化に関するサポートを受けます。

メンテナンス プロジェクトのみ Unified Maintenance

割り当てと予約 プロジェクトのみ

割り当てデータの Cloud Quotas

キャパシティ プランナーの限定公開プレビューのユーザー向けの Compute Engine とキャパシティ プランナー

サポート プロジェクトのみ Cloud カスタマーケア

コンソール

Cloud Hub のホームページから、Cloud Hub で有効になっていない API のリストを表示し、それらの API を有効にできます。

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

    ホームに移動

  2. プロジェクト選択ツールから、表示するプロジェクトを選択します。

  3. [推奨 API を有効にする] の横にある [API を表示] をクリックします。有効にする API を示すダイアログが表示されます。

  4. API を有効にするには、[有効にする] をクリックします。

gcloud

Google Cloud CLI を使用して、1 つ以上の特定の API を有効にできます。

  1. デフォルト プロジェクトを、API を有効にするプロジェクトに設定します。

    gcloud config set project PROJECT_ID
    

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

  2. プロジェクトで有効にできるサービスのリストを取得します。

    gcloud services list --available
    

    API が表示されない場合は、API を有効にするアクセス権限が付与されていないことを意味します。

  3. プロジェクトで使用するサービスを有効にします。サービス名のリストを指定することで、複数の API を有効にできます。

    gcloud services enable SERVICE_NAME1 SERVICE_NAME2
    

Cloud Hub ユーザーにアクセス権を付与する

Cloud Hub オペレーター ロールには、Cloud Hub のほとんどのデータを表示する権限が含まれています。[最適化] ページと Gemini Cloud Assist の調査でリソース費用を表示する権限は、個別に付与する必要があります。

ユーザーの具体的な責任に応じて、Cloud Hub で表示するデータに対してアクションを実行できるように、他のロールを付与する必要がある場合があります。

必要なロール

プロジェクトまたはフォルダへのアクセスを管理するために必要な権限を取得するには、アクセスを管理するリソース(プロジェクトまたはフォルダ)に対する次の IAM ロールを付与するよう管理者に依頼してください。

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

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

アプリケーション データへのアクセス権を付与する

コンソール

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

    [IAM] に移動

  2. プロジェクト セレクタで、アプリ管理用フォルダを選択します。

  3. [IAM] ページで、[アクセス権を付与] をクリックします。[アクセス権を付与] ペインが開きます。

  4. [新しいプリンシパル] フィールドに、Cloud Hub ユーザーのメールアドレスを入力します。

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

  6. [Cloud Hub オペレーター] ロールを選択し、[保存] をクリックします。このロールは、アプリ対応フォルダのすべてのプロジェクトとサブフォルダにわたって個人に付与されます。

  7. プロジェクト セレクタで、管理プロジェクトを選択します。

  8. リソースの費用と調査のロールを付与するには、管理プロジェクトに必要なロールを付与します。

    1. [IAM] ページで、[アクセス権を付与] をクリックします。[アクセス権を付与] ペインが開きます。
    2. 適切なユーザーに次のロールを付与します。
      • [最適化] ページで費用データを表示する - 閲覧者(roles/reader)または閲覧者(roles/viewer)、または billing.resourceCosts.get 権限を含むカスタムロール。
      • Gemini Cloud Assist の調査を表示する - 調査閲覧者(roles/geminicloudassist.investigationViewer

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. アプリ対応フォルダで、個人に Cloud Hub オペレーターのロールを付与します。このロールは、アプリ対応フォルダのすべてのプロジェクトとサブフォルダにわたって個人に付与されます。

    gcloud resource-manager folders add-iam-policy-binding FOLDER_ID \
        --member='user:PRINCIPAL' \
        --role='roles/cloudhub.operator'
    

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

  4. 管理プロジェクトでリソース費用を表示するアクセス権を付与します。このコマンド例では、閲覧者(roles/reader)ロールを付与します。権限の範囲が狭いロールを付与するには、billing.resourceCosts.get 権限を含むカスタムロールを作成します。

    gcloud projects add-iam-policy-binding PROJECT-ID \
        --member='user:PRINCIPAL' \
        --role='roles/reader'
    

    PROJECT-ID は、管理プロジェクトの ID に置き換えます。フォルダの管理プロジェクト ID の形式は FOLDER-NAME-mp です。

  5. 管理プロジェクトで調査を表示するアクセス権を付与します。

    gcloud projects add-iam-policy-binding PROJECT-ID \
        --member='user:PRINCIPAL' \
        --role='roles/geminicloudassist.investigationViewer'
    

プロジェクト データへのアクセス権を付与する

コンソール

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

    ホームに移動

  2. プロジェクト セレクタで、プロジェクトを選択します。

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

  4. [新しいプリンシパル] フィールドに、Cloud Hub ユーザーのメールアドレスを入力します。

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

  6. [Cloud Hub オペレーター] ロールを選択し、[保存] をクリックします。

  7. 同じ手順で、リソース費用と調査を表示するロールを付与します。

    • [最適化] ページで費用データを表示する - 閲覧者(roles/reader)または閲覧者(roles/viewer)、または billing.resourceCosts.get 権限を含むカスタムロール。
    • Gemini Cloud Assist の調査を表示する - 調査閲覧者(roles/geminicloudassist.investigationViewer

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. プロジェクトに対する Cloud Hub オペレーターのロールを付与します。

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member='user:PRINCIPAL' \
        --role='roles/cloudhub.operator'
    

    PROJECT_ID をプロジェクト ID で置き換えます。

  4. プロジェクト内のリソース費用を表示するアクセス権を付与します。このコマンドの例では、閲覧者(roles/reader)ロールを付与します。権限の範囲が狭いロールを付与するには、billing.resourceCosts.get 権限を含むカスタムロールを作成します。

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member='user:PRINCIPAL' \
        --role='roles/reader'
    
  5. プロジェクト内の調査を表示する権限を付与します。

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member='user:PRINCIPAL' \
        --role='roles/geminicloudassist.investigationViewer'
    

次のステップ