亚马逊AWS官方博客

成本分配博文之二:Amazon 生成与用户定义的成本分配标签

原文链接:

https://amazonaws-china.com/cn/blogs/aws-cost-management/cost-allocation-blog-series-2-aws-generated-vs-user-defined-cost-allocation-tag/

 

在上一篇题为《您需要了解的成本分配基础知识》博文中,我们了解了做好成本分配的三项基本要素:1)账户结构;2)标记;3)成本分摊报告。您需要首先明确这些元素,之后才能构建起切实满足业务需求的良好成本分配模型。标记是一种使用元数据格式对资源所有权及使用目的做出定义的好办法,您可以借此快速管理并过滤资源,而后据此将成本追溯至正确的实体。在本文中,我们将介绍如何使用两种成本分配标签类型:Amazon 生成标签,与用户定义标签。

Amazon 允许您灵活地随时启动资源与服务,且仅需要为实际使用的资源付费。随着 Amazon 资源使用量的不断增长,成本意识与问责制度必然成为您新的重要议题。随着越来越多用户在Amazon上构建应用程序,跟踪正确实体的相应成本往往也变得愈发困难。正因为如此,我们才需要制定清晰的资源标记策略。这些标签将帮助您管理资源,确保资源名称始终拥有直观或易于理解的意义。标签还有助于提高透明度,准确将成本映射至特定产品或应用程序。这种通过标签进行成本关联的机制,被称为成本分配标签;在激活之后,成本分配标签将组织您的资源成本,并帮助您通过成本分配报告或者 Amazon Cost Explorer 具体跟踪这些成本。

Amazon 目前提供两种成本分配标签:用户定义型与 Amazon 生成型。

  • Amazon 生成标签:这些 “createdBy ”标签由 Amazon 自动定义、创建与管理。
  • 用户定义 Amazon 标签:即您实际定义、手动创建并应用于各项服务的标签。标签键可以包含您希望跟踪的所有内容,包括项目与成本中心等。

我们将比较这两种选项,分析哪种选项更适合您。在开始之前,您应确保已经拥有主账户、或者非组织成员的单一账户。请注意,只有主账户或独立单一账户能够访问 Billing and Cost Management 控制台中的 Cost Allocation Tags 管理器。

 

Amazon创建成本分配标签

首先需要明确,将成本分配标签统一应用于实际启动的各项服务往往是项相当繁琐的任务。例如,我们可能需要手动将标签应用于各个EC2镜像,这无疑相当耗时。对某些组织而言,对每一项服务做出标记本身也极为困难。正因为如此,我们才决定发布Amazon生成的成本分配标签。此预定义标签(键=createBy)会在启动后自动创建并应用于适当服务。使用这些由Amazon生成的成本分配标签,您无需额外将标签应用于启动中的各项服务。使用Amazon生成标签的主要优势在于,一旦激活,默认所有成员账户都将启用此标签。因此从组织的角度看,再不必单独考量哪些账户启用了成本分配标签、哪些账户还没有启用。

您可以在Billing and Cost Management控制台中通过以下四个步骤激活Amazon生成的标签。

  • 登录至Amazon管理控制台并打开Billing and Cost Management控制台
  • 在导航面板中,选择 Cost Allocation Tags
  • User-Defined Cost Allocation Tags 之下,选择createdBy标签(注:尽管是在用户定义成本分配标签部分下,createdBy 仍然能够启用 Amazon 生成成本分配标签)

  • 选择 Activate

此 createdBy 标签会使用以下键-值定义:

标签最多可能需要24小时后方能激活。激活标签之后,Amazon 即会将标签应用于启用AWS生成标签之后创建的各项资源。请注意,createdBy 标签不会被计入各种资源的配额限制标签,每种AWS资源最多可包含50个用户创建的标签。

 

使用注意事项:Amazon 生成的成本分配标签

