jos*_*t91 8 amazon-ec2 amazon-web-services elastic-ip aws-cli
我正在尝试获取当前未分配给实例的所有弹性IP.
使用此方法很容易获得所有弹性IP: aws ec2 describe-addresses
从这里开始,很容易过滤掉任何没有的结果"AssociationId"
.但是,我不知道如何使用它--query
.
我知道该--query
选项使用JMESPath来过滤结果,但我不知道如何告诉它返回所有没有结果的结果AssociationId
.有帮助吗?
谢谢.
Ant*_*ace 15
您可以检查Addresses集合中的空值,但AssociationId
可能更好地使用InstanceId
以下代码而不是更好的通用解决方案:
InstanceId - >(字符串)
与地址关联的实例的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]'
Run Code Online (Sandbox Code Playgroud)
进一步阅读:
小智 6
ElasticIP 还连接到 NAT 网关。在这种情况下,InstanceID 值将为空,但 AssociationID 是在任何情况下都会出现的字段。因此最好使用associationID来确定EIP是否正在使用。
归档时间: |
|
查看次数: |
3171 次 |
最近记录: |