我想获取在我的aws帐户中运行的实例的所有私有IP地址。
因此我尝试了以下命令。
/usr/share/ec2-api-tools-1.5.2.5/bin/ec2-describe-instances |grep "INSTANCE" |awk '{print $13}'
但问题是某些实例具有公共IP而某些实例没有。
因此私有IP列的更改和上面的命令$ 13没有给出预期的结果。
因此请提出建议。
答案 0 :(得分:3)
首先,升级到newer version of the AWS CLI,然后使用此命令:
aws ec2 describe-instances --query 'Reservations[*].Instances[*].NetworkInterfaces[*].PrivateIpAddresses[*].PrivateIpAddress' --output text
答案 1 :(得分:0)
无需安装较新版本的AWS CLI,因为以下语法解决了我的情况。
ec2-describe-instances --filter "instance-state-name=running" --show-empty-fields | grep INSTANCE | awk '{print $18}'
在上面的语法中我首先将输出过滤到正在运行的实例,然后用(NIL)填充空字段,这样每行被分成相等的列然后通过使用awk命令我得到了所需的列(即在我的情况下,每个的私有IP地址)机)