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

Автоматически определять балансировщик нагрузки инстанса EC2

Есть ли способ автоматически определить, что такое балансировщик нагрузки, если таковой имеется, для данного экземпляра EC2? То есть спросить «кто мой LB и какой у него служебный IP?». Я думал о служба метаданных экземпляра но LB "перед" экземпляром, кажется, не указан там.

Причина этого в том, что я хочу установить адрес ELB (или DNS-имя) в качестве атрибута узла Chef для автоматического запроса клиентскими службами, которым необходимо знать этот внешний IP-адрес.

Вы можете получить информацию с помощью API.

  1. Получите текущий идентификатор экземпляра EC2 из метаданных экземпляра EC2.
  2. Используйте elasticloadbalancing: DescribeLoadBalancers, чтобы получить список балансировщиков нагрузки.
  3. Перебрать каждый балансировщик нагрузки в ответе. Для каждого балансировщика нагрузки просмотрите список экземпляров в поисках идентификатора вашего экземпляра.

Примечание №1: инстанс EC2 может быть зарегистрирован ни в одном, одном или даже в двух или более балансировщиках нагрузки.

Примечание № 2: внешний IP-адрес Elastic Load Balancer, скорее всего, со временем изменится.