amazon-web-services - 来自cli的aws ec2实例IP地址 aws ec2 describe-instances
问题描述
我想获取 ec2 实例的所有 IP 地址。我正在查看 CLI aws ec2 describe-instances,我看到我们有 2 个地方有 IP 地址。我知道每个接口都可以有自己的公共 IP/私有 IP,并且可以属于不同的子网,因此网络接口下的字段。但是我不清楚为什么我们在实例下有 IP 地址(公共/私有)和子网。该数据不会成为其中一个界面的一部分吗?这有什么意义吗。为什么这个重复?``
例如 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
推荐阅读
- python - 访问数据框字典中的值并使用 pandas 中的某些列创建新数据框
- unix - Stress-ng - 超载内存
- python - Pycharm 无法识别 logging.basicConfig 处理程序参数
- android - 如何将 RealmList 插入 RealmDB
- css - CSS 选择器:有一个类且任何父元素没有另一个类的元素
- json - 是否可以在 Angular 6 的开发模式下添加服务重定向
- c++ - 如何将一个类更改为派生自同一个基类的另一个类?
- gradle - 如何使用 gradle 将 jar 从 artifactory 下载到项目目录?
- c - C地址中的静态变量用法不同
- scala - 如何根据 IntelliJ IDEA 中提供的参数生成方法或构造函数参数名称