如何在亚马逊网络服务中获取实例的私有IP?

时间:2016-02-26 20:35:43

标签: amazon-web-services amazon-ec2

我想获取在我的aws帐户中运行的实例的所有私有IP地址。

因此我尝试了以下命令。

/usr/share/ec2-api-tools-1.5.2.5/bin/ec2-describe-instances |grep "INSTANCE" |awk '{print $13}'

但问题是某些实例具有公共IP而某些实例没有。

因此私有IP列的更改和上面的命令$ 13没有给出预期的结果。

因此请提出建议。

2 个答案:

答案 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地址)机)