博客园  :: 首页  :: 管理

因最近笔者需要对一大批机器、添加上多个tag,这种需求其实可以考虑使用aws的 Resource Groups & Tag Editor 服务进行批量操作的

但是因EC2是多个账号下的,于是笔者想还是准备使用aws cli的方式进行操作

1、为EC2批量创建tag的核心命令方法,如下(关于value,笔者试过_-:这些特殊符号都是支持的)

aws --profile prod ec2 create-tags --resources i-0e977e893deba812d i-08183267bfa9deb2e  \
--tags Key=pic,Value=qq-5201351  Key=cid,Value="S01321 & S03213"

关于批量创建tag的命令说明如下:

  • 可以同时指定多个资源(多个AMI,多个instance,两种混合),都是可以的,以空格隔开
  • 如果tag的Key已经存在,值无论是否相同,命令都不会报错,而且将会直接覆盖之前的值,没有提示

 

2、批量删除EC2的tag,可以使用如下两种方式,一是指定Key就行了,二是同时指定Key和Value进行精准匹配,只有匹配上了才删除

# 仅指定Key,直接根据Key匹配到了就进行删除
aws --profile prod ec2 delete-tags --resources i-0e977e893deba812d i-08183267bfa9deb2e ami-08d8a66d06a1e8ec2 \
--tags Key=pic Key=cid

# 同时指定Key和Value,进行精准匹配,只有匹配上了才删除
aws --profile prod ec2 delete-tags --resources i-0e977e893deba812d i-08183267bfa9deb2e ami-08d8a66d06a1e8ec2 \
--tags Key=pic Key=cid,Value="S01321 & S03213"

关于批量删除tag的命令说明如下:

  • 也是与创建一样,可以指定多个资源,包括AMI和EC2,都是可以的,以空格隔开
  • 删除tag,即使没有那个key,执行也不会有报错的

 

 

 

尊重别人的劳动成果 转载请务必注明出处: https://www.cnblogs.com/5201351/p/17240178.html