本文档介绍了如何设置 Cloud Hub。
设置流程包含以下几个主要步骤:
如需创建 App Hub 应用并在 Cloud Hub 中查看相关数据,请设置应用管理。
如果您不设置应用管理,仍可在 Cloud Hub 中按Google Cloud 项目(而非按应用)查看部分数据。
为项目数据启用 API。Cloud Hub 中的某些页面不支持应用数据。您必须单独为这些网页启用 API。
向 Cloud Hub 用户授予访问权限。
不同的人员或团队可能负责 Cloud Hub 设置流程中的不同步骤。
设置应用管理
本部分介绍了启用应用管理功能和创建应用所需的步骤。
所需的角色
如需获得配置启用应用的文件夹所需的权限,请让您的管理员为您授予以下 IAM 角色:
-
启用应用管理功能:
文件夹的父资源的 Folder Admin (
roles/resourcemanager.folderAdmin) -
启用 API:
目标文件夹的 Service Usage Admin (
roles/serviceusage.serviceUsageAdmin)(用于启用必需的 API 和推荐的 API) -
将结算账号与管理项目相关联:
-
针对管理项目的 Project Billing Manager (
roles/billing.projectManager) -
目标结算账号的 Billing Account User (
roles/billing.user)
-
针对管理项目的 Project Billing Manager (
-
向用户授予以应用为中心的角色:
管理项目的 Project IAM Admin (
roles/resourcemanager.projectIamAdmin) -
配置可观测性范围:
-
管理项目的 Observability Editor (
roles/observability.editor) -
管理项目的 Logs Configuration Writer (
roles/logging.configWriter) -
针对管理项目以及要添加到指标范围的每个项目的 Monitoring Admin (
roles/monitoring.admin) -
针对管理项目的 Cloud Trace User (
roles/cloudtrace.user) -
管理项目的 App Hub Viewer (
roles/apphub.viewer)
-
管理项目的 Observability Editor (
-
在 Cloud Hub 中查看应用级和项目级数据:
已启用应用的文件夹的 Cloud Hub Operator 角色 (
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 \ --enable将
FOLDER_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 资源配额的工作负载。
- 使用应用设计中心创建模板和部署应用。
如需简要了解与应用管理和已启用的 API 相关的潜在费用,请参阅了解费用。
请按照以下步骤将有效的结算账号与您的管理项目相关联:
控制台
验证您要用于应用管理的结算账号是否存在。如需创建结算账号,请参阅创建新的自助 Cloud Billing 账号。
在 Google Cloud 控制台中,打开结算页面。
在我的项目标签页中,找到管理项目。
在项目行中,打开 操作菜单,选择更改结算信息,然后选择 Cloud Billing 账号。
如需详细了解如何为项目启用结算功能,请参阅为项目启用结算功能。
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 和其他服务可以查找并显示应用的日志、指标和跟踪数据,即使这些数据存储在多个项目中也是如此。
本部分总结了所需的配置。如需了解详细说明,请参阅设置应用监控。下表显示了所需的配置范围。
| 范围组件 | 配置方案 | 主要操作和注意事项 |
|---|---|---|
| 日志范围 | 您可以使用 汇总接收器将组织中的所有日志路由到中央日志存储桶。 |
|
| 您没有组织级汇总接收器,并且已启用应用的文件夹没有嵌套文件夹。 |
|
|
| 您不想使用汇总接收器。 | 在管理项目中配置默认日志范围,以列出应用日志数据的存储位置。 | |
| 指标范围 | 您配置了一个已启用应用的文件夹,其中包含存储您要查看的指标数据的所有项目。 | Google Cloud Observability 会尝试将已启用应用的文件夹中的项目列表与指标范围内的项目列表同步。 只要已启用应用的文件夹中的项目数量不超过指标范围配额,当您在已启用应用的文件夹中添加或移除项目时,Google Cloud Observability 便可让指标范围内的项目列表保持最新状态。 |
| 跟踪记录范围 | 您希望跨多个项目监控应用跟踪记录数据。 |
|
创建应用
启用应用管理后,您就可以创建应用了。您可以通过以下方式创建应用:
- 使用 App Hub 通过现有Google Cloud 资源创建应用。请参阅创建应用。
- 使用应用设计中心设计和部署新的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 中查看使用情况和预测数据时需要。 |
容量规划工具价格 |
|
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 服务中断 |
Personalized Service Health pricing | |
| Recommender API ( recommender.googleapis.com)
生成 Active Assist 建议和分析洞见,以帮助您优化 Google Cloud 资源 |
在 Cloud Hub 中查看 费用优化建议时需要此权限 |
Recommender 定价 |
| Gemini Cloud Assist API ( geminicloudassist.googleapis.com)
Gemini for Google Cloud 产品组合中的一款产品,可提供 AI 赋能的辅助功能,简化 Google Cloud中的应用生命周期。 |
Gemini Cloud Assist 定价 | |
| Cloud Quotas API ( cloudquotas.googleapis.com)
查看和管理配额。 |
在 Cloud Hub 中查看配额和系统限制时需要此权限。 |
Cloud 配额价格 |
| Unified Maintenance API ( maintenance.googleapis.com)
管理 Google Cloud 服务的计划内维护。 |
在 Cloud Hub 中查看维护活动所需权限 |
Unified Maintenance 价格 |
| Service Usage API ( serviceusage.googleapis.com)
列出并管理 Google Cloud 项目中的 API 和服务。 |
在 Cloud Hub 中查看配额和系统限制时需要此权限。 |
服务使用工具价格 |
设置应用管理后,许多向 Cloud Hub 提供数据的 API 会在管理项目中启用,作为必需的 API。
不过,Cloud Hub 使用的某些 API 仅提供项目数据,或者不会自动启用为管理项目上的必需 API。
按照本部分中的说明为 Cloud Hub 启用缺少的 API。
所需的角色
如需获得启用 API 所需的权限,请让您的管理员为您授予您想要启用 API 的项目的 Service Usage Admin (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 --available如果系统未列出任何 API,则表示您尚未被授予启用 API 的权限。
启用要在项目中使用的服务。您可以通过提供服务名称列表来启用多个 API。
gcloud services enable SERVICE_NAME1 SERVICE_NAME2
向 Cloud Hub 用户授予访问权限
Cloud Hub Operator 角色包含查看 Cloud Hub 中大多数数据的权限。您必须分别授予查看“优化”页面上的资源费用和 Gemini Cloud Assist 调查的权限。
根据用户的具体职责,您可能需要授予其他角色,以便他们能够对在 Cloud Hub 中查看的数据采取行动。
所需的角色
如需获得管理项目或文件夹访问权限所需的权限,请让管理员向您授予您要管理其访问权限的资源(项目或文件夹)的以下 IAM 角色:
-
Project IAM Admin (
roles/resourcemanager.projectIamAdmin)(如需管理项目访问权限) -
Folder Admin (
roles/resourcemanager.folderAdmin)(如需管理文件夹访问权限)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
授予应用数据访问权限
控制台
在 Google Cloud 控制台中,前往 IAM 页面。
在项目选择器中,选择已启用应用的文件夹。
在 IAM 页面上,点击 授予访问权限。 此时会打开授予访问权限窗格。
在新主账号字段中,输入 Cloud Hub 用户的电子邮件地址。
点击选择角色,然后在过滤条件字段中输入 Cloud Hub。
选择 Cloud Hub Operator 角色,然后点击保存。 该角色会授予给应用启用文件夹的所有项目和子文件夹中的个人。
在项目选择器中,选择管理项目。
如需授予资源费用和调查方面的角色,请在管理项目中授予所需的角色。
- 在 IAM 页面上,点击 授予访问权限。 此时会打开授予访问权限窗格。
- 向相应人员授予以下角色:
- 如需在“优化”页面上查看费用数据,您需要拥有 Reader (
roles/reader) 或 Viewer (roles/viewer) 角色,或者拥有包含billing.resourceCosts.get权限的自定义角色。 - 如需查看 Gemini Cloud Assist 调查,请使用“调查查看者”角色 (
roles/geminicloudassist.investigationViewer)
- 如需在“优化”页面上查看费用数据,您需要拥有 Reader (
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 Operator 角色。此角色会授予给应用启用文件夹的所有项目和子文件夹中的个人。
gcloud resource-manager folders add-iam-policy-binding FOLDER_ID \ --member='user:PRINCIPAL' \ --role='roles/cloudhub.operator'将
FOLDER_ID替换为文件夹的 ID。您可以在 Google Cloud 控制台的 IAM 和管理设置页面上找到已启用应用功能的文件夹 ID。为确保文件夹已启用应用,设置页面应显示管理项目 ID。如果您找不到管理项目 ID,则可能不在已启用应用的文件夹中。从项目选择器中,选择已启用应用的文件夹。授予查看管理项目中的资源费用的权限。此示例命令会授予 Reader (
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 Operator 角色,然后点击保存。
您可以使用相同的步骤来授予查看资源费用和调查结果的角色。
- 如需在“优化”页面上查看费用数据,您需要拥有 Reader (
roles/reader) 或 Viewer (roles/viewer) 角色,或者拥有包含billing.resourceCosts.get权限的自定义角色。 - 如需查看 Gemini Cloud Assist 调查,请使用“调查查看者”角色 (
roles/geminicloudassist.investigationViewer)
- 如需在“优化”页面上查看费用数据,您需要拥有 Reader (
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 Operator 角色。
gcloud projects add-iam-policy-binding PROJECT_ID \ --member='user:PRINCIPAL' \ --role='roles/cloudhub.operator'将
PROJECT_ID替换为项目 ID。授予查看项目中的资源费用的权限。此示例命令会授予 Reader (
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'
后续步骤
- 查看首页。