Как я могу получить частные IP-адреса всех экземпляров, которые являются частью группы AutoScaling. Я пытаюсь выполнить некоторые операции на всех экземплярах, входящих в группу автоматического масштабирования.
amazon-ec2
autoscaling
Рамеш Кумар
источник
источник
jq
команду для разбора JSONКак вариант, моя версия без каких-либо jq / awk / sed / cut
Более оптимизированная версия
Если вам нужен простой список в выводе, вы можете добавить еще один конвейер
| jq -r '.[]'
источник
this creates many "describe-instances" requests
и? Насколько я понял, ваш запрос будет работать только с тегами, он не универсален, imhoВзгляните на прекрасную документацию по API AWS. Например, инструменты aws-cli aws autoscaling instance-auto-scaling-instances и aws ec2 description-instance .
источник
Аналогично ответу Рамеша, здесь есть небольшой скрипт, основанный на текущем экземпляре и его группе. Убедитесь, что вы указали свой регион, и в этом случае я пропускаю текущий экземпляр (используется для кластеризации). При необходимости вы также можете изменить PrivateIpAddress на Public.
источник
Вы также можете использовать
jq
для разбора выходных данных, плохая идея использовать awk, grep или sed и т. д. для разбора структуры узла, аналогично плохой идее использовать регулярные выражения для разбора html.источник
jq
это полезный инструмент, и если оставить его здесь, это может позволить ops людям обнаружить его, даже если с amazon вы можете сделать все это с помощьюaws
командыВы также можете просмотреть пользовательский интерфейс веб-консоли AWS в разделе EC2 -> Группы автоматического масштабирования -> вкладка «Экземпляры». Вы увидите все экземпляры под текущим ASG, затем вы можете нажать на каждый экземпляр экземпляра, чтобы получить IP-адрес (он перенаправит вас в другое представление.)
источник
источник
Это вернет все частные ips экземпляров в ASG
источник