我正在尝试获取当前未分配给实例的所有弹性 IP。
使用以下命令可以轻松获取所有弹性 IP:aws ec2 describe-addresses
从这里,可以很容易地过滤掉任何没有的结果"AssociationId"
。但是,我不确定如何使用--query
.
我知道--query
选项使用 JMESPath 来过滤结果,但我不知道如何告诉它返回所有没有的结果AssociationId
。有什么帮助吗?
Thanks.
您可以检查 Addresses 集合中是否有空值,但不是AssociationId
更好的通用解决方案可能更好用InstanceId
:
实例 ID ->(字符串)
与地址关联的实例的 ID(如果有)。
AssociationId ->(字符串)
表示地址与 VPC 中实例的关联的 ID。
不在VPC内的弹性IP没有AssociationId
属性,但 VPC 和 EC2 Classic 中的弹性 IP 都会输出InstanceId
.
您也可以使用AssociationId
同样,如果您只关心 VPC 中的 IP。
例子:
aws ec2 describe-addresses --query 'Addresses[?InstanceId==null]'
aws ec2 describe-addresses --query 'Addresses[?AssociationId==null]'
进一步阅读:
- AWS 文档:aws ec2 描述地址 http://docs.aws.amazon.com/cli/latest/reference/ec2/describe-addresses.html
- AWS 文档:VPC 中的弹性 IP 地址 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html#VPC_EIPConcepts
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)