Я создаю новую среду высокой доступности с двумя серверами балансировки нагрузки HAProxy и двумя веб-серверами NGINX на CentOS 7. У меня все настроено и работает с обоими балансировщиками нагрузки. но я не уверен, как маршрутизировать входящий трафик WAN, чтобы, если один сервер HAProxy не работает, другой берет на себя. Я прочитал несколько статей о настройке HAProxy HA, но все они относятся к настройке виртуального IP. Это то, что мне нужно настроить в CentOS, или это то, что нужно настроить в моем брандмауэре PfSense.
Моя настройка:
Брандмауэр pfSense (192.168.1.1)
-
LB01 (192.168.1.5)
LB02 (192.168.1.6)
-
NGINX01 (192.168.1.20)
NGINX02 (192.168.1.21)
В системах BSD нужный вам протокол HA называется CARP (Common Address Redundancy Protocol - общий протокол избыточности адресов) и реализуется в паре брандмауэров, каждый из которых имеет физический интерфейс, предназначенный для поддержания общего состояния. Виртуальный IP" будет совместно использоваться ими - в любой момент времени, один из них будет основным, а другой будет контролировать его. Если бы первичный брандмауэр не обеспечивал регулярных обновлений, то вторичный брандмауэр принял бы на себя виртуальный интерфейс (путем подмены MAC-адреса)
Все можно сделать с помощью циклического DNS. Или, например, AWS Route 53 дает вам возможность маршрутизации на IP-адрес в списке на основе задержки. У сбитого блока pfsense будет сверхвысокая задержка (тайм-аут), и тогда запросы будут перенаправлены на следующий блок pfsense.