このドキュメントでは、Cloud Hub の設定方法について説明します。
設定プロセスには、主に次の手順があります。
App Hub アプリケーションを作成し、Cloud Hub でアプリケーションに関するデータを表示するには、アプリケーション管理を設定します。
アプリケーション管理を設定していない場合でも、Cloud Hub でアプリケーション別ではなくGoogle Cloud プロジェクト別に一部のデータを表示できます。
プロジェクト データの API を有効にします。Cloud Hub の一部のページでは、アプリケーション データがサポートされていません。これらのページの API は個別に有効にする必要があります。
Cloud Hub ユーザーにアクセス権を付与します。
Cloud Hub の設定プロセスのさまざまな手順は、さまざまなユーザーまたはチームが担当する場合があります。
アプリケーション管理を設定する
このセクションでは、アプリケーション管理を有効にしてアプリケーションを作成するために必要な手順について説明します。
必要なロール
アプリ対応フォルダの構成に必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。
-
アプリケーション管理を有効にする: フォルダの親リソースに対するフォルダ管理者 (
roles/resourcemanager.folderAdmin) -
請求先アカウントを管理プロジェクトにリンクします。
-
管理プロジェクトに対するプロジェクト支払い管理者 (
roles/billing.projectManager) -
ターゲットの請求先アカウントの請求先アカウント ユーザー (
roles/billing.user)
-
管理プロジェクトに対するプロジェクト支払い管理者 (
-
推奨される API を有効にする: 管理プロジェクトに対する Service Usage 管理者 (
roles/serviceusage.serviceUsageAdmin)。追加のサービスを有効にする場合にのみ必要です。 -
ユーザーにアプリケーション中心のロールを付与する: 管理プロジェクトに対するプロジェクト 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 リソースからアプリケーションを作成します。アプリケーションを作成するをご覧ください。
- 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 を有効にできます。
Google Cloud コンソールで、[ホーム] ページに移動します。
プロジェクト選択ツールから、表示するプロジェクトを選択します。
[推奨 API を有効にする] の横にある [API を表示] をクリックします。有効にする API を示すダイアログが表示されます。
API を有効にするには、[有効にする] をクリックします。
gcloud
Google Cloud CLI を使用して、1 つ以上の特定の API を有効にできます。
デフォルト プロジェクトを、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'
次のステップ
- [ホーム] ページを表示します。