Как обеспечить Отказоустойчивость web-сервиса и ipsec vpn?
Впервые столкнулся с задачей обеспечить Отказоустойчивость web-сервиса, работающего внутри ipsec vpn.
Конкретика не нужна, нужно общее понимание решения или технологии для дальнейшей постановки задачи исполнителям.
Упрощая схему, есть 2 сервера в разных ЦОДах, они между собой синхронизируются по внутренней VPN.
На серверах опубликован веб-сервис.
Каждый из серверов готов поднять ipsec tunnel с сервером/серверами клиента.
Есть внешний пользователь - клиент - который хочет, чтобы по-умолчанию туннель был поднят с первым сервером и использовался web-сервис на нем же.
В случае отказа первого сервера "динамическая маршрутизация" (не понимаю что тут маршрутизировать, нет AS, ЦОДы независимые) должна позволить клиенту переключиться и на второй vpn-туннель и второй web-сервис с максимальным временем простоя не более 15 минут.
Я не могу понять, что за технология предлагается. Я другим клиентам предлагаю держать 2 туннеля всегда, а к веб-сервису ходить по dns-имени. В случае отказа основного сервера я меняю запись A на внешних DNS, и клиент ходит на второй сервер. TTL записи 15 минут.
На самом деле ipsec vpn это не очень-то и vpn, это просто инкапсуляция трафика в tunnel esp режиме ipsec, которая выполняется уже после маршрутизации на основе правил в конфигурации ipsec. Я бы советовал поднять с клиентом настоящие vpn (openvpn/l2tp/итд), в том числе их можно поднять поверх ipsec (если политика безопасности клиента того требует). И дальше просто даже метриками разрулить основной и резервный VPN до одинакового IP (который будет на самом деле терминироваться в разных датацентрах). Это самый простой вариант в случае если клиент не может сам балансировать между двумя точками подключения, одна из которых может отказать.