aafenguk

程序员,旅游爱好者

在AWS资源中使用tag

今天收到AWS的账单,发现按照项目分类的账单明细中,有些项目没有添加特定的标签,以至于相应的费用不是很清楚。比如:不清楚那些“UNTAGGED"的资源都是在哪些项目中创建的。如果费用接近或超出预算,是需要查找原因的。


相信使用过AWS的人可能都有一个感觉,就是“乱”。在AWS中的各种计算资源太过庞杂。而创建一个服务或者APP所需使用的AWS服务又是各种各样的。因此在开始接触AWS的时候总是不清楚最终费用可能是多少。即使账单出来了,也很难一目了然的看到究竟是哪个项目的运营成本更高。

AWS的tag(标签)就可以解决上述问题。其实,在AWS中的所有资源都应该添加标签(tag)。这样便于按照标签对资源进行分类和管理。在越来越多的使用AWS资源时,这种方式绝对能够帮我们更好的管理各种资源。

在AWS种使用tag时,最好事先约定好一个规则。比如:

  • tag名称全部用小写字母和下划线
  • tag值全部全部用小写字母和下划线

也可以规定一些必填的tag,比如:

  • user: 你的用户名
  • team: 定义自己所属的团队
  • project: 哪个项目使用这个资源
  • status: 这个资源是用于那种环境的,比如:prod, test, 或者dev
  • source: AWS资源的创建方式,比如:manual(手工), serverless, cloudformation

至于tag的创建,就非常简单了。你可以在每种资源中分别定义这些tag。以Lambda为例,我们可以在定义Lambda的时候同时添加tag:


只不过上面这种方式比较麻烦,如果一个一个的资源的添加的话非常耗时。最好的方式还是使用一些框架,比如serverless,在其配置文件中定义这些tag。比如:

provider:
    name: XXX
    stackTags:
        tag1: "value1"
        tag2: "value1"
plugins:
  - serverless-plugin-resource-tagging

有了这些tag,以后在管理AWS资源的时候就事半功倍了。

發布評論

看不過癮?

一鍵登入,即可加入全球最優質中文創作社區