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)(必要な API と推奨 API を有効にするため)
  • 請求先アカウントを管理プロジェクトにリンクします。
  • ユーザーにアプリケーション中心のロールを付与する: 管理プロジェクトに対するプロジェクト 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. Google Cloud コンソールで Cloud Shell をアクティブにします。

    Cloud Shell をアクティブにする

    Google Cloud コンソールの下部にある Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています。セッションが初期化されるまで数秒かかることがあります。

  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 サービスを有効にするの手順に沿って操作します。

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

Cloud Hub の API を有効にする

Cloud Hub には独自の API がありません。代わりに、Cloud Hub にデータを提供する他の API を呼び出します。

次の表に、Cloud Hub が使用する API を示します。これらの API の一部には関連費用が発生するか、費用との依存関係があります。詳細については、料金のリンクをご覧ください。

API Cloud Hub での使用状況 料金

App Hub API
apphub.googleapis.com

登録されているすべてのアプリケーションのメタデータを保存します。既存のリソースをアプリケーションに整理できます。

Cloud Hub でアプリケーション データを表示するために必要です。App Hub の詳細

App Hub の料金

App Topology API
apptopology.googleapis.com

アプリケーション リソース間の関係の可視化を表示します。

アプリ トポロジの可視化を表示するために必要です。

App Design Center API
designcenter.googleapis.com

アプリケーションの設計、デプロイ、更新

Cloud Hub でアプリケーションのデプロイを表示するために必要です。

料金

App Optimize API
appoptimize.googleapis.com

費用と使用率のデータを取得して、費用を最適化します。

Cloud Hub の最適化ページでデータを表示するために必要です。

この API に追加料金はかかりません。API は、Cloud BillingCloud Monitoring からデータを取得します。

Capacity Planner API
planner.googleapis.com

費用と使用率のデータを表示して、費用を最適化します。

Cloud Hub で使用状況と予測データを表示するために必要です。

Capacity Planner の料金

Compute Engine API
compute.googleapis.com

セルフマネージド仮想マシン(VM)インスタンスとベアメタル インスタンスをプロビジョニングする。

Cloud Hub で予約データを表示する ために必要です。

将来の予約のお支払い情報
Cloud Logging API
logging.googleapis.com

リアルタイムのログ管理。

Google Cloud サービスのロギングを提供します。Cloud Hub の健全性とトラブルシューティングのページに必要です。

オブザーバビリティの料金
Cloud Monitoring API API
monitoring.googleapis.com

Google Cloud サービスの指標とアラートを提供します。Cloud Hub の [健全性とトラブルシューティング] ページでアラートとテレメトリー データを使用するために必要です。

オブザーバビリティの料金
Service Health API
servicehealth.googleapis.com

アプリケーションに関連する Google Cloud サービスの中断を特定する

Cloud Hub の [健全性とトラブルシューティング] ページと [サポート] ページで Google Cloud インシデントを表示するために必要です。

Personalized Service Health の料金
Recommender API
recommender.googleapis.com

Google Cloud リソースの最適化に役立つ Active Assist の推奨事項と分析情報を生成する

Cloud Hub で 費用最適化の推奨事項を表示するために必要

Recommender の料金
Gemini Cloud Assist API
geminicloudassist.googleapis.com

Gemini for Google Cloud ポートフォリオのプロダクト。AI を活用したアシスタンスを提供し、 Google Cloudのアプリケーション ライフサイクルを簡素化します。

費用の最適化トラブルシューティングなどのタスクで Gemini Cloud Assist を使用する必要があります。

Gemini Cloud Assist の料金
Cloud Quotas API
cloudquotas.googleapis.com

割り当てを表示して管理します。

Cloud Hub で割り当てとシステム上限を表示するために必要です。

Cloud Quotas の料金
Unified Maintenance API
maintenance.googleapis.com

Google Cloud サービス全体で計画メンテナンスを管理します。

Cloud Hub でメンテナンス アクティビティを表示するために必要

Unified Maintenance の料金
Service Usage API
serviceusage.googleapis.com

Google Cloud プロジェクトの API とサービスを一覧表示および管理します。

Cloud Hub で割り当てとシステム上限を表示するために必要です。

Service Usage の料金

アプリケーション管理を設定すると、Cloud Hub にデータを提供する多くの API が、管理プロジェクトで必須 API として有効になります。

ただし、Cloud Hub で使用される一部の API は、プロジェクトのデータのみを提供するか、管理プロジェクトで必要な API として自動的に有効になりません。

このセクションの手順に沿って、Cloud Hub で不足している API を有効にします。

  • アプリ対応フォルダを設定した場合は、フォルダの管理プロジェクトで API を有効にします。
  • 単一のプロジェクトのデータを表示するには、そのプロジェクトで API を有効にします。
  • [メンテナンス] ページの場合: プロジェクトがアプリ対応フォルダにない場合は、他のプロジェクトのログを集約するようにプロジェクトを構成し、そのプロジェクトで Unified Maintenance API を有効にします。

    • 集約シンクを使用して、単一のプロジェクトにログを転送します。
    • プロジェクトでデフォルトのログスコープを構成して、他のプロジェクトまたは一元化されたログ ストレージ バケットに保存されているログを表示できるようにします。

必要なロール

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

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

API を有効にする

Cloud Hub で使用される API については、Cloud Hub 用の API を有効にするをご覧ください。

コンソール

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

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

    ホームに移動

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

  3. [推奨 API を有効にする] の横にある [API を有効にする] をクリックします。パネルが開き、まだ有効になっていない API が表示されます。

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

gcloud

  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 によるアクセス制御をご覧ください。

必要なロール

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

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

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

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

コンソール

  1. Cloud Hub のホームページに移動します。

    ホームに移動

  2. プロジェクト セレクタで、アクセス権を付与するアプリ対応フォルダまたはプロジェクトを選択します。

  3. [アクセス権を付与] をクリックします。[Cloud Hub へのアクセス権を付与する] パネルが開きます。

  4. [新しいプリンシパル] フィールドに、Cloud Hub へのアクセスを必要とするプリンシパルを入力します。

  5. [ロールを付与] をクリックします。

gcloud

  1. Google Cloud コンソールで Cloud Shell をアクティブにします。

    Cloud Shell をアクティブにする

    Google Cloud コンソールの下部にある Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています。セッションが初期化されるまで数秒かかることがあります。

  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'
    

    単一プロジェクトの場合:

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

    次の変数を置き換えます。

    • FOLDER_ID: アプリ対応フォルダの ID。 Google Cloud コンソールでは、Cloud Hub の [ホーム] ページでフォルダ ID を確認できます。フォルダがアプリケーション管理用に構成されている場合、[フォルダタイプ] フィールドの値は App-enabled folder になります。
    • PROJECT_ID: プロジェクトの ID。 Google Cloud コンソールでは、Cloud Hub の [ホーム] ページでプロジェクト ID を確認できます。
    • PRINCIPAL: 付与する ID

次のステップ