Когда-то я считала, что одного VPS вполне достаточно. Но стоило однажды остаться без доступа к серверу из‑за сбоя в дата-центре, как всё изменилось. Я увидела белую страницу вместо сайта, а в Telegram начали поступать сообщения от клиентов: «Не открывается», «Проблема с оплатой». Тогда я впервые всерьёз села и разобралась, что такое failover, зачем он нужен и как его настроить. В этой статье рассказываю, как всё это работает — человеческим языком.
Что такое failover простыми словами
Failover — это когда у вас есть план Б. Представьте, что у вас кафе, и у входа работает только один терминал. Если он ломается — клиенты не могут оплатить, и вы теряете выручку. Но если рядом есть резервный терминал, который включается автоматически — бизнес не останавливается.
С VPS то же самое. Ваш основной сервер работает круглосуточно, но может произойти всё что угодно: сбой сети, DDOS, ошибка при обновлении, перегрузка. И вот тогда в дело вступает резервный сервер — он берёт на себя запросы, и пользователи даже не замечают подмены.
Где применяется
- Сайты с высокой посещаемостью
- Внутренние CRM
- API и backend-сервисы
- Платёжные шлюзы и SaaS-продукты
- Публичные панели и консоли
Всё, что должно «жить» 24/7, — кандидат на failover.
Как выглядит базовая схема
Допустим, у вас два VPS:
- — основной сервер (например, на Timeweb Cloud или FirstVDS)
vps-main
- — резервный
vps-backup
Публичный домен
example.com
vps-main
Таблица: способы организации failover
Метод | Что это | Когда использовать | Минусы |
---|---|---|---|
DNS Failover | Переключение A-записей DNS | Простые сайты, лендинги | Задержка в кэшировании DNS |
Keepalived + Floating IP | Перемещение IP между серверами | VPS в одной сети (например, Hetzner) | Требует IP-алиаса |
Nginx + Healthcheck | Проверка бекендов и проксирование | API и микросервисы | Не помогает при полной потере узла |
Облачные решения | Failover от хостера или панели | Простые сценарии | Иногда дорогие |
Как я настроила у себя DNS Failover
Что использовала:
- Два VPS: один в Германии, второй в Финляндии
- DNS через Cloudflare
- Health Check включен (проверка HTTP-ответа с )
/status
- Включён TTL 60 секунд и «Proxied» режим выключен (иначе Cloudflare сам кеширует ошибку)
Что проверяет:
Каждую минуту Cloudflare пингует основной сервер. Если 3 раза подряд не получил ответа — перенаправляет трафик на IP второго VPS.
Результат:
Пользователь просто заходит на сайт и видит всё как обычно. Для него ничего не сломалось.
Как протестировать свою настройку?
Совет из практики — не надейтесь на теорию. Я выключила nginx на основном VPS командой:
sudo systemctl stop nginx
Спустя пару минут сайт стал открываться с резервного IP. Даже favicon грузилась без ошибок. Это убедило меня, что схема действительно работает.
А что с базой данных?
Если у вас сайт, где важны данные (например, интернет-магазин), важно синхронизировать базу данных. Есть несколько вариантов:
- Репликация PostgreSQL или MySQL между серверами
- Использование внешней DBaaS (например, PlanetScale)
- Снэпшоты и регулярные бэкапы
Я лично использую PostgreSQL с асинхронной репликацией, а иногда просто копирую базу по cron раз в 30 минут — не идеально, но вполне рабочее решение для проекта средней критичности.
Что ещё стоит автоматизировать
- Перезапуск упавшего сервиса через watchdog или
systemd
- Мониторинг через UptimeKuma, HetrixTools или Zabbix
- Slack/Telegram-уведомления при падении основного сервера
Несколько человеческих советов
- Не запускайте оба VPS в одной зоне — если у дата-центра сбой, упадут оба.
- Тестируйте свой план failover раз в месяц. Как пожарную тревогу.
- Не забывайте про сертификаты: на резервном сервере тоже должен быть актуальный Let’s Encrypt.
- Если вы храните бэкапы — подумайте, как их можно быстро развернуть как рабочий сайт. Это ускорит «ручной» failover.
Настройка failover кажется сложной только до первого падения сервера. А потом вы будете благодарны себе, что всё предусмотрели. В моём случае, когда спустя полгода снова отвалился основной сервер, я просто попила чай, не дёргаясь. Всё уже переключилось. И никто даже не заметил.
Забирай бонус
Миграция бесплатна, а за оплату года — ещё месяц сверху.