请建议以任何方式或脚本释放未使用的ec2弹性ips。我尝试过boto和aws-cli,但我无法完成它。任何人都可以帮忙。我想到aws ec2 release-address --public-ip <x.x.x.x>
,但我想我怎样才能通过发送未使用的弹性ips来循环播放。
由于
答案 0 :(得分:2)
可能有一种更好的方法,但我只测试过这种方法,而且效果很好
注意:如果您使用EC2 classic,您可以使用aws ec2 release-address --public-ip <x.x.x.x>
命令释放弹性IP,否则您必须使用aws ec2 release-address --allocation-id
<强> EC2-经典强>
aws ec2 describe-addresses --query 'Addresses[].[PublicIp,AssociationId]' --output text | \
awk '$2 == "None" { print $1 }' | \
xargs -I {} aws ec2 release-address --public-ip {}
<强> EC2-VPC 强>
aws ec2 describe-addresses --query 'Addresses[].[AllocationId,AssociationId]' --output text | \
awk '$2 == "None" { print $1 }' | \
xargs -I {} aws ec2 release-address --allocation-id {}
这些命令正在做什么:
AssociationId
字段以及PublicIp
或AllocationId
AssociationId
字段为None
的记录,并打印PublicIp
或AllocationId
值release-address
命令以实际释放它。