Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 如何在amazon web服务中获取实例的私有IP?_Amazon Web Services_Amazon Ec2 - Fatal编程技术网

Amazon web services 如何在amazon web服务中获取实例的私有IP?

Amazon web services 如何在amazon web服务中获取实例的私有IP?,amazon-web-services,amazon-ec2,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,而有些则没有 因此,上面命令$13中的私有IP更改列和中并没有给出预期的结果 因此,请建议。首先升级到,然后使用以下命令: aws ec2 describe-instances --query 'Rese

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

所以我试着听从命令

/usr/share/ec2-api-tools-1.5.2.5/bin/ec2-describe-instances |grep "INSTANCE" |awk '{print $13}'
但问题是,有些实例拥有公共IP,而有些则没有

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

因此,请建议。

首先升级到,然后使用以下命令:

aws ec2 describe-instances --query 'Reservations[*].Instances[*].NetworkInterfaces[*].PrivateIpAddresses[*].PrivateIpAddress' --output text

无需安装更新版本的AWS CLI,因为以下语法解决了我的问题

ec2-describe-instances --filter "instance-state-name=running" --show-empty-fields | grep INSTANCE | awk '{print $18}'

在上面的语法中,我首先过滤运行实例的输出,然后用(NIL)填充空字段,这样每一行都被分成相等的列,然后通过使用awk命令,我得到了所需的列(即,在我的例子中,每台机器的私有IP地址)

谢谢标记。但是,更新到更新版本的AWS CLI可能会产生问题,因为服务器上设置了一些其他脚本来创建快照,以获取新的spot计算机。因此,是否有其他方法可以获得预期的结果。新的统一AWS CLI版本应该能够与您现在使用的旧的特定于服务的版本共存。