Назад | Перейти на главную страницу

Добавьте группу безопасности в список существующих в EC2 с помощью AWS CLI (однострочный)

Этот вопрос является продолжением (а не дубликатом) Как добавить группу безопасности к работающему инстансу EC2?. Я считаю, что он заслуживает собственного ответа, а не комментария.

Как я могу написать однострочник с помощью интерфейса командной строки AWS для Добавить группа безопасности в EC2.

Потому что раздражение от использования команды

aws ec2 modify-instance-attribute --instance-id i-12345 --groups sg-12345 sg-67890 

в том, что он требует указать все ТЕКУЩИЕ и НОВЫЕ SG.

Итак, какой однострочник я могу использовать для добавления группы безопасности к текущим группам экземпляра?

Мы можем начать с выполнения

current_security_groups=$(aws ec2 describe-instances --instance-ids $newid --query Reservations[*].Instances[*].SecurityGroups[*].GroupId --output text)

Что дает нам текущую группу безопасности. Например:

$ echo $current_security_groups
sg-6ddf0b08 sg-7ee1231b

Затем мы можем опираться на предыдущий ответ и писать:

aws ec2 modify-instance-attribute --instance-id $newid \
   --groups $current_security_groups sg-e1395da9

Или одной строкой:

aws ec2 modify-instance-attribute --instance-id $newid \
  --groups $(aws ec2 describe-instances \
     --instance-ids $newid \
     --query Reservations[*].Instances[*].SecurityGroups[*].GroupId \
     --output text) \
  sg-e1395da9

Где $ newid - это идентификатор_экземпляра EC2, а sg-e1395da9 группа SG, которую мы добавляем.

Кстати, команда одинаково эффективна, ура!