如何获取Amazon EC2上所有公共IP及其实例名称的列表

时间:2014-09-16 00:18:33

标签: amazon-web-services amazon-ec2

任何人都知道如何使用aws CLI获取Amazon EC2上所有公共IP及其实例名称的列表?

这让我得到了公共IP列表,但没有找到它们关联的实例名称。 aws ec2 describe-instances --query“Reservations []。Instances []。PublicIpAddress” - output text

提前致谢。

3 个答案:

答案 0 :(得分:9)

http://docs.aws.amazon.com/cli/latest/userguide/controlling-output.html

更新:CLI现在支持过滤器:

aws ec2 describe-instances --query "Reservations[].Instances[].[PublicIpAddress,InstanceId,Tags[?Key=='Name'].Value]" 

答案 1 :(得分:5)

使用它可以使用它:

aws ec2 describe-instances --output table   --query 'Reservations[].Instances[].[Tags[?Key==`Name`] | [0].Value, PublicIpAddress]'

答案 2 :(得分:0)

为那些在搜索如何获取实例信息时通常会找到此帖子的人们添加此内容。

在powershell中,您可以使用以下内容:

(Get-EC2Instance -ProfileName Profile).Instances | select InstanceId,PrivateIPAddress,PublicIpAddress @{Name="Servername";
Expression={$_.tags | where key -eq "Name" | select Value -expand Value}} | Format-Table.

通过Python AWS CLI,您可以使用:

aws ec2 describe-instances --region=us-east-1 --query 'Reservations[*].Instances[*].[InstanceId,Tags[?Key==`Name`].Value|[0],PrivateIpAddress,PublicIpAddress]' --output text  --profile ProfileName