【问题标题】:AWS: List of assigned IPs in subnetAWS:子网中分配的 IP 列表
【发布时间】:2021-11-16 23:10:46
【问题描述】:

有没有办法获取 AWS 子网中所有已分配 IP 的列表?此外,是否有办法查看相关的 (AW) 服务?这也会非常有帮助。谢谢!

编辑

私有 AWS 子网中分配的所有私有 IP(无论实例状态如何都会保留)。任何获取此信息的方法都可以。我最熟悉 AWS CLI、boto/boto3 和控制台。

该列表将包括每个 CIDR 块定义的所有播出信息,但 5 个地址除外:

【问题讨论】:

  • 定义assigned IP。即使停止的实例在 VPC 中也有一个 IP。您想要 CLI 解决方案还是 SDK 解决方案?尽可能描述性强,避免一字一句的问题。
  • 绝对!我在上面发布了一些编辑。谢谢!

标签: amazon-web-services amazon-ec2 aws-cli amazon-vpc subnet


【解决方案1】:
aws ec2 describe-instances --filters "Name=subnet-id,Values=subnet-12345678" --query 'Reservations[*].Instances[*].PrivateIpAddress' --output text
  • 使用describe-instances
  • subnet-id查询
  • PrivateIpAddress过滤结果

使用@Michael - sqlbot 的建议:

aws ec2 describe-network-interfaces --filters "Name=subnet-id,Values=subnet-12345678" --query 'NetworkInterfaces[*].PrivateIpAddress'

【讨论】:

  • 我认为aws ec2 describe-network-interfaces 将是首选方法,因为它应该获取 RDS、ELB-C/ALB/NLB、EFS、PrivateLink 等使用的地址......更不用说动态Lambda 的活动。
  • @scagnetti 哪些 IP 没有计算在内?我的意思是实例的类型、实例状态等,
  • @helloV Lambda 分配多个弹性网络接口——显然,它为它生成的每个容器分配一个——当函数在您的 VPC 中运行时。 "AWS Lambda uses the VPC information you provide to set up ENIs that allow your Lambda function to access VPC resources." 流量高峰后,任何多余的 ENI 通常会在最后一次使用后的几个小时内被销毁。我提到的其他服务都分配了 ENI,并从您的 CIDR 块中为它们所在的子网分配了地址。 NAT 网关也各获得 1 个。
  • 感谢@Michael-sqlbot
  • @scagnetti 使用describe-network-interfaces尝试第二种解决方案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-29
  • 1970-01-01
  • 1970-01-01
  • 2017-02-09
  • 2012-06-07
相关资源
最近更新 更多