【问题标题】:Return list of _all_ ip addresses using AWS CLI使用 AWS CLI 返回 _all_ ip 地址列表
【发布时间】:2020-02-27 15:47:55
【问题描述】:

使用 AWS CLI,我想检索 所有 IP 地址的列表,无论是 EIP 还是静态分配等。

我一直在使用 describe-instances 和 describe-addresses,但想知道是否有更简单的方法来获取所有公共 IP 地址?

aws ec2 describe-addresses --public-ips --region eu-west-1 --query 'Addresses[*].PublicIp'

aws ec2 describe-instances --region eu-west-1

我搜索了 AWS 文档,但没有找到包含所有内容的任何内容。

【问题讨论】:

  • 你发布的命令有什么问题?
  • 命令没有问题,但我想知道是否有一种 更简单 的方式来获取 AWS 账户中所有公共 IP 地址的列表,而不是必须查询每个服务。例如,列出的命令不会涵盖 AWS Workspaces,我不想错过报告我可能不知道的服务。
  • 为什么您要寻找这些信息?您是否正在创建白名单?
  • @John 我整理了我们的公共 IP 地址列表并定期扫描它们以确保没有任何服务无意中暴露在互联网上。

标签: amazon-web-services aws-cli


【解决方案1】:

您可能能够通过调用 AWS EC2 ENI API 从多个服务中检索大部分 IP 地址: https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-network-interfaces.html

这将为支持的服务收集所有 IP 地址并为您输出。

aws ec2 describe-network-interfaces --query "NetworkInterfaces[*][].PrivateIpAddresses[*][].{Private: PrivateIpAddress, Public: Association.PublicIp}"

【讨论】:

    【解决方案2】:

    不,没有可以运行的“整体”命令。每个服务都有自己的 API。

    请注意,许多服务的 IP 地址会发生变化。例如,Elastic Load Balancer 将使用许多 IP 地址,并且应始终通过其 DNS 名称而不是 IP 地址来寻址。

    【讨论】:

      猜你喜欢
      • 2013-11-12
      • 2015-06-21
      • 1970-01-01
      • 2018-11-15
      • 2014-03-23
      • 2019-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多