AWS ALB - та же строка в URL должна идти в тот же экземпляр EC2 - PullRequest
0 голосов
/ 03 июля 2019

Я хочу добиться пользовательской балансировки нагрузки.Мое требование заключается в следующем.У меня есть приложение с шаблоном URL-адреса, например

dns-name.com/conference1/abc......
dns-name.com/conference2/xyz......
dns-name.com/conference1/abc......
dns-name.com/conference3/pqr......

. Я хочу, чтобы все пользователи с разных IP-адресов / браузеров, идущие с URL-адресом conference1, переходили к одному и тому же экземпляру в ALB, пока он не заработал.

conference1 stringэто не исправлено, и мы получаем это динамически приложением, поэтому маршрутизация на основе пути не помогает.

Поскольку пользователи отличаются от AWS ALB с Sticky Session, также не помогает.

Есть ли какое-либо решение?

Ответы [ 2 ]

0 голосов
/ 03 июля 2019

Нет встроенной возможности сделать это.

Один из вариантов - немного изменить URL. Вместо:

dns-name.com/conference1/abc...

использование:

conference1.dns-name.com/abc...

Это позволит вам направлять трафик на уровне DNS , поэтому весь трафик на этот URL будет направляться на один IP-адрес. Конечно, вам необходимо определить этот поддомен DNS, прежде чем он будет использоваться любым трафиком.

Это, конечно, в значительной степени устраняет необходимость в балансировщике нагрузки , так как на самом деле вы не хотите балансировать трафик традиционным способом.

Однако лучший совет, вероятно, состоит в том, чтобы пересмотреть архитектуру вашего приложения, чтобы избавило от необходимости направлять такой трафик на конкретные серверы . Это требование делает систему более склонной к сбоям, если экземпляр отказывает. Кроме того, в случае всплесков трафика масштабирование также сложнее (поскольку весь трафик conference1 идет только в один экземпляр), а масштабирование не так просто для сокращения затрат.

0 голосов
/ 03 июля 2019

Не существует решения, которое опиралось бы на встроенные возможности Application Load Balancer (ALB) или любого другого типа ELB.

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...