Google Cloud 最佳实践参考

Workload Manager 会根据最新的最佳实践检查资源的状态,并帮助您提高在 Google Cloud上运行的工作负载的质量、可靠性和性能。

本文档列出了 Workload Manager 支持用于评估在 Google Cloud上运行的工作负载的最佳实践。如需了解 Workload Manager,请参阅产品概览

严重级别

运行评估时,Workload Manager 会将资源的当前状态与最佳实践进行比较,从而评估资源。如果资源不符合所选的最佳实践,Workload Manager 会为其分配一个严重程度,以指示资源不合规的程度。 Google Cloud 控制台会使用图标标记每个不合规的资源。下表说明了这些图标、对应的严重程度、当前资源设置可能对工作负载产生的影响,以及有关如何修改资源以遵循最佳实践的建议。
图标 严重级别 影响 建议
严重 系统可靠性、意外中断、不受支持的配置

尽快解决,以免因意外中断风险较高而影响系统可用性和数据完整性。

性能衰减、系统稳定性 在下一个计划维护窗口期间解决。
性能和支持能力欠佳 请尽快解决。
信息性非必要行为 虽然无需解决问题,但查看此最佳实践可提供有用的数据洞见。

支持的最佳实践

Workload Manager 支持评估以下类型的工作负载,以帮助确保它们遵循 Google Cloud 最佳实践:

以下各部分列出了在 Google Cloud上运行的工作负载支持的最佳实践。

共有 627 条最佳实践规则。

按最佳实践划分的规则数量

类别 规则计数
API 密钥4
Access Transparency1
AlloyDB for PostgreSQL4
Apigee X1
Artifact Registry1
BigQuery10
Cloud Bigtable3
Cloud Build1
Cloud DNS3
Cloud Functions3
Cloud Key Management Service14
Cloud Load Balancing4
Cloud Logging3
Cloud Pub/Sub7
Cloud Router6
Cloud Run3
Cloud SQL35
Cloud Spanner6
Cloud Storage20
Cloud VPN4
Composer1
Compute Engine95
Dataproc2
Filestore5
Firestore1
Gemini Enterprise Agent Platform18
Gemini Enterprise Agent Platform Workbench11
Google Kubernetes Engine55
IAM75
Memorystore for Memcache2
Memorystore for Redis8
Memorystore for Redis Cluster3
NetApp Volumes1
网络5
Organization Policy Service58
Resource Manager3
SecOps1
Secret Manager2
Security Command Center1
敏感数据保护1
MySQL:常规7
OpenShift:费用优化1
OpenShift:运营效率6
OpenShift:可靠性5
OpenShift:安全性6
Redis:常规7
SAP:常规14
SAP:HANA10
SAP:HANA Insights18
SAP:HANA 安全最佳实践19
SAP:高可用性33
SAP:NetWeaver3
SQL Server:费用优化2
SQL Server:故障切换集群2
SQL Server:性能10
SQL Server:稳定性3
总计627

最佳实践会添加标记,以帮助您确定其重点领域:

选择一个或多个规则类别,以过滤以下列表。

