从实例中检索特定标签的值

时间:2018-08-15 21:16:12

标签: amazon-ec2 tags aws-cli

我正在尝试检索具有特定名称的实例的某些标记(例如环境)的值。

是否可以使用describe-tags或任何脚本来执行此操作?不幸的是,我不能使用describe-instance。

谢谢。

要弄清楚EC2实例名称是否为ABC-app-dev,并且用户标签“ environment”的值为“ dev”,我想从实例本身内部获取环境的值,即dev。

1 个答案:

答案 0 :(得分:0)

这里的困难在于实例的Name实际上只是标签本身。因此,您必须通过指定Name标签来搜索与实例关联的标签,然后查看其他标签。

.nextElementSibling可以列出名称标签:

aws ec2 describe-tags --filters "Name=resource-type,Values=instance" "Name=key,Values=Name"

然后,您需要找到具有匹配名称的特定实例:

aws ec2 describe-tags --filters "Name=resource-type,Values=instance" "Name=key,Values=Name" "Name=value,Values=MY-NAME"

但是,所有返回的都是您已经指定的标签,而不是实例的其他标签。

您确实需要一个两步过程,首先找到实例ID,然后为该实例检索标签:

aws ec2 describe-tags --filters "Name=resource-id,Values=`aws ec2 describe-tags --filters "Name=resource-type,Values=instance" "Name=key,Values=Name" "Name=value,Values=MY-NAME" --query Tags[].ResourceId --output text`" "Name=key,Values=MY-TAG-NAME" --query Tags[].Value --output text