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

Как получить IP-адреса из инстансов с автоматическим масштабированием на AWS

Мы работаем над настройкой автомасштабируемого веб-сервиса на AWS. Одно из наших требований - перезагрузить конфигурацию веб-сервера через SSH. Обычно это не очень сложно, так как это всего лишь вопрос выполнения

ssh user@webserver "service apache2 reload"

Проблема в том, что при автоматическом масштабировании веб-серверов вы не знаете, сколько серверов работает и, что наиболее важно, каковы их IP-адреса. Итак, нам нужен способ получить список IP-адресов, которые в настоящее время сформированы в группе автоматического масштабирования.

Я проверил AWS CLI describe-auto-scaling-instances команда, но это дает мне только идентификаторы экземпляров. AFAIK, нет способа получить IP, связанный с этим идентификатором.

Я попытался найти подсказки в документации по API AWS, но безуспешно.

Есть ли здесь кто-нибудь, кто знает чистый способ сделать это? Альтернативой может быть то, что серверы проверяют себя на центральном сервере при загрузке и проверяют себя при остановке. Однако это подвержено ошибкам и требует центрального сервера, который не очень доступен и, честно говоря, немного расточительно использовать только для этой цели ...

Очевидно, я был слепым. API AWS для экземпляров EC2 действительно перечисляет IP-адрес при выдаче describe-instances команда.