概览

本文档简要介绍了标签及其功能。

什么是标签?

标签是您可以分配给 Google Cloud 资源的键值对。它们可帮助您以您需要的精细度组织这些资源并大规模管理费用。您可以将标签附加到各项资源,然后根据其标签对资源进行过滤。有关标签的信息会转发到结算系统,可让您按标签细分已出账单费用。通过内置的结算报告,您可以按资源标签对费用进行过滤和分组。您还可以使用标签来查询结算数据导出

标签要求

应用于资源的标签必须符合以下要求:

  • 每项资源最多可以有 64 个标签。
  • 每个标签都必须采用键值对形式。
  • 键至少包含 1 个字符,最多包含 63 个字符,且不能为空。值可以为空,且最多包含 63 个字符。
  • 键和值只能包含小写字母、数字字符、下划线和短划线。所有字符必须使用 UTF-8 编码,允许使用国际字符。 键必须以小写字母或国际字符开头。
  • 标签的键部分在单个资源内必须是唯一的。不过,您可以将同一个键用于多个资源。

这些限制适用于每个标签的键和值,以及带有标签的各个 Google Cloud 资源。您可以对一个项目的所有资源应用任意数量的标签。

标签的常见用途

以下是标签的一些常见使用场景:

  • 团队或成本中心标签:根据团队或成本中心添加标签,以区分不同团队(例如 team:researchteam:analytics)所拥有的资源。您可以在进行成本核算或预算时使用此类标签。

  • 组件标签:例如 component:rediscomponent:frontendcomponent:ingestcomponent:dashboard

  • 环境或阶段标签:例如 environment:productionenvironment:test

  • 状态标签:例如 state:activestate:readytodeletestate:archive

  • 所有权标签:用于标识负责运营的团队,例如 team:shopping-cart

  • 网络标签:标签可附加到虚拟机。您在过去定义的网络标记将显示为没有值的标签。

我们不建议创建大量唯一标签,例如时间戳或每个 API 调用的单个值。这种方法的问题在于,当值经常变化或键导致目录杂乱时,很难有效地过滤和报告资源。

标签和标记

标签可用作资源可查询的注释,但不能用于设置政策的条件。通过对政策进行精细控制,标记提供了一种有条件地允许或拒绝政策的方法,具体取决于资源是否具有特定的标记。如需了解详情,请参阅标记概览

权限

如果您需要添加、修改和查看项目的标签,则需要以下权限:

  • 您可以调用 projects.patch() 方法来添加或修改标签。这需要 resourcemanager.projects.update 权限。
  • 您可以调用 projects.get() 方法查看项目的标签。这需要 resourcemanager.projects.get 权限。

使用标签了解费用

您可以将标签附加到资源,然后根据其标签过滤资源。有关标签的信息会转发到结算系统,可让您按标签细分已出账单费用

您可以通过以下方式使用标签了解费用:

  • 您可以向虚拟机或 Cloud Storage 存储分区添加 costcenter=cost_center_nameservice=service_nameenvironment=environment_name 等标签。这样,您就可以了解资源的部署位置、用途以及资源费用中心。
  • 您可以启用将结算数据导出到 BigQuery 的功能。标签将连同相应的 Google Cloud 资源及其使用情况一起导出到 BigQuery。这样,您就可以监控各种方面,例如在应用中运行购物车服务的费用或开发者测试机器的费用。
  • 您可以将 BigQuery 与标签结合使用,以了解所有测试系统资源与生产资源的费用,或特定服务的费用。

示例

在此示例中,项目的 playlist 服务费用通过将使用情况和标签导出到 BigQuery 来确定。为此,请先启用将结算数据导出到 BigQuery 的功能。labels-demo-prj 是资源使用情况的来源,labels_demo_bqexport 是存储使用情况数据的目标数据集。将用量和标签导出到 BigQuery 后,您可以确定 playlist 服务的费用是多少。

以下是 BigQuery 中的 Compute Engine 用量及其相关费用的详细信息。