このドキュメントでは、Cloud Hub の設定方法について説明します。
設定プロセスには、主に次の手順があります。
App Hub アプリケーションを作成して、Cloud Hub でアプリケーションに関するデータを表示するには、アプリケーション管理を設定します。
アプリケーション管理を設定していない場合でも、Cloud Hub でアプリケーション別ではなくGoogle Cloud プロジェクト別に一部のデータを表示できます。
プロジェクト データの API を有効にします。Cloud Hub の一部のページでは、アプリケーション データがサポートされていません。これらのページの API は個別に有効にする必要があります。
Cloud Hub ユーザーにアクセス権を付与します。
Cloud Hub の設定プロセスのさまざまな手順は、さまざまなユーザーまたはチームが担当する場合があります。
アプリケーション管理を設定する
このセクションでは、アプリケーション管理を有効にしてアプリケーションを作成するために必要な手順について説明します。
必要なロール
アプリ対応フォルダの構成に必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。
-
アプリケーション管理を有効にする: フォルダの親リソースに対するフォルダ管理者 (
roles/resourcemanager.folderAdmin) -
API を有効にする: ターゲット フォルダに対する Service Usage 管理者 (
roles/serviceusage.serviceUsageAdmin)(必要な API と推奨 API を有効にするため) -
請求先アカウントを管理プロジェクトにリンクします。
-
管理プロジェクトに対するプロジェクト支払い管理者 (
roles/billing.projectManager) -
ターゲットの請求先アカウントに対する請求先アカウント ユーザー (
roles/billing.user)
-
管理プロジェクトに対するプロジェクト支払い管理者 (
-
ユーザーにアプリケーション中心のロールを付与する: 管理プロジェクトに対するプロジェクト IAM 管理者 (
roles/resourcemanager.projectIamAdmin) -
オブザーバビリティ スコープを構成します。
-
管理プロジェクトに対するオブザーバビリティ エディタ (
roles/observability.editor) -
管理プロジェクトに対するログ構成書き込み (
roles/logging.configWriter) -
管理プロジェクトと、指標スコープに追加する各プロジェクトに対するモニタリング管理者 (
roles/monitoring.admin) -
管理プロジェクトに対する Cloud Trace ユーザー (
roles/cloudtrace.user) -
管理プロジェクトに対する App Hub 閲覧者 (
roles/apphub.viewer)
-
管理プロジェクトに対するオブザーバビリティ エディタ (
-
Cloud Hub でアプリケーション レベルとプロジェクト レベルのデータを表示する:
アプリ対応フォルダに対する Cloud Hub オペレーター (
roles/cloudhub.operator)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
アプリケーション管理を有効にする
アプリケーション管理を使用すると、個々のインフラストラクチャ コンポーネントではなく、アプリケーション全体に焦点を当てることができます。
フォルダでアプリケーション管理を有効にすると、そのフォルダはアプリ対応フォルダと呼ばれ、次のようになります。
- プロジェクトは、フォルダ内の管理プロジェクトとして定義されます。
- システムは、管理プロジェクトで必要な API を有効にします。
- 管理プロジェクトには、有効な API、課金、割り当て、アクセス制御などのアプリケーション データが保存されます。
フォルダでアプリ管理を有効にするには、次の操作を行います。
コンソール
アプリ対応フォルダとして設定する Google Cloud フォルダを選択または作成します。新しいフォルダを作成するには、フォルダの作成をご覧ください。
Google Cloud コンソールで、[リソースの管理] ページを開きます。
プロジェクトとフォルダのリストから、構成するフォルダを見つけます。
フォルダに
アプリ対応フォルダ アイコンが表示されている場合、アプリケーション管理はすでに有効になっています。フォルダの行で、(アクション)メニューを開き、[設定] をクリックします。
フォルダでアプリケーション管理が有効になっていない場合、[アプリケーション管理] 設定には [有効になっていません] と表示されます。
[アプリケーション管理を有効にする] で、[プロジェクトを作成] をクリックします。
[管理プロジェクトを作成して必要な API を有効にする] パネルが開きます。
必要な API のリストを確認します。これらの API は、アプリケーションのライフサイクルを管理します。関連費用が発生する API については、API 名をクリックして料金の詳細を確認してください。
アプリケーション管理を有効にするには、[プロジェクトを作成して API を有効にする] をクリックします。
フォルダに管理プロジェクトが作成されます。
管理プロジェクトのプロジェクト名と ID をメモします。これらの値を使用してアクセス権を付与します。
または、次の Google Cloud CLI コマンドを使用して、管理プロジェクト ID を取得することもできます。
gcloud resource-manager folders describe FOLDER_ID --format="value(managementProject.split('/').slice(-1))"FOLDER_IDは、アプリ対応フォルダの ID に置き換えます。詳細については、プロジェクト名、番号、ID を確認するをご覧ください。
gcloud
-
In the Google Cloud console, 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.
Google Cloud CLI の最新バージョンがインストールされていることを確認します。
gcloud components update特定のフォルダでアプリケーション管理を有効にするには、
--enableフラグを指定してgcloud resource-manager capabilities updateコマンドを使用します。gcloud resource-manager capabilities update folders/FOLDER_ID/capabilities/app-management \ --enableFOLDER_IDは、フォルダの ID に置き換えます。このコマンドは、指定されたフォルダでアプリケーション管理機能を有効にし、そのフォルダ内に新しい Google Cloud プロジェクトを自動的にプロビジョニングして、管理プロジェクトとして機能させます。
必要に応じて、管理プロジェクトで推奨 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 に関連する費用の概要については、費用についてをご覧ください。
有効な請求先アカウントを管理プロジェクトにリンクする手順は次のとおりです。
コンソール
アプリケーションの管理に使用する請求先アカウントが存在することを確認します。請求先アカウントを作成するには、新しいセルフサービスの Cloud 請求先アカウントを作成するをご覧ください。
Google Cloud コンソールで、[お支払い] ページを開きます。
[マイ プロジェクト] タブで、管理プロジェクトを見つけます。
プロジェクトの行で、 [アクション] メニューを開き、[お支払い情報を変更] を選択して、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 コンポーネント | 構成シナリオ | 主なアクションと考慮事項 |
|---|---|---|
| ログスコープ | 集約シンクを使用して、組織内のすべてのログを一元的なログバケットに転送します。 |
|
| 組織レベルの集約シンクがなく、アプリ対応フォルダにネストされたフォルダがない。 |
|
|
| 集約シンクを使用しない。 | 管理プロジェクトでデフォルトのログスコープを構成して、アプリケーションのログデータの保存場所を一覧表示します。 | |
| 指標スコープ | 表示する指標データを保存するすべてのプロジェクトを含むアプリ対応フォルダを構成した。 | Google Cloud Observability は、アプリ対応フォルダ内のプロジェクトのリストを指標のスコープにあるプロジェクトのリストと同期しようとします。 アプリ対応フォルダ内のプロジェクト数が指標スコープの割り当てを超えない限り、Google Cloud Observability は、アプリ対応フォルダ内のプロジェクトを追加または削除したときに、指標スコープのプロジェクトのリストを更新できます。 |
| トレースのスコープ | 複数のプロジェクトにわたってアプリケーション トレースデータをモニタリングする必要がある。 |
|
アプリケーションを作成
アプリケーション管理を有効にすると、アプリケーションを作成できます。アプリケーションを作成するには、次のオプションがあります。
- 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 登録されているすべてのアプリケーションのメタデータを保存します。既存のリソースをアプリケーションに整理できます。 |
Cloud Hub でアプリケーション データを表示するために必要です。App Hub について |
App Hub の料金 |
|
App Design Center API アプリケーションの設計、デプロイ、更新 |
Cloud Hub でアプリケーションのデプロイを表示するために必要です。 |
料金 |
|
App Optimize API API 費用と使用率のデータを取得して、費用を最適化します。 |
Cloud Hub の最適化ページでデータを表示するために必要です。 |
この API の使用に追加料金はかかりません。API は Cloud Billing と Cloud Monitoring からデータを取得します。 |
|
Capacity Planner API 費用と使用率のデータを表示して、費用を最適化します。 |
Cloud Hub で使用状況と予測データを表示するために必要です。 |
Capacity Planner の料金 |
|
Compute Engine API セルフマネージド仮想マシン(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 を有効にするプロジェクトに対するサービス使用管理者(roles/serviceusage.serviceUsageAdmin)IAM ロールの付与を管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
API を有効にする
Cloud Hub で使用される API については、Cloud Hub 用の API を有効にするをご覧ください。
コンソール
Cloud Hub のホームページから、Cloud Hub で有効になっていない API のリストを表示し、それらの API を有効にできます。
Google Cloud コンソールで、[ホーム] ページに移動します。
プロジェクト選択ツールで、表示するプロジェクトを選択します。
[推奨 API を有効にする] の横にある [API の有効化] をクリックします。パネルが開き、まだ有効になっていない API が表示されます。
有効にする API を選択し、[有効にする] をクリックします。
gcloud
デフォルト プロジェクトを、API を有効にするプロジェクトに設定します。
gcloud config set project PROJECT_ID
PROJECT_IDは、実際のプロジェクト ID に置き換えます。プロジェクトで有効にできるサービスのリストを取得します。
gcloud services list --availableAPI が表示されない場合は、API を有効にするアクセス権限が付与されていないことを意味します。
プロジェクトで使用するサービスを有効にします。サービス名のリストを指定することで、複数の API を有効にできます。
gcloud services enable SERVICE_NAME1 SERVICE_NAME2
Cloud Hub ユーザーにアクセス権を付与する
Cloud Hub オペレーター ロールには、Cloud Hub のほとんどのデータを表示する権限が含まれています。[最適化] ページと Gemini Cloud Assist の調査でリソース費用を表示する権限は、個別に付与する必要があります。
ユーザーの具体的な責任に応じて、Cloud Hub で表示するデータに対してアクションを実行できるように、他のロールを付与する必要がある場合があります。
必要なロール
プロジェクトまたはフォルダへのアクセスを管理するために必要な権限を取得するには、アクセスを管理するリソース(プロジェクトまたはフォルダ)に対する次の IAM ロールを付与するよう管理者に依頼してください。
- プロジェクトへのアクセスを管理する: プロジェクトの IAM 管理者(
roles/resourcemanager.projectIamAdmin) - フォルダへのアクセスを管理する: フォルダ管理者(
roles/resourcemanager.folderAdmin)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
アプリケーション データへのアクセス権を付与する
コンソール
Google Cloud コンソールで、[IAM] ページに移動します。
プロジェクト セレクタで、アプリ管理用フォルダを選択します。
[IAM] ページで、[アクセス権を付与] をクリックします。[アクセス権の付与] ペインが開きます。
[新しいプリンシパル] フィールドに、Cloud Hub ユーザーのメールアドレスを入力します。
[ロールを選択] をクリックし、[フィルタ] フィールドに「Cloud Hub」と入力します。
[Cloud Hub オペレーター] ロールを選択し、[保存] をクリックします。このロールは、アプリ対応フォルダのすべてのプロジェクトとサブフォルダにわたって個人に付与されます。
プロジェクト セレクタで、管理プロジェクトを選択します。
リソースの費用と調査のロールを付与するには、管理プロジェクトに必要なロールを付与します。
- [IAM] ページで、[アクセス権を付与] をクリックします。[アクセス権の付与] ペインが開きます。
- 適切なユーザーに次のロールを付与します。
- [最適化] ページで費用データを表示する - 閲覧者(
roles/reader)または閲覧者(roles/viewer)、またはbilling.resourceCosts.get権限を含むカスタムロール。 - Gemini Cloud Assist の調査を表示する - 調査閲覧者(
roles/geminicloudassist.investigationViewer)
- [最適化] ページで費用データを表示する - 閲覧者(
gcloud
-
In the Google Cloud console, 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.
Google Cloud CLI の最新バージョンがインストールされていることを確認します。Cloud Shell で次のコマンドを実行します。
gcloud components update
アプリ対応フォルダで、個人に 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 が見つからない場合は、アプリ対応フォルダにアクセスしていない可能性があります。プロジェクト セレクタで、アプリ管理用フォルダを選択します。管理プロジェクトでリソース費用を表示するアクセス権を付与します。このコマンドの例では、閲覧者(
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です。管理プロジェクトで調査を表示するアクセス権を付与します。
gcloud projects add-iam-policy-binding PROJECT-ID \ --member='user:PRINCIPAL' \ --role='roles/geminicloudassist.investigationViewer'
プロジェクト データへのアクセス権を付与する
コンソール
Google Cloud コンソールで、Cloud Hub の [ホーム] ページに移動します。
プロジェクト セレクタで、プロジェクトを選択します。
[アクセスを管理] をクリックします。アクセス権の付与ペインが開きます。
[新しいプリンシパル] フィールドに、Cloud Hub ユーザーのメールアドレスを入力します。
[ロールを選択] をクリックし、[フィルタ] フィールドに「Cloud Hub」と入力します。
[Cloud Hub オペレーター] ロールを選択し、[保存] をクリックします。
同じ手順で、リソースの費用と調査を表示するロールを付与します。
- [最適化] ページで費用データを表示する - 閲覧者(
roles/reader)または閲覧者(roles/viewer)、またはbilling.resourceCosts.get権限を含むカスタムロール。 - Gemini Cloud Assist の調査を表示する - 調査閲覧者(
roles/geminicloudassist.investigationViewer)
- [最適化] ページで費用データを表示する - 閲覧者(
gcloud
-
In the Google Cloud console, 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.
Google Cloud CLI の最新バージョンがインストールされていることを確認します。Cloud Shell で次のコマンドを実行します。
gcloud components update
プロジェクトに対する Cloud Hub オペレーターのロールを付与します。
gcloud projects add-iam-policy-binding PROJECT_ID \ --member='user:PRINCIPAL' \ --role='roles/cloudhub.operator'PROJECT_IDをプロジェクト ID で置き換えます。プロジェクト内のリソース費用を表示するアクセス権を付与します。このコマンドの例では、閲覧者(
roles/reader)ロールを付与します。権限の範囲が狭いロールを付与するには、billing.resourceCosts.get権限を含むカスタムロールを作成します。gcloud projects add-iam-policy-binding PROJECT_ID \ --member='user:PRINCIPAL' \ --role='roles/reader'プロジェクト内の調査を表示する権限を付与します。
gcloud projects add-iam-policy-binding PROJECT_ID \ --member='user:PRINCIPAL' \ --role='roles/geminicloudassist.investigationViewer'
次のステップ
- [ホーム] ページを表示します。