【问题标题】:How to get a list of all public IPs and their instance names on Amazon EC2如何在 Amazon EC2 上获取所有公共 IP 及其实例名称的列表
【发布时间】:2014-11-09 14:50:14
【问题描述】:

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

这让我得到了公共 IP 的列表,但没有得到它们关联的实例名称。 aws ec2 describe-instances --query "Reservations[].Instances[].PublicIpAddress" --输出文本

提前致谢。

【问题讨论】:

标签: amazon-web-services amazon-ec2


【解决方案1】:

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]" 

【讨论】:

  • 这让我得到了实例 ID 和公共 IP,但我需要带有实例名称的标签。
【解决方案2】:

使用这个就可以了:

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

【讨论】:

    【解决方案3】:

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

    在 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
    

    【讨论】:

      猜你喜欢
      • 2013-08-29
      • 1970-01-01
      • 2016-12-05
      • 2014-10-24
      • 2012-03-03
      • 2015-05-13
      • 1970-01-01
      • 2023-03-03
      相关资源
      最近更新 更多