直达最佳实践:【 https://bp.aliyun.com/detail/168】
观看视频:【 https://yqh.aliyun.com/live/detail/21908】
阿里云最佳实践目前已覆盖23类常用场景,有200多篇最佳实践,这其中涉及110款以上阿里云产品的最佳使用场景。目前,最佳实践已成功帮助大量客户实现自助上云。
分享人:七凌 阿里云解决方案架构师;天凯 阿里云开放平台产品经理
正文:本文从三方面来给大家介绍单帐户下企业分帐最佳实践。
分帐最佳实践讲解
分帐体系讲解
分帐演示
一、分帐最佳实践讲解
1)业务背景
随着数字化转型浪潮的袭来,越来越多的企业通过云计算来加速业务的创新能力,相对于传统IT的运维,云计算具有快速创建、弹性伸缩等优势。正是由于云的出现,重构了传统企业IT治理、财务预算审计等流程,不同企业上云后,在企业IT治理分帐方面表现为不同的形态,大致分为三种类型的企业:
集中型的企业,所有云资源由统一的一个部门进行规划和统筹。
分散型的企业,每个部门和团队,对云资源的管理拥有管理权。
混合型的企业,部分业务由上级主管单位管理,部分业务由下级业务方管理。
从集中化的运维到分散化的运维,整个模式的转换过程中,企业都面临着权限拆分和帐单拆分的业务挑战。为了应对这个挑战,阿里云根据许多客户的真实场景,总结了分帐的解决方案,对于云产品而言,在面向客户的时候是没有用户的业务属性的。比如:部门、组织、负责人、环境、财务归属等,这些业务属性是在用户使用过程中产生出来的,如上图所示,我们可以从资源视角、标签视角、帐单视角看到不同的视图。分帐本质上来说是将用户带业务含义的数据和云产品无业务含义的数据进行整合,其目的就是要弄清楚谁花了多少钱。
2)费用分帐
一个云管理团队,它的第一步就是要做好成本分摊。谁?在什么时候?花了多少钱?比如用户内部在阿里云购买了云产品,使用了产品就产生了费用,当内部使用云产品的团队逐渐增多,花的钱也越来越多,并且根据业务大小、类型的不同,开销也不尽相同,那么我们如何对内部资源的归属进行分类和管理,如何进行内部的结算和费用的优化,将大锅饭改为AA制。
3)分帐的五个阶段
基于大量客户案例分析和最佳实践,我们将分帐分了五个阶段:
阶段1 标签体系规划阶段。基于业务特征、规划标签体系、制定流程和规范,在这一阶段,企业需要基于自身管理形态和管理模式,基于阿里云标签设计最佳实践,规划出符合自己业务特征并且可以长期发展的标签体系,与此同时,还需要从管理视角建立起打标签的业务管理流程和规范,并结合内部来之不易措施对标签管理给予相应的奖惩措施。
阶段2 资源管理建立阶段,分资源的过程,比如用户在相应的资源上打上标签,在建立标签体系和规范后,企业需要对其所管理的资源进行标签化的操作,阿里云提供了多种打标签的途径。比如,通过云产品控制台,通过API进行打标签,通过OSS进行打标签。
阶段3 配置分帐场景的阶段,费用分帐的过程,系统对资源的费用帐单进行分帐,在保证云产品上的标签具有良好的覆盖度以后,企业就可以通过多种渠道获得分帐的结果。比如,通过分帐帐单的控制台,通过分帐帐单的API,通过财务单元。
阶段4 解读分帐帐单阶段,用户可查看分帐帐单、费用分析等查阅分帐结果,企业通过本实践中对分帐字段的解读,结合多种数据获取方式建立更多、更丰富的业务场景。
阶段5 持续化改进阶段,审阅标签质量,结合管理手段,持续地改进。因为云上业务是不断变化的,及时发现未打标签的资源并不断优化改进,是保障分帐场景可靠运行的关键。阿里云提供了一系列审计规则,帮助企业客户及时地发现未打标签的资源,从而进行持续优化。通过Config进行标签配置审计,通过OOS进行自动化的标签管理等。
4)方案架构
云上的主帐号可以看作资源的容器,很多企业没有按照组进行资源的管理,也没有按照组进行授权,没有将资源划分到每个部门或者业务线进行分帐。
上图左边是分权,按照资源进行分组,按照分组进行授权,基于资源组,我们能够有序地进行分组的管理。
上图右边是分帐,在我们对于资源的使用过程中产生的费用,大多数情况下需要进行费用的分摊。比如按照使用者、部门、业务、应用等进行成本的分摊。针对不同的资源,我们可以通过标签进行标识,更加灵活的进行分组分帐。
这个解决方案的优势有:
满足企业应对分权分帐、帐户内资源的有序管理的需求,
快速管理阿里云资源与人、权、钱的关系,
随着云上资源的增加,管理难度也随之变化,可以通过标签实现批量管理资源,标签是人员、财务、物品管理的重要分组工具,帮助横向连通云产品
通过多种方式实现基于Tag的分帐管理,满足大部分分帐场景。
二、分帐体系讲解
1)分帐体系能力
阿里云官方推荐的单帐号体系基于标签分帐的解决方案,之所以称为解决方案,是因为这样的平台化能力涉及所有可能用到的阿里云的云产品,资源管理的平台和阿里云的费用中心平台。该方案主要解决随着用户在阿里云上资源不断增多,各分公司所产生的独立管理和内部分帐的诉求,从而能够保障云上业务能够持续地健康发展。
方案基于阿里云平台能力,目前支持35款阿里云产品,包括但不限于常见的ECS、RDS、SLB等,产品能力覆盖阿里云90%的帐单信息,提供了产品化和API的能力供用户不同场景使用,充分满足云管理模式、内部集成模式、单云独立帐号模式等丰富的业务场景。
在管理效率方面,阿里云为客户提供了能够快速进行海量资源批量管理的标签管理控制台,借助该平台可以快速实现资源与标签关系的建立、修改、解除等过程,并提供配套的API供用户使用。
在帐单管理方面,依托阿里云具有千亿级数据处理能力的费用中心平台。阿里云提供独有的分帐帐单和费用分析模块,为用户提供了可视化的管理和分析能力。通过费用标签的选择和过滤,可以快速对帐单的数据进行处理,并可通过费用分析模块,对整体费用的分布、趋势进行统一的统计和查看。
在实效性方面,平台为用户提供每天的帐单,帐单内的数据精准性准确到三个小时以内,数据的准确性保障99.99%,并为外部生态伙伴提供与之配套的开发接口和场景化的合作机遇。
除此之外,资源标签作为资源管理的入口,不仅可以为用户提供分帐场景,还可以基于标签的管理体系,扩展资源管理、自动化运维、自动化监控等丰富的云上管理场景。
2)分帐体系优势
基于标签的分帐体系的优势,主要涵盖了四种优势。
企业类型的区分主要取决于管理模型。
集中型的企业特点是资源管理和资源标签化的过程,都是在云管团队统一进行。
分散型企业的特点是云管团队集中创建,业务团队自主管理和标签化。
混合型企业则是兼具前面两种场景和混合使用。
但不论哪种场景,阿里云标签分帐解决方案均可支持。
标签分帐解决方案主要具有四个优点:
便捷。阿里云提供平台化、产品化的能力,从小时级分帐粒度和一天的出帐周期作为基础平台能力。上层为用户提供完全可视化标签管理平台、费用中心平台、分帐帐单模块和费用分析模块。全链路均可通过资源标签完全贯通,大大降低了企业的管理成本。
灵活。阿里云每个资源都可以标记高达20个标签对,完美支持纷繁复杂的业务场景和业务演进过程。同时提供统一控制台快速批量管理标签与资源的关系,并自动在下个帐单周期内生效。
场景。通过一套资源管理体系,不仅仅能够实现分帐这一类场景,随着客户的业务的发展还可以动态扩展到分权、资源管理、运维等多种场景。
全局。分帐体系目前对阿里云25个可用区做到全覆盖,支持主流的35款云产品,并且提供统一的资源管理和帐单管理入口,并提供配套的最佳实践与用户共同建立更高效的业务。
三、分帐演示
首先进入VPC控制台,确定在杭州华东1,创建专有网络,网络名称叫地域选VPC_TAG_HZ,选择IP网段。
配置交换机,可用区选择F,确认IPv4的网段,点击确认。
创建成功后,可以看到这个页面。
接下来去ECS的控制台,ECS是我们的云服务器,点击实例列表,再点击创建实例的按钮。
我们进行实例的创建,首先选择付费模式,是按量付费,选择杭州可用区F,在实例筛选上选small,选突发性实例用于本次实验。
镜像选择阿里云定制的镜像,进行网络配置,选择之前创建好的VPC网络和Vswitch。
在分组里设置标签,在这里把project(项目)、env(环境)、owner(负责人),选择默认资源组,选择服务协议,没问题之后确认订单。
进行实例的创建。
回到我们的管理控制台,现在状态是已停止。
我们刷新一下页面,实例的状态已经变为运行中。
我们去弹性公网IP的控制台,创建弹性公网IP。
创建一个新的EIP,还是选择按量付费的模式,其它配置保持不变,点击立即购买。
开通我们的服务协议。
开通成功之后,我们可以回到管理控制台,在管理控制台可以看到很多操作。
在这里为EIP设置标签,进行批量的标签的编辑。同样的道理,我们也设置三个键字队标签,点击确认按钮。
去RDS控制台,点击实例列表,创建实例。
付费方式统一选择按量付费的方式,地域选择杭州,类型选择MySQL的5.7,系列选高可用版,存储类型选推荐的ESSD云盘,在这里没有之前创建的F区,我们把类弄改为PostgreSQL9.4。
选用华东的可用区F,实例规格输入关键词small,点击下一步。
确认我们的网络配置,进行订单的确认,点击协议。
开通成功之后回到我们的管理控制台。
点击我们的实例列表,可以编辑标签,在这里为RDS数据库添加相应的标签,这样为以后的分帐做准备。
我们现在的实例状态还在创建之中,先去资源管理控制界面。
在资源管理控制界面可以看到我们的标签,在这里是很容易创建和绑定标签的。
我们可以选择想要的键和值,我们这里的输入三个键字队。
接下来点下一步,选择资源,在这里是默认了ECS的产品和类型。
点击第一个ECS实例。
就可以知道这是以前我们手动创建的实例,这个实例我们以前为它绑定了相应的标签。
选择我们要绑定的资源。
点击下一步,绑定成功之后。
我们也可以绑定其它的资源,VPC、RDS、RDS需要输入类似于资源ID,进行批量的资源和标签的绑定,这是一个可选的步骤,大家可以去探索一下。
通过CADT来一键部署上海的基础资源,比如基础网络,找到ECS,通过拖拽的方式放到对应的区域,弹性公网EIP,还需要RDS云数据库,还有OSS对象存储,再创建连线,这个连线是一个非常有趣的功能,通过连线可以把资源进行关联。
把位置微调,选择创建连线,把EIP和ECS进行绑定,再把ECS和RDS进行绑定,ECS和RDS绑定后,我们ECS的IP会自动加入到RDS的白名单里面,我们初步架构的轮廓就成形了。
我们再快速地对相关的组件进行配置,比如region的配置,我们把杭州改成上海,杭州我们已经通过手动方式创建了。
再双击eip的图标,选择按量付费的带宽模式。
双击vpc,对vpc的名字进行简单调整。
选用默认的网段,选择vswitch,对它的名字进行简单调整,选择可用区E,再配置ipv4网段。
双击ecs,选择主机名叫app,付费方式还是按量付费,实例规格选择small,镜像版本和之前是一样的,磁盘类型是高效云盘,在这里添加资源标签,和我们之前的三个资源标签是一样的。系统盘的标签也进行添加,如果不添加也是和系统盘绑定在一起的,设置登陆密码。
双击rds,进行rds的配置,我们也是选择后付费的方式,版本是5.7,选择MySQL是基础版,基础类型是第一类型,实例类型也是small。
接下来配置对象存储oss,在这里要选一个唯一的名字,否则会报错进行提示。
保存,就叫分帐上海部署,确认。
选择我们的部署应用,在这里进行资源的验证。
下一步是我们的价格清单,就可以知道整个基础架构的费用的成本的占比。
下一步进行部署,选择我们的服务条款,创建资源,在这里可以看到资源部署状态,可以看到资源的名称、类型、付费的类型、资源的状态。
可以点击资源名称跳转到对应的控制台,比如eip。
弹性公网IP,在这里可以看到有很多的信息在这里。
我们要做的是设置标签,进行批量的标签的编辑,同样设置和之前一样的键字队,点击确定。
这样,看到我们的配置是成功的。
下一步进入ecs,可以看到标签已经被加上了。
然后进入rds,在rds控制台,我们选择实例,编辑它的标签,我们可以新建三个标签。
回到CADT控制台,进入oss的控制台。
同样我们也要为oss对象加上对象的标签。
在文件管理里面,新建目录,这个名称也要是唯一的,点击确认。
在目录里上传一个文件,可以是音频或视频文件。
2)费用
点击费用,找到费用分析,在左侧的菜单栏。
第一次开通费用分析是需要开通这个功能的,默认是这个功能,而且是在T+1之后才能根据标签进行分帐。
可以看到很多的费用统计,选择一下筛选条件,可以看到之前加的三个标签,是在T+1操作之后才能看到的,前面的操作需要等到第二天才能生效。
我们可以看到我们的费用,每个产品所占的费用的比例。
进行帐单的导出。
导出之后,可以看到任务已经在等待下载,它已经在排队,当状态变为导出成功之后,我们再来进行相应的下载操作。
我们先返回,到分帐帐单下面,选择分帐帐单的明细,在这里可以定制列。
可以看到希望定制的列,比如实例的标签。
然后我们的分帐帐单,帐单的明细数据也会延迟两天更新,需要给大家强调一下,现在我们是看不到根据标签分帐的结果。
去财务单元,我们可以创建财务单元,名字应用1组、应用2组。
我们可以看到未分配下面有很多的产品和资源的状态。
我们的产品1组现在没有内容,开启关联,开启关联的意思是ecs下面的资源会一起进行分配和转移。
然后进行配置资源分配规则,选择相应的产品,我们实验里有ecs、eip、rds、oss选择相应的产品,我们可以全选,在这里我们先选择相应的产品,在应用2的时候可以尝试去选择所有的产品。
在这里做了一个关键的步骤是关联资源到财务单元,我们做关联的操作,它的规则也不会马上生效,它也是需要等到第二天的时候,我们自动分配的规则才会生效。
现在应用1组里没有任何的信息,同理,应用2组也没有任何的信息。
我们快速给应用2组配置关联的规则,我们选project-b,应用1组主要是项目a的资源,选生产环境owner,tester,全选,确定。
回到费用中心,通过费用中心回到用户中心,再来看下财务单元,我们已经等了一天的时间了,财务单元已经有了相应的数据,这些数据已经按之前的标签来关联到财务单元的。
去看一下分帐帐单 ,分帐帐单有两天的数据延时。看一下什么是分帐帐单,比如用户在阿里云上的共享型的CDN、OSS,我们可以根据子项进行分拆,这就是我们的分帐帐单,它就是要解决我们的成本分摊的问题。
比如CDN进行成本费用的分摊,还有分摊字段的解读。
接下来看明细,这时有所有产品消费类型、消费时间,我们也可以根据财务单元进行过滤,比如应用1组,所有和应用1组相关的资源的消费情况,包括实验用的key value的标签。
进行帐单的导出,同样导出之前进行定制列,这样导出只需要定制我们感兴趣的列。
导出成功之后,等待下载。
很快可以进行下载的操作,下载之后打开文档,快速看一下数据格式,有财务单元、产品Code、服务时长、实例标签,根据标签进行分帐的操作。
这里是结合了财务单元和标签一起。
我们快速看一下,如何通过OpenAPI进行标签的操作,这是ListTagKeys,发起调用,可以获取到相应的标签列表,可以看到响应的时间,这里包含之前定义的三个键字队。
看一下TagResources,参数里输入owner=R&D,会看到右边相应的代码会进行自动生成。
现在ECS的实例,它的owner是tester。
现在我们在杭州下面,发起调用,这时请求报错了,可能是我们刚才操作太快,导致RN没有生效。
我们再重新进行操作,现在修改已经成功了,owner已经改成R&D了。
接下来看一下API的文档,这个API主要是给多个云资源来进行标签的绑定,我们可以看一下相应的请求的参数,有前面提到Aliyun Resource Name,感兴趣的话可以点开链接。
点开UntagResources,有了绑定就有解绑的API。
接下来看一下分帐的API,搜索一下querybilloverview,这个是我们分帐帐单的API,看一下文档,API文档的说明可以看到是必选的参数,BillingCycle、帐单的日期、返回的数据。默认是BillingCycle的返回体,那2020-12作为测试的数据。
发起调用,这是它相应的返回值,成功地返回了我们想要的分帐帐单的数据。
我们再来看一下配置审计的功能,要先立即启用,因为第一次使用这个功能。
通过这个功能我们能快速地检查你的资源是否具有指定的标签,要确保设置的标签符合我们设计的原则。
这里使用托管的规则,我们搜索tags,检查我们的资源是否有必备的标签,通过这个方式来发现不符合规范的资源,进行打标,选中风险的操作。
它也支持其它的配置方式,在这里就不演示了。
接下来进行参数的设置,我们勾选需要监控的资源类型,它默认勾选了需要的云产品。
进行键字队的配置。
查看我们的规则,现在不合规的资源数为0。
然后点击重新审计就可以看到审计的结果,我们进行资源列表的查询。
拿ECS来举例,它的合规状态是不合规。
可以看到另一个ECS没有我们需要的标签。通过OSS来打标签,用OSS导出分帐帐单,用OSS进行自动化的标签管理,通过API的方式来导出分帐帐单,前面的OpenAPI是通过编程的方式来做帐单的导出,这样和企业的财务系统做更好的对接,感兴趣的同学可以做进一步的操作。