在 AWS 中,有没有办法查看子网中已分配的 IP?

在 AWS 中,有没有办法查看子网中已分配的 IP?

有没有办法查看 AWS 认为已在子网中分配了哪些 IP 地址?我运行了 ping 扫描,并检查了我们的内部 IP 管理软件,应该有超过 8 个可用的 IP,但是网络负载均衡器创建向导坚持认为我拥有的可用 IP 少于 8 个。

如果我能看到亚马逊认为我们正在使用的 IP,那就太棒了,这样我就能知道差异是什么,但我看不出有什么办法。有人知道我该怎么做吗?它需要显示所有分配的 IP,而不仅仅是连接到 ec2 实例的 IP。

答案1

您的计数可能不准确,因为 AWS 为每个子网 CIDR 块保留了五个 IP 地址。子网 CIDR 块中的前四个 IP 地址和该 CIDR 块中的最后一个 IP 地址用于其内部网络。

例如,在 10.0.0.0/24 子网中,AWS 将保留:

10.0.0.0:网络地址。

10.0.0.1:AWS 为 VPC 路由器保留。

10.0.0.2:由 AWS 保留。DNS 服务器的 IP 地址是 VPC 网络范围的基数加二。对于具有多个 CIDR 块的 VPC,DNS 服务器的 IP 地址位于主 CIDR 中。我们还为 VPC 中的所有 CIDR 块保留每个子网范围的基数加二。有关更多信息,请参阅 Amazon DNS 服务器。

10.0.0.3:由 AWS 保留以供将来使用。

10.0.0.255:网络广播地址。我们不支持在 VPC 中进行广播,因此我们保留此地址。

要从命令行获取正在使用的 IP 地址列表:

aws ec2 describe-network-interfaces --filters Name=subnet-id,Values=<subnet id> |jq -r '.NetworkInterfaces[].PrivateIpAddress' |sort

使用subnet-id过滤器可以排除您不关心的子网。

如果您想要计数,只需替换sortwc -l

您可以在 AWS 控制台的 VPC -> 子网部分直观地看到每个子网的可用 IP 数量。

参考

答案2

EC2 控制台网络接口在左侧栏中向下查看。它将显示分配给 EC2 的所有网络接口,还包括 Fargate、RDS、VPC Lambdas、NAT 网关等。

还请注意,每个 VPC 和子网中都保留了几个 IP - Internet 网关 (IGW)、AWS DNS 等。保留的是前 4 个和最后一个 IP。这些 IP 不会显示在上面的列表中。

希望有帮助:)

相关内容