Я бы настроил round-robin DNS с двумя A-записями, но основная засада — синхронизация файлов и базы. Файлы можно зеркалить через rsync/lsyncd, а вот БД — либо мастер-мастер репликацию (гемор ещё тот), либо вынести на отдельный сервер. Если сайт статический — вообще проблем нет, для динамики проще взять один мощный хостинг, чем городить такой огород.
Часто проблема не в синхронизации кода, а в состоянии сессии и загруженных файлах. Держите сессии в общем хранилище (Redis, общая таблица БД или cookie-сессии), иначе пользователя будет «выкидывать» при переходе между узлами. Загрузки пользователей тоже нельзя оставлять на локальном диске аккаунта — выносите в S3-совместимое хранилище.
Отдельно решите вопрос планировщика: рассылку и cron-задачи должен запускать только один узел. Простейший признак — запись блокировки в общей БД с TTL, чтобы задача не дублировалась.
Если цель — не отказоустойчивость, а разделение, схема может быть иной: один аккаунт отдаёт статику и кэш, второй — динамику и API. Тогда и синхронизировать почти нечего.
Перед переносом проверьте лимиты: общий трафик, число соединений к БД и права на запись. Два слабых аккаунта не дают надёжности, если падает общий для них ресурс.