这里的主要问题在于,这种生成标签只支持数量有限的部分 Amazon 服务。您可以在用户指南中参阅启动时支持 Amazon 生成标签的服务清单。如您所见,Lambda、RDS 以及 SN S等重要服务并不在其中。另外需要注意的是,一旦激活,此标签将在启动期间应用于(表中列出的)全部服务;您无法通过选择取消特定服务上的标签。例如,您可能不打算在EC2镜像上使用标签,但希望在所有 Cloud Formation 栈上使用标签,这时您将无法指定哪些服务可以/无法继承此标签。默认情况下,清单中列出的所有服务都将继承此标签。出于这两大限制,更有效的方式往往是将 Amazon 生成标签与用户定义标签混合使用,借此保证其他不受支持的 Amazon 服务也具备成本分配标签、且相关结果能显示在 Amazon Cost Explorer 或其他报告当中。

 

用户定义成本分配标签

用户定义标签,是指由您手动定义、创建并应用于资源的标签。通过此选项,您可以灵活做出自定义选择,指定符合业务需求的定义,并将这些标签应用于特定服务。当然,作为一种传统方法,我们需要先确定成本标签模型。例如,假定我们希望建立名为 “cost-center” (成本中心)的成本分配标签,则必须将这个用户定义标签应用于所有 Amazon 服务,否则其不会出现在 Amazon Cost Exporer 或者任何其他 Amazon 报告当中。

在标签创建并应用完成之后,即可通过四个简单步骤继续完成激活。

  • 登录至Amazon管理控制台并打开Billing and Cost Management控制台
  • 在导航面板中,选择 Cost Allocation Tags
  •  在  User-Defined Cost Allocation Tags 之下,选择您刚刚创建的标签并应用。在本用例中,我们使用 “cost-center” 标签。

  • 选择 Activate

请注意,标签在激活之后需要24个小时才能正常显示在 Billing and Cost Management 控制台当中。

 

使用注意事项:用户定义成本分配标签

应用用户定义标签往往是个手动且相当耗时的过程。例如,如果您的某个账户用户忘记将“cost-center”标签添加至EC2实例,则该服务将丢失这项特定成本分配标签,因此即使按“cost-center”标签进行过滤,其仍不会出现在Amazon Cost Explorer或者任何其他Amazon报告当中。另外,如果用户不慎拼错标签名称,也会引发同样的问题。

 

成本分配报告

在激活标签之后,Amazon会生成一份成本分配报告,采用逗号分隔值(CSV)文件形式,并按活动标签对您的用量与成本进行分组。您可以根据本份用户指南启用此报告。报告将存放在您指定的S3存储桶内。可以看到,这份成本分配报告中的用户定义标签键皆具有 “user” 前缀,例如user:Cost Center 以及 user:Application;Amazon 生成的标签键则具有 “aws” 前缀,例如整个 aws:createdBy 列。以此为基础,您可以高效组织资源成本,并快速了解特定项目在 Amazon 上产生的具体资费。例如,如果启用 “Owner”、“Stack”、“Cost Center” 以及 “Application” 作为用户定义标签,您可以跟踪这些资源上运行的各应用程序的总体成本。以下截屏所示为部分报告内容,其中包含各个标签的相应列。

总结

在本篇博文中,我们展示了如何激活 Amazon 创建与用户定义型成本分配标签,同时阐述了两种选项之间的差异以及相关适用场景。最后,我们还结合一份示例成本分配报告,帮助大家随 Amazon 使用规模的增长持续管理服务成本。关于激活 Amazon 生成标签的更多详细信息,请参阅激活Amazon生成的成本分配标签。关于应用与激活用户定义标签的更多详细信息,请参阅用户定义成本分配标签

 

本篇作者

Bowen Wang

Bowen Wang, 亚马逊云科技计费和成本管理服务的首席产品营销经理。她专注于帮助财务和业务领导者更好地理解云的价值以及优化其云财务管理的方法。在她之前的职业生涯中,她帮助一家科技初创企业将业务自动化产品投放到中国市场,并建立了一个本地客户服务呼叫中心。

 

本文由助理云开发员Harsh Patel参与贡献