我正在尝试检索具有特定名称的实例的某些标记(例如环境)的值。
是否可以使用describe-tags或任何脚本来执行此操作?不幸的是,我不能使用describe-instance。
谢谢。
要弄清楚EC2实例名称是否为ABC-app-dev,并且用户标签“ environment”的值为“ dev”,我想从实例本身内部获取环境的值,即dev。
答案 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