如何在使用ec2-describe-tags时获取仅运行实例的列表

use*_*294 26 amazon-ec2 amazon-web-services aws-cli

如何在使用时获取仅运行实例的列表ec2-describe-tags.我正在使用我的命令:

ec2-describe-tags --filter "resource-type=instance" --filter "value=somevalue" --filter "key=key"
Run Code Online (Sandbox Code Playgroud)

Joh*_*ein 35

使用aws-cli很容易:

aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId]' --filters Name=instance-state-name,Values=running --output text
Run Code Online (Sandbox Code Playgroud)

  • 你打电话那么容易吗?:D我确信设计师有良好的意图. (8认同)

jon*_*tan 10

扩展John Rotenstein的答案你绝对可以用describe-instances做到这一点.

这将列出Name标签包含特定单词的所有正在运行的实例的Name标签和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
Run Code Online (Sandbox Code Playgroud)

输出:

10.100.2.10
mongodb0
10.100.2.11
mongodb1
10.100.2.12
mongodb2
Run Code Online (Sandbox Code Playgroud)

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