摘要: Tag(标签),阿里云提供的一种标记资源的方式,对资源添加标签可以方便地对资源进行标记,从而方便的进行资源的批量管理,现在ECS可以使用Tag标记的资源主要有以下几种:实例、磁盘、镜像、快照、安全组。 ### Tag基础 每个Tag是由两个部分组成,Key和Value。
Tag简述
Tag(标签),阿里云提供的一种标记资源的方式,对资源添加标签可以方便地对资源进行标记,从而方便的进行资源的批量管理,现在ECS可以使用Tag标记的资源主要有以下几种:实例、磁盘、镜像、快照、安全组。
Tag基础
每个Tag是由两个部分组成,Key和Value。Tag是很开放的配置,Tag的Key和Value可以取值几乎任意字符串。因此,Tag是一个可以方便对资源进行标记、分类的工具。
Tag使用限制
为了更合理使用,Tag在功能上有几个限制。
首先,一个资源上面已有的Tag不能超过10个,标签太多会导致标签本身难以管理
一个资源上Tag key不能相同,如果添加一个已有key的Tag,会使用新的Tag覆盖老的Tag
相同Tag相同类型的资源数量不建议超过500,相同Tag的资源数量太大,会弱化Tag的资源分类功能
Tag经典场景
标签划分
对于一般的资源管理需求,都是针对一个用户下数量较多的情况,当实例等数量较多时,对实例进行运维管理等操作就会变得比较困难,有时候甚至需要采取拆分账号的方式管理不同部门或者不同用途的资源。如果采用Tag进行资源的分类管理,会大大简化这个问题。
首先,我们可以针对实例的使用场景进行分类,在一般的开发场景中,机器一般有多个分类:开发测试环境、打包环境、生产环境等。这些机器的运维管理是绝对隔绝的,因此要在Tag上对其进行区分,在开发测试机器上,可以增加标签(增加方式详见下一节)key为env、value为test;在生产机器上,可以增加标签key为env、value为product。形成如下图的机器分类。
之后再考虑按照使用人员进行的资源分类。对于资源保有多的,一个人进行资源的全部管理也是很困难的,所以需要进行基于人员的资源划分,我们可以在资源上,增加表示部门的标签,代表这些资源隶属于不同的部门。在增加了部门分类之后,机器分类如图:
权限控制
只使用标签的资源分类,只能做到对资源进行标记、划分,无法进行实质的资源管控隔离,如果需要做到资源真正的使用者隔离,就需要同时结合RAM实现。
简单介绍下RAM,每个阿里云账号都可以创建多个子账号,这些子账号可以被授权管理阿里云账号的某些资源,这个授权操作是阿里云账号来管理的,相关文档见:https://help.aliyun.com/product/28625.html
我们这里就是使用子账号结合标签对资源进行不同分类的隔离,我们为每个部门创建一个管理员(子账号),即dep manager,然后授权每个子账号只能操作带有自己部门标签的资源。这样我们就把实例资源完全分给两个部门进行管理,同时,实例上也带有相关环境的标识。
使用Tag的方式
接下来,详细描述下上述操作的具体步骤。
API操作
从API操作资源可以更清晰看到资源的变化过程,因此推荐使用API进行资源操作,相关文档在这里:https://help.aliyun.com/product/52507.html
对于接下来的操作,只需要安装python SDK,需要安装的包如下(ECS外的操作如RAM等通过控制台操作)