Добавьте группу безопасности в список существующих в EC2, используя AWS CLI (однострочник)
Этот вопрос является продолжением (а не дубликатом) Как добавить группу безопасности в работающий экземпляр EC2?, Я считаю, что это заслуживает иметь свой собственный ответ, а не комментарий.
Как можно написать однострочную версию с помощью интерфейса командной строки AWS для добавления группы безопасности в EC2.
Потому что раздражение от использования команды
aws ec2 modify-instance-attribute --instance-id i-12345 --groups sg-12345 sg-67890
является то, что требуется указать все текущие и новые SG.
Итак, какой однострочный можно использовать, чтобы добавить группу безопасности к текущим экземплярам?
1 ответ
Мы можем начать делать
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 instance_id, и sg-e1395da9
группа SG, которую мы добавляем.
Кстати, команда является то же самое, да!