2016-07-26 5 views
0

Пожалуйста, предложите любой способ или сценарий освободить неиспользованные эластичные лямки ec2. Я пробовал с boto и aws-cli, но я не могу это завершить. Любой может помочь. я думал о aws ec2 release-address --public-ip <x.x.x.x>, но я думаю, как я могу это сделать, отправив неиспользованные эластичные ips.Автоматический способ освобождения Неиспользуемый эластичный IPS

Благодаря

+0

Главная ваша главная цель? выпустить эти IP-адреса или иметь сценарий? если только их освобождение является целью, почему бы не использовать веб-консоль? – Skaperen

+0

@Skaperen ... да спасибо .. Мне нужно освободить неиспользуемые ips через скрипт – Dev

ответ

2

Там могут быть лучше, но я только что проверил это один и он хорошо работает

Примечания: Если вы используете EC2 классическими вы можете использовать команду aws ec2 release-address --public-ip <x.x.x.x> выпустить упругий IP в противном случае вам должны использовать aws ec2 release-address --allocation-id

EC2-Classic

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 {} 

Что эти команды делают:

  • Список всех ElasticIP информации и запросов только AssociationId поле вместе с либо PublicIp или AllocationId
  • Хранить только записи, где поле AssociationId должно быть None и распечатать либо PublicIp, либо AllocationId значение
  • Передайте это значение команде release-address, чтобы ее выслать.
+0

Спасибо за ответ. – Dev