我想获取 ec2 实例的所有 IP 地址。我正在查看 CLI aws ec2 描述实例,我发现我们有 2 个地方有 IP 地址。我了解每个接口(interface)都可以有自己的公共(public)IP/私有(private)IP,并且可以属于不同的子网,因此网络接口(interface)下的字段。但我不清楚为什么我们在实例下有 IP 地址(公共(public)/私有(private))和子网。该数据不会成为接口(interface)之一的一部分吗?这有什么寓意吗。为什么要重复?``
例如aws ec2 描述实例
"Instances": [
{
*** I have IP address and subnet here ***
"PrivateIpAddress": "10.0.0.19",
"SubnetId": "subnet-12345678",
"NetworkInterfaces": [
***I also have IP address, subnetId for each interface here**
"PrivateIpAddress": "10.0.0.19",
"SubnetId": "subnet-12345678",
}
]
最佳答案
您将必须使用某种编程语言进行迭代,因为 NetworkInterfaces 是一个列表,PrivateIpAddresses 也是一个列表。
https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html
JQ 将为您提供所需的输出。
aws ec2 describe-instances --instance-id i-1234567890qwertyu --output json | jq .Reservations[].Instances[].NetworkInterfaces[].PrivateIpAddresses[].PrivateIpAddress -r
10.0.1.247
10.0.1.246
关于amazon-web-services - 来自 cli 的 aws ec2 实例 IP 地址 aws ec2 描述实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50707216/