设置 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 角色:

  • 启用应用管理功能: 文件夹的父资源的 Folder Admin (roles/resourcemanager.folderAdmin)
  • 将结算账号与管理项目相关联:
  • 启用推荐的 API: 管理项目的 Service Usage Admin (roles/serviceusage.serviceUsageAdmin),仅当您想启用其他服务时才需要此角色
  • 向用户授予以应用为中心的角色: 管理项目的 Project IAM Admin (roles/resourcemanager.projectIamAdmin)
  • 配置可观测性范围:
  • 在 Cloud Hub 中查看应用级和项目级数据: Cloud Hub Operator 角色 (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 Billing 账号

  2. 在 Google Cloud 控制台中,打开结算页面。

    转到“结算”

  3. 我的项目标签页中,找到管理项目。

  4. 在项目行中,打开 操作菜单,选择更改结算信息,然后选择 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 和其他服务可以查找并显示应用的日志、指标和跟踪数据,即使这些数据存储在多个项目中也是如此。

本部分总结了所需的配置。如需了解详细说明,请参阅设置应用监控。下表显示了所需的配置范围。

范围组件 配置方案 主要操作和注意事项
日志范围 您可以使用 汇总接收器将组织中的所有日志路由到中央日志存储桶。
  1. 创建仅包含存储在存储桶中的应用日志的日志视图。
  2. 在管理项目中配置默认日志范围,以包含日志视图。
您没有组织级汇总接收器,并且已启用应用的文件夹没有嵌套文件夹。
  1. 配置一个汇总接收器,以将应用日志路由到管理项目的 _Default 日志存储桶。
  2. 确保名为 _Default 的日志范围是默认日志范围。
您不想使用汇总接收器。 在管理项目中配置默认日志范围,以列出应用日志数据的存储位置。
指标范围 您配置了一个已启用应用的文件夹,其中包含存储您要查看的指标数据的所有项目。 Google Cloud Observability 会尝试将已启用应用的文件夹中的项目列表与指标范围内的项目列表同步。

只要已启用应用的文件夹中的项目数量不超过指标范围配额,当您在已启用应用的文件夹中添加或移除项目时,Google Cloud Observability 便可让指标范围内的项目列表保持最新状态。
Trace 范围 您希望跨多个项目监控应用跟踪记录数据。
  1. 在管理项目中创建一个自定义跟踪记录范围,其中列出了存储应用跟踪记录数据的项目。
  2. 将自定义跟踪范围设置为默认跟踪范围。

创建应用

启用应用管理后,您就可以创建应用了。您可以通过以下方式创建应用:

  • 使用 App Hub 通过现有Google Cloud 资源创建应用。请参阅创建应用
  • 使用应用设计中心设计和部署新的Google Cloud 资源,这些资源会自动预配 App Hub 应用。您可以使用应用模板来定义设计,然后根据模板部署应用实例

为项目数据启用 API

Cloud Hub 中的大多数页面都会同时显示应用数据和项目数据。不过,有些页面仅支持项目视图的数据。

设置应用管理时,管理项目中已启用用于在 Cloud Hub 中查看应用数据的 API。

如需查看各个项目中资源的数据,您必须在这些项目中启用所需的 API。创建项目时,系统会默认启用一些必需的 API,例如 Cloud Logging 和 Cloud Monitoring。

所需的角色

如需获得启用 API 所需的权限,请让您的管理员为您授予项目的 Service Usage Admin (roles/serviceusage.serviceUsageAdmin) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

如需使用 Gemini Cloud Assist 获得任务方面的帮助(例如问题排查或费用优化),请设置 Gemini Cloud Assist 以启用所需的 API。此设置与 Cloud Hub 中的 API 启用是分开的。

下表总结了每个 Cloud Hub 页面所需的 API。

启用 API

如需为项目启用 API,请执行以下步骤:

页面 支持的数据 必需的 API 可选功能
首页 应用或项目 首页会显示其他 Cloud Hub 页面的汇总数据。
部署 应用 App Hub 和 App 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 配额

Compute Engine 和容量规划工具(适用于容量规划工具非公开预览版中的用户)

支持 仅限项目 Cloud Customer Care

控制台

在 Cloud Hub 首页上,您可以查看未为 Cloud Hub 启用的 API 列表,并启用这些 API。

  1. 在 Google Cloud 控制台中,前往首页

    前往首页

  2. 在项目选择器中,选择要查看的项目。

  3. 点击“启用推荐的 API”旁边的查看 API。系统会显示一个对话框,其中列出了要启用的 API。

  4. 如需启用 API,请点击启用

gcloud

您可以使用 Google Cloud CLI 启用一个或多个特定 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 Operator 角色包含用于查看 Cloud Hub 中大多数数据的权限。您必须分别授予查看“优化”页面上的资源费用和 Gemini Cloud Assist 调查的权限。

根据用户的具体职责,您可能需要授予其他角色,以便他们能够对在 Cloud Hub 中查看的数据采取行动。

所需的角色

如需获得管理项目或文件夹访问权限所需的权限,请让管理员向您授予您要管理其访问权限的资源(项目或文件夹)的以下 IAM 角色:

  • Project IAM Admin (roles/resourcemanager.projectIamAdmin)(如需管理项目访问权限)
  • Folder Admin (roles/resourcemanager.folderAdmin)(如需管理文件夹访问权限)

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

授予应用数据访问权限

控制台

  1. 在 Google Cloud 控制台中,前往 IAM 页面。

    转到 IAM

  2. 在项目选择器中,选择已启用应用的文件夹。

  3. IAM 页面上,点击 授予访问权限授予访问权限窗格随即会打开。

  4. 新主账号字段中,输入 Cloud Hub 用户的电子邮件地址。

  5. 点击选择角色,然后在过滤条件字段中输入 Cloud Hub

  6. 选择 Cloud Hub Operator 角色,然后点击保存。 该角色会授予给应用启用文件夹的所有项目和子文件夹中的个人。

  7. 在项目选择器中,选择管理项目。

  8. 如需授予资源费用和调查方面的角色,请在管理项目中授予所需的角色。

    1. IAM 页面上,点击 授予访问权限授予访问权限窗格随即会打开。
    2. 向相应人员授予以下角色:
      • 如需在“优化”页面上查看费用数据,您需要拥有 Reader (roles/reader) 或 Viewer (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 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,则可能不在已启用应用的文件夹中。从项目选择器中,选择已启用应用的文件夹。

  4. 授予查看管理项目中的资源费用的权限。示例命令会授予 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

  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 Operator 角色,然后点击保存

  7. 您可以使用相同的步骤来授予查看资源费用和调查结果的角色。

    • 如需在“优化”页面上查看费用数据,您需要拥有 Reader (roles/reader) 或 Viewer (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 Operator 角色。

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

    PROJECT_ID 替换为项目 ID。

  4. 授予查看项目资源费用的权限。示例命令会授予 Reader (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'
    

后续步骤