Google Cloud 最佳实践 - API 密钥(4 项结果

  • 严重程度
    严重程度:中等 媒介
    标签:IAM、API 密钥、安全性、CSPR、CoNa
    资源:apikeys.googleapis.com/Key
    详情
    验证是否已对所有 API 密钥应用限制,以防止滥用行为,避免导致安全漏洞、未经授权的数据访问权限和意外费用。
  • 严重程度
    严重程度:中等 媒介
    标签:IAM、API 密钥、安全性、CSPR、CoNa
    资源:apikeys.googleapis.com/Key
    详情
    确保 API 密钥仅限于特定服务,防止潜在的滥用行为,以免导致未经授权的 API 激活、安全漏洞和意外费用。
  • 严重程度
    严重程度:低
    标签:IAM、API 密钥、安全性、CSPR
    资源:apikeys.googleapis.com/Key
    详情
    强制执行 90 天的 API 密钥轮替政策,以最大限度地降低因凭据丢失、泄露或遭破解而造成的安全风险。
  • 严重程度
    严重程度:中等 媒介
    标签:IAM、API 密钥、安全性、CSPR
    资源:apikeys.googleapis.com/Key
    详情
    标记任何 API 密钥的存在,以鼓励使用更安全的身份验证方法(例如服务账号),从而降低与静态长期有效凭据相关的风险。

Google Cloud 最佳实践 - Access Transparency(1 条结果

  • 严重程度
    严重程度:中等 媒介
    标记:Access Transparency、serviceusage、安全性、合规性
    资源:serviceusage.googleapis.com/Service
    详情
    检查 Access Transparency 服务是否已启用。Access Transparency 可为您提供有关 Google 员工在访问您的内容时所执行操作的日志。

Google Cloud 最佳实践 - AlloyDB for PostgreSQL(4 项结果

  • 严重程度
    严重程度:中等 媒介
    标签:AlloyDB、备份、可靠性、费用、BCDR、数据保护、CSPR
    资源:alloydb.googleapis.com/Cluster
    详情
    验证 AlloyDB 集群是否已启用自动备份政策,确保关键数据受到保护,不会丢失,并且可以快速恢复,从而保持业务连续性和服务可靠性。
  • 严重程度
    严重程度:中等 媒介
    标签:AlloyDB、备份、BCDR、数据保护、可靠性、费用、CSPR
    资源:alloydb.googleapis.com/Cluster
    详情
    验证 AlloyDB 集群是否已启用持续备份,从而提供关键的时间点恢复 (PITR) 功能,以防数据丢失并确保业务连续性。
  • 严重程度
    严重程度:高
    标签:可靠性、运营、BCDR、CSPR
    资源:alloydb.googleapis.com/Cluster
    详情
    验证 AlloyDB 集群是否已定义维护更新政策。通过定义维护政策,组织可以在非高峰时段安排更新,以最大限度地减少中断。如果未设置此政策,则表示采用默认时间,这可能会与关键运营期重合。
  • 严重程度
    严重程度:高
    标签:AlloyDB、安全性、网络、CSPR
    资源:alloydb.googleapis.com/Instance
    详情
    检查 AlloyDB 实例是否已启用公共 IP。公共 IP 地址会将实例暴露在互联网上,从而扩大受攻击面。建议改用专用 IP。

Google Cloud 最佳实践 - Apigee X(1 项结果

  • 严重程度
    严重程度:高
    标签:可靠性、API、Apigee、高可用性、BCDR、CoNa
    资源:apigee_Organization_RESOURCE_INSTANCE
    详情
    验证 Apigee X 组织是否在至少 2 个不同的区域中部署了 Apigee 实例。多区域 Apigee 部署可确保 API 网关冗余、低延迟,并防范区域性服务中断。

Google Cloud 最佳实践 - Artifact Registry(1 项结果

  • 严重程度
    严重程度:高
    标签:可靠性、可用性、BCDR
    资源:artifactregistry.googleapis.com/Repository
    详情
    验证 Artifact Registry 代码库是否已配置为使用多区域位置(例如 us、europe、asia)。使用多区域位置可确保制品在多个地理区域之间复制,从而显著提高可用性并增强针对区域性服务中断的恢复能力。

Google Cloud 最佳实践 - BigQuery(10 条结果

  • 严重程度
    严重程度:中等 媒介
    标签:BigQuery、数据集、加密、CMEK、安全性、CSPR
    资源:bigquery.googleapis.com/Dataset
    详情
    检查 BigQuery 数据集是否使用 Cloud KMS 中的客户管理的加密密钥 (CMEK) 进行加密。虽然 BigQuery 默认使用 Google 管理的密钥对静态数据进行加密,但 CMEK 可提供对密钥管理(包括轮换、访问权限控制和审核日志记录)的更精细控制。此规则会检查数据集配置中的 defaultEncryptionConfiguration 字段。如果缺少此字段,或者此字段存在但缺少 kmsKeyName 属性,则会触发违规。缺少 defaultEncryptionConfiguration 或 kmsKeyName 表示数据集未采用 CMEK 进行加密,这可能会影响合规性和安全性。
  • 严重程度
    严重程度:低
    标签:BigQuery、数据集、标签、组织、FinOps、管理、CSPR
    资源:bigquery.googleapis.com/Dataset
    详情
    检查 BigQuery 数据集是否已应用标签。标签是用户定义的键值对,可帮助整理和管理 Google Cloud 中的资源。它们可用于过滤、分组和生成费用报告。此规则会检查数据集中是否存在标签字段。如果缺少或为空,则会触发违规。
  • 严重程度
    严重程度:低
    标记:BigQuery、数据集、标记、组织、管理、访问控制、FinOps、CSPR、CoNa、MVSP
    资源:bigquery.googleapis.com/Dataset
    详情
    检查 BigQuery 数据集是否已应用资源标记。资源标记是通过 Resource Manager 管理的键值对。它们可用于更广泛的组织用途,包括与其他 Google Cloud 服务和外部系统集成(例如,通过标记绑定进行访问权限控制)。此规则会检查是否存在 resourceTags 字段。如果缺少或为空,则会生成违规情况。
  • 严重程度
    严重程度:高
    标签:可靠性、BigQuery、多区域、高可用性、BCDR
    资源:bigquery.googleapis.com/Dataset
    详情
    验证 BigQuery 数据集是否配置为使用多区域位置(例如“美国”或“欧盟”),以确保跨区域实现高弹性和数据冗余。区域数据集(带有连字符的配置)不符合此标准。
  • 严重程度
    严重程度:高
    标签:BigQuery、数据集、安全性、隐私权、费用、可靠性、CSPR
    资源:bigquery.googleapis.com/Dataset
    详情
    检查 BigQuery 数据集是否未公开。公开暴露的数据集可能会导致意外的数据泄露和潜在的隐私权侵犯。BigQuery 通过 IAM 角色提供精细的访问权限控制,数据集应仅限授权用户和服务账号访问。此规则会检查数据集的访问权限控制列表中是否存在 allUsers 或 allAuthenticatedUsers,如果存在,则表示授予了公开访问权限。如果缺少这些条目,则表示相应数据集无法公开访问。
  • 严重程度
    严重程度:中等 媒介
    标签:BigQuery、表、加密、CMEK、KMS、安全性、合规性、CSPR
    资源:bigquery.googleapis.com/Table
    详情
    检查 BigQuery 表是否使用 Cloud KMS 中的客户管理的加密密钥 (CMEK) 进行加密。默认情况下,BigQuery 会使用 Google 管理的密钥对静态数据进行加密。CMEK 可让组织更精细地控制加密密钥,从而管理密钥轮替、访问和审核。此规则会检查表配置中的 encryptionConfiguration 字段。如果此字段缺失,或者存在但不包含 kmsKeyName,则表示相应表未使用 CMEK 进行加密。
  • 严重程度
    严重程度:低
    标签:BigQuery、表、过期、DataLifecycle、费用优化、数据治理、CSPR
    资源:bigquery.googleapis.com/Table
    详情
    检查 BigQuery 表是否已设置失效时间。为表设置过期时间是管理数据生命周期和控制存储费用的最佳实践,对于临时表或过渡表尤其如此。此规则会检查表格配置中的 expirationTime 字段。如果 expirationTime 为 null(或缺失,在 Rego 中以相同方式处理),则表示未设置表的过期时间,系统会生成违规情况。明确的过期时间是数据治理的一项良好实践。
  • 严重程度
    严重程度:低
    标签:BigQuery、表、标签、组织、FinOps、管理、CSPR
    资源:bigquery.googleapis.com/Table
    详情
    检查 BigQuery 表是否已应用标签。标签是用户定义的键值对,可帮助整理和管理 Google Cloud 中的资源。它们可用于过滤、分组和生成费用报告。此规则会检查表中是否存在 labels 字段。如果缺少或为空,则会触发违规。
  • 严重程度
    严重程度:低
    标签:BigQuery、表、标签、组织、管理、访问控制、FinOps、CSPR、CoNa、MVSP
    资源:bigquery.googleapis.com/Table
    详情
    检查 BigQuery 表是否已应用资源标记。资源标记是通过 Resource Manager 管理的键值对。它们可用于更广泛的组织用途,包括与其他 Google Cloud 服务和外部系统集成(例如,通过标记绑定进行访问权限控制)。此规则会检查是否存在 resourceTags 字段。如果缺少 resourceTags 字段或该字段为空,系统会生成违规提示。
  • 严重程度
    严重程度:低
    标签:BigQuery、表、分区、过期、DataLifecycle、成本优化、时间分区、CSPR
    资源:bigquery.googleapis.com/Table
    详情
    检查时间分区 BigQuery 表是否已设置分区过期时间。分区过期功能会自动删除早于指定时长的分区。这对于管理存储费用和数据生命周期至关重要,尤其对于大型时序数据集。此规则会检查 timePartitioning 字段,特别是 timePartitioning 中的 expirationMs 字段。如果缺少 timePartitioning 或 expirationMs,或者 expirationMs 不是正整数,则表示分区过期时间配置不正确,系统会生成违规情况。

Google Cloud 最佳实践 - Cloud Bigtable(3 项结果

  • 严重程度
    严重程度:高
    标签:可靠性、数据库、Bigtable、高可用性、BCDR
    资源:bigtableadmin_Instance_RESOURCE_CLUSTER
    详情
    验证 Bigtable 实例是否在 3 个或更多不同区域中部署了集群。多区域集群冗余可确保 99.999% 的可用性、强大的灾难恢复能力,并为全球分布式应用提供低延迟访问。
  • 严重程度
    严重程度:高
    标签:可靠性、数据库、Bigtable、复制、高可用性
    资源:bigtableadmin_Instance_RESOURCE_CLUSTER
    详情
    通过确保 Bigtable 实例在至少 2 个不同的可用区或区域中部署了集群,来验证这些实例是否已启用复制功能。复制对于实现高可用性、故障切换和灾难恢复至关重要。
  • 严重程度
    严重程度:高
    标签:可靠性、高可用性、BCDR、Bigtable
    资源:bigtableadmin.googleapis.com/AppProfile
    详情
    验证 Bigtable 应用配置文件是否使用 multi_cluster_routing_use_any 来启用自动故障切换并确保高可用性。使用单集群路由会造成单点故障,如果特定集群变得不可用,可能会导致服务中断。

Google Cloud 最佳实践 - Cloud Build(1 项结果

  • 严重程度
    严重程度:中等 媒介
    标签:可靠性、安全性、CloudBuild、高可用性、BCDR
    资源:cloudresourcemanager_Project_RESOURCE_WORKERPOOL
    详情
    验证 Cloud Build 专用工作器池是否部署在至少 2 个不同的区域中。在多个区域中部署专用工作器池可确保在区域级 build 服务发生中断时,CI/CD 工作流能够进行故障切换。

Google Cloud 最佳实践 - Cloud DNS(3 项结果

  • 严重程度
    严重程度:中等 媒介
    标签:DNS、政策、日志记录、安全性、审核、VPC、CSPR、CoNa、MVSP
    资源:dns.googleapis.com/Policy
    详情
    检查是否已为 Cloud DNS 政策启用日志记录。DNS 政策用于定义 DNS 解析行为的规则,通常用于出站转发或专用 DNS 查找。启用日志记录功能后,系统会记录政策处理的查询,这对于安全审核和排查 VPC 网络中的 DNS 解析问题至关重要。此规则会检查 DNS 政策配置中的 enableLogging 字段。如果缺少 enableLogging 或其值为 false,则会生成违规。
  • 严重程度
    严重程度:高
    标签:DNS、DNSSEC、安全性、ManagedZone、Public、CSPR、CoNa
    资源:dns.googleapis.com/ManagedZone
    详情
    检查 Cloud DNS 中是否为公开的代管式可用区启用了 DNSSEC(域名系统安全扩展)。DNSSEC 通过对 DNS 记录进行数字签名来增加一层安全性,从而防止 DNS 欺骗和缓存中毒攻击。此规则会检查受管区域配置中的 dnssecConfig 字段。如果缺少 dnssecConfig,或者其状态为“关闭”或缺失,则表示 DNSSEC 未启用。如果未为公共可用区启用 DNSSEC,系统会生成违规情况。此规则会进行过滤,仅影响公开的受管地区。
  • 严重程度
    严重程度:中等 媒介
    标签:DNS、ManagedZone、日志记录、安全性、审核、公开、CSPR、CoNa、MVSP
    资源:dns.googleapis.com/ManagedZone
    详情
    检查是否为公开 Cloud DNS 代管式可用区启用了日志记录。启用 DNS 日志记录功能后,系统会记录地区域名服务器收到的查询,这对于安全审核、问题排查和合规性至关重要。此规则会检查受管区域配置中的 loggingConfig 字段。如果区域的公开范围为“公开”,并且缺少 loggingConfig 或 loggingConfig.enableLogging,或者 loggingConfig.enableLogging 为 false,则会生成违规情况。

Google Cloud 最佳实践 - Cloud Functions(3 项结果

  • 严重程度
    严重程度:高
    标记:可靠性、安全性、网络、高可用性
    资源:cloudfunctions.googleapis.com/Function
    详情
    验证 Cloud Functions 是否已配置为 ALLOW_INTERNAL_AND_GCLB 的入站流量设置。此设置会限制对内部流量和 Google Cloud 负载均衡的访问,这是使用全球外部负载平衡器实现多区域高可用性并防止直接公开访问的必要条件。
  • 严重程度
    严重程度:中等 媒介
    代码:可靠性、性能、无服务器
    资源:cloudfunctions.googleapis.com/Function
    详情
    确保 Cloud Functions 的 minInstances 设置配置为大于 0 的值。此配置可防止冷启动,确保实例始终处于预热状态并随时可以运行,从而在流量高峰期间保持性能稳定并缩短延迟时间。
  • 严重程度
    严重程度:高
    标签:可靠性、无服务器、Cloud Functions、高可用性、BCDR
    资源:cloudresourcemanager_Project_RESOURCE_FUNCTION
    详情
    验证项目是否已在至少 2 个不同区域中部署 Cloud Functions。多区域 Cloud Function 部署可确保无服务器应用的冗余,并在发生区域性服务中断时确保无缝故障切换。

Google Cloud 最佳实践 - Cloud Key Management Service(14 条结果

  • 严重程度
    严重程度:中等 媒介
    标签:KMS、CryptoKey、安全性、HSM、ProtectionLevel、加密、CSPR、CoNa
    资源:cloudkms.googleapis.com/CryptoKey
    详情
    检查 Cloud KMS CryptoKeys 保护级别是否设置为 HSM。protectionLevel 决定了加密操作的执行位置。HSM 表示这些操作是在硬件安全模块中进行的。HSM 可提供更高级别的安全性。此规则会检查 versionTemplate.protectionLevel 字段。如果 protectionLevel 为 HSM,则生成违规情况。虽然在某些使用场景中,SOFTWARE 保护级别可以接受,但对于安全性要求较高的场景,我们通常建议使用 HSM。
  • 严重程度
    严重程度:中等 媒介
    标签:KMS、CryptoKey、安全性、HSM、ProtectionLevel、加密、CSPR、CoNa
    资源:cloudkms.googleapis.com/CryptoKey
    详情
    检查 Cloud KMS CryptoKeys 保护级别是否设置为 SOFTWARE。protectionLevel 决定了加密操作的执行位置。SOFTWARE 表示操作在软件中进行,而 HSM 表示操作在硬件安全模块中进行。HSM 可提供更高级别的安全性。此规则会检查 versionTemplate.protectionLevel 字段。如果 protectionLevel 为 SOFTWARE,则会生成违规情况。虽然在某些使用场景中,SOFTWARE 保护级别可以接受,但对于安全性要求较高的场景,我们通常建议使用 HSM。
  • 严重程度
    严重程度:高
    标签:KMS、CryptoKey、轮替、安全性、加密、对称、KeyRotation、CSPR、CoNa
    资源:cloudkms.googleapis.com/CryptoKey
    详情
    检查是否已为具有 GOOGLE_SYMMETRIC_ENCRYPTION 算法且处于 ENABLED 状态的 Cloud KMS CryptoKey 配置密钥轮替。定期轮替密钥是一项关键的安全最佳实践。此规则会验证以下内容:1. 密钥状态为 ENABLED。2. 用途:密钥的用途为 ENCRYPT_DECRYPT。3. versionTemplate.algorithm 算法为 GOOGLE_SYMMETRIC_ENCRYPTION。4. rotationPeriod 或 nextRotationTime 如果缺少这两个字段中的任何一个,则表示未配置轮替,系统会生成违规情况。如果密钥遭到入侵,不轮换密钥会显著增加风险。
  • 严重程度
    严重程度:高
    标签:可靠性、安全性、KMS、ExternalKey、高可用性
    资源:cloudkms.googleapis.com/EkmConnection