Som*_*erd 13 amazon-web-services amazon-vpc aws-cli
有什么方法可以查看 AWS 认为已在子网中分配的 IP 地址吗?我已经运行了 ping 扫描,并且检查了我们的内部 ip 管理软件,应该有超过 8 个 ip 可用,但是网络负载均衡器创建向导坚持认为我的可用 ip 少于 8 个。
如果我能看到亚马逊认为我们正在使用的 ips,那就太棒了,这样我就可以看到差异是什么,但我没有看到任何方法可以做到这一点。有人知道我该怎么做吗?它需要显示所有分配的 ip,而不仅仅是附加到 ec2 实例的 ip。
ken*_*kas 12
您的计数可能有所偏差,因为 AWS 为每个子网 CIDR 块保留了 5 个 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 网络范围的基地址加 2。对于具有多个网段的VPC,DNS服务器的IP地址位于主网段。我们还为 VPC 中的所有 CIDR 块保留每个子网范围的基础加上两个。有关更多信息,请参阅亚马逊 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
Run Code Online (Sandbox Code Playgroud)
使用subnet-id过滤器可以排除您不关心的子网。
如果您想要计数,只需替换sort为wc -l.
您可以在 AWS 控制台的 VPC -> 子网部分直观地看到每个子网的可用 IP 数量。
在EC2 控制台中,转到左侧栏中的网络接口视图。它将显示不仅分配给 EC2,而且分配给 Fargate、RDS、VPC Lambda、NAT 网关等的所有网络接口。
另请注意,每个 VPC 和子网中都保留了几个 IP - Internet 网关 (IGW)、AWS DNS 等。保留的是前 4 个和最后一个 IP。这些不会显示在上面的列表中。
希望有帮助:)