Я создаю новую среду высокой доступности с двумя серверами балансировки нагрузки 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)
Все можно сделать с помощью циклического DNS. Или, например, AWS Route 53 дает вам возможность маршрутизации на IP-адрес в списке на основе задержки. У сбитого блока pfsense будет сверхвысокая задержка (тайм-аут), и тогда запросы будут перенаправлены на следующий блок pfsense.
В системах BSD протокол HA, который вы ищете, называется CARP (Common Address Redundancy Protocol), и он будет реализован в паре межсетевых экранов, каждый из которых имеет физический интерфейс, предназначенный для поддержания общего состояния. «Виртуальный IP-адрес» будет разделен между ними - в любой момент один из них будет основным, а другой будет его отслеживать. Если первичному серверу не удалось доставить регулярные обновления, вторичный получит виртуальный интерфейс (путем подмены его MAC-адреса).