ALB- Nginx -Fargate Load Balancer - PullRequest
       44

ALB- Nginx -Fargate Load Balancer

0 голосов
/ 17 апреля 2020

У меня есть ALB, который сидит перед NGINX. nginx conf имеет 9 различных серверных настроек, каждый из которых прослушивает разные порты. Я использую Fargate для развертывания моего кластера с использованием службы обнаружения.

Теперь, чтобы направить мой трафик c через ALB -> Nginx -> Django-uwsgi APP, я добавил 9 различных целевых групп и 9 портов слушателя в ALB, причем каждый порт слушателя был связан с одной из целевой группы.

Обратите внимание, что мой ALB не связывается напрямую с приложением, он маршрутизирует через Nginx. Следовательно, я не объявлял никакой балансировщик нагрузки при настройке моей службы Fargate APP . Балансировщик нагрузки объявляется только при настройке NGINX службы fargate.

Теперь при настройке балансировщика нагрузки для службы Nginx fargate я могу добавить только до 5 целевых групп. Это означает, что мой nginx conf сможет обслуживать только 5 серверов conf, целевая группа которых была настроена при настройке службы.

Как настроить остальную часть службы через тот же nginx config?

У меня есть несколько решений: -

1) Я развертываю 2 nginx сервисов, nginx1 и nginx2, каждая из которых имеет 5 целевых групп каждая , Это решение имеет стоимость и эксплуатационные проблемы. Стоимость, потому что будет N nginx услуги 5N сервер конф. В оперативном плане, потому что я должен поддерживать разные файлы nginx.

2) Целевая группа направляет трафик c на IP (в данном случае nginx IP службы). Поэтому, всякий раз, когда я развертываю свою службу nginx fargate, я вручную обновляю частный IP-адрес в каждой из оставшихся целевых групп, которые не были настроены в службе. Однако это приведет к проблеме, заключающейся в том, что всякий раз, когда мой контейнер выходит из строя и Fargate пытается сохранить желаемое количество, мой личный IP-адрес будет изменен без моего ведома. Это приведет к простою остальных служб.

...