Настройте один балансировщик нагрузки AWS для нескольких основных приложений. net, размещенных в виде веб-сайтов на одном экземпляре EC2. - PullRequest
0 голосов
/ 18 февраля 2020

Framework:. Net core 2.0

Привет всем,

Я развернул, скажем, 3 приложения на одном экземпляре EC2, которые являются веб-сайтами (внешний интерфейс angular js и 2 веб-API для аутентификации и связи). Как настроить единый балансировщик нагрузки для запросов на обслуживание для всех 3 веб-сайтов, использующих HTTPS?

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

Веб-сайты развернуты на EC2 с использованием имен узлов в IIS, и они доступны напрямую через имена узлов. Есть ли другой / лучший способ их развертывания вместо имен хостов?

website deployed architecture

1 Ответ

1 голос
/ 06 марта 2020

При настройке балансировщика нагрузки вам необходимо настроить для него прослушиватели, в которых вы упомянете порты, через которые вы хотели бы получить доступ к вашему приложению. А в слушателях вам нужно будет указать целевые группы, в которые вы будете перенаправлять трафик c, основываясь на именах хостов / заголовках хостов.

Итак, вот шаги, которым нужно следовать.

  1. Поскольку все ваши трафики c в любом случае должны go к одному и тому же экземпляру, вам придется создать одну целевую группу и зарегистрировать экземпляр, который вы уже создали, с помощью traffi c маршрутизируется через порт 80 .

  2. Теперь, возвращаясь к конфигурации ELB, вам нужно будет создать прослушиватель HTTP (порт 80), который будет иметь правило по умолчанию для перенаправления всего трафика c на HTTPS (порт 443).

  3. В том же ELB создайте прослушиватель HTTPS:443, где (обычно) у вас будут разные правила прослушивателя в зависимости от имен хостов ваших сайтов в IIS. Но просто для простоты настройте правило по умолчанию для маршрутизации всех traffi c в целевую группу, созданную на шаге выше (как только мы проверим, правильно ли работает traffi c, мы можем изменить конфигурацию для повышения безопасности).

Вот и все!

При наличии белого списка правильной группы безопасности ваш трафик c должен попасть в ваш экземпляр через ELB.

Поздравляем! Этого должно быть достаточно ...

... если только вы не хотите убедиться, что ТОЛЬКО запросы, относящиеся к этим сайтам, попадают в ваш экземпляр, тогда, когда вы уверены, что поток traffi c правильный вы можете создать другое правило прослушивателя в HTTPS:443 прослушивателе вашего ELB, в котором вы можете настроить следующий параметр:

ЕСЛИ заголовок хоста равен frontend.website.com ИЛИ webapi1. website.com ИЛИ webapi2.website.com THEN Forward to (целевая группа, созданная на шаге 1)

...