Балансировщик нагрузки приложения AWS не работает - PullRequest
0 голосов
/ 29 января 2019

У меня есть кластер EC2 с одним экземпляром EC2, на котором работают две службы:

  • api1, прослушивание через порт 8080

  • api2, прослушивающий порт 9090

Если я делаю запросы к экземпляру EC2 и этим портам, оба API работают нормально.

Теперь я хочу создать балансировщик нагрузки, чтобы я мог делать запросы к http://{load_balancer_ip}/api1 и http://{load_balancer_ip}/api2, но я не могу.

Я создал две целевые группы,оба только с одним экземпляром (единственный у меня есть)

  1. TargetGroup1: порт 8080 и экземпляр EC2, зарегистрированный на порту 8080
  2. TargetGroup2: порт 9090 и EC2экземпляр зарегистрирован на порт 9090

Затем я создал балансировщик нагрузки с одним слушателем на порту 80 и этими двумя правилами пути:

  • Когда /api1, переслать наTargetGroup1
  • Когда /api2, переадресация на TargetGroup2

Когда я делаю запросы против http://{load_balancer_ip}/api1 или http://{load_balancer_ip}/api2, ничего не происходит;Я не получаю никакого ответа.

Чего мне не хватает?

1 Ответ

0 голосов
/ 31 января 2019

Хорошо, я узнал, что происходит, благодаря первому комментарию к этому вопросу:

Маршрутизация на основе пути AWS Application Load Balancer (ALB) не работает должным образом

Балансировщик нагрузкине переписывает URL, и мои API слушают на /, но балансировщик нагрузки перенаправляет весь путь /api1.

Решено!

(я не мог пометить его как дублированныйпотому что на вопрос выше нет принятого ответа)

...