балансировщик нагрузки aws для разных экземпляров и одних и тех же портов

У меня есть два экземпляра EC2, на которых работают веб-сайты через порт 80.

Можно ли использовать / настроить 1 балансировщик нагрузки для этих двух экземпляров / служб? Когда я пытаюсь добавить прослушиватель в существующий балансировщик нагрузки, он говорит: «Возможно, у вас не определены дублирующиеся порты балансировщика нагрузки».

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


person erup    schedule 15.11.2018    source источник
comment
Какой именно балансировщик нагрузки? Похоже, вам нужен балансировщик нагрузки приложений.   -  person Mark B    schedule 15.11.2018
comment
Похоже, ваш существующий балансировщик нагрузки уже прослушивает порт 80. Добавьте новый балансировщик нагрузки для прослушивания порта 80 и добавьте к нему свои экземпляры EC2   -  person ben5556    schedule 15.11.2018


Ответы (1)


Балансировщики нагрузки определяют слушателей по портам входящего трафика, которые они прослушивают. Когда клиентское соединение достигает балансировщика нагрузки на определенном порту (например, 443 или 80), прослушиватель перенаправляет этот запрос на целевая группа. Чтобы прослушиватель на порту 80 переадресовал соединения с несколькими экземплярами, все, что вам нужно сделать, - это создать целевую группу, содержащую эти экземпляры. введите описание изображения здесь

Наиболее распространенный подход к общедоступным веб-сайтам - использовать что-то вроде Amazon Certificate Manager для создания Сертификаты TLS для сайта. Затем они загружают этот сертификат в свой балансировщик нагрузки и прослушивают порт 443 (типичный порт для HTTPS) и передают соединения через HTTP (обычно порт 80) целевым группам. Это обычно называется завершением TLS или SSL.


Если на экземплярах размещаются разные веб-сайты, но вы хотите выполнять маршрутизацию на основе предоставленного имени хоста (например, example.com и example1.com), вы можете создать отдельную целевую группу для каждого веб-сайта и использовать загрузку приложения. Балансировщик (ALB) для маршрутизации на основе имени хоста, предоставленного запрашивающей стороной.

Это можно сделать после того, как вы создали ALB, перейдя в субконсоль ALB и изменив правила прослушивателя, как показано на скриншотах ниже.

редактировать правила прослушивателя  rules

Чтобы обслуживать отдельный сертификат для каждого хоста, вам также необходимо добавить эти сертификаты в прослушиватель, как я написал в моем сообщение в блоге с описанием этой функции.

анимированный gif смены сертификата

person Randall Hunt    schedule 15.11.2018
comment
Чтобы быть более точным, два экземпляра загружают разные веб-сайты, поэтому я хочу, чтобы балансировщик нагрузки выполнял маршрутизацию на основе имени хоста, предоставленного запрашивающей стороной. Я создал 2 отдельные целевые группы для каждого экземпляра / веб-сайта, но как настроить Application Load Balancer (ALB) на автоматический переход к правильному экземпляру? Кажется, я могу перенаправить слушателя HTTPS: 443 только одной целевой группе? - person erup; 15.11.2018
comment
Я обновил существующий ответ, добавив гораздо больше информации - я думаю, что проблема, с которой вы столкнулись, заключается в том, что многие параметры для редактирования правил прослушивателя недоступны в мастере создания консоли - вам нужно создать ALB, а затем отредактировать правила для маршрутизации к нескольким целевым группам (и добавления нескольких сертификатов TLS). Если это ответ на ваш вопрос, пожалуйста, не забудьте проверить это как ответ. - person Randall Hunt; 16.11.2018