40

使用ec2-describe-tags. 我正在使用这样的命令:

ec2-describe-tags --filter "resource-type=instance" --filter "value=somevalue" --filter "key=key"
4

2 回答 2

56

使用aws-cli很容易:

aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId]' --filters Name=instance-state-name,Values=running --output text
于 2014-11-22T03:54:53.860 回答
18

扩展 John Rotenstein 的答案,您绝对可以使用 describe-instances 来做到这一点。

这将列出名称标签包含特定单词的所有正在运行的实例的名称标签和 IP:

name_tag=mongodb
aws ec2 describe-instances --filter "Name=tag-key,Values=Name" "Name=tag-value,Values=*$name_tag*" "Name=instance-state-name,Values=running" --query "Reservations[*].Instances[*][Tags[?Key=='Name'].Value[],NetworkInterfaces[0].PrivateIpAddresses[0].PrivateIpAddress]" --output text

输出:

10.100.2.10
mongodb0
10.100.2.11
mongodb1
10.100.2.12
mongodb2

这里的一个好处是,将 name_tag 留空会列出所有正在运行的实例。

于 2015-06-10T14:58:30.757 回答