Самому можно сделать так(долго и тяжело):
Keepalived, HAProxy, Apache(Nginx), MariaDB-Galera cluster + GlusterFS(можно DRBD или другие).
Но для такой схемы нужно 5 серверов(очень много), 2 сервера - это вебсервер + балансировка, и 3 сервера для кластера БД, можно 2 но тогда после падения могут быть глюки. На 2 серверах поднимается Keepalived(балансировка ІР), HAProxy(балансировка нагрузики - к примеру 50/50), Apache и общее хранилище(я когдато делал GlusterFS, но можна любое другое) которое монтируется на обоих серверах.
Для БД ставиться на все 3 сервера MariaDB-Galera_cluster + на 2 сервера Keepalived.
В результате сайт грузится на обох серверах с одинаковой папки + конектится на 1 ІР к БД. Если хост с БД упал - keepalived переключает ІР на другой сервер с БД(все автоматом, в настройках ниче менять не надо). Если упадет один из веб-серверов - тоже keepalived переключится на другой и все будет ок.
Вариант по проще и если кривые руки, мало знаний и лень потом все админить и думать когда оно упадет - то этот более подходящий:
Арендуеш на Amazon 2 EC2 сервера + 1 RDS +1EBS(точно не помню как оно называется)(нужного тебе обьема)
Настраиваеш балансировку web-трафика средствами Amazon на эти 2 инстанса, к ним подключаеш как общее хранилише EBS(диск) и подключаеш к веб-приложению сервер БД.
На Amazon сервер БД(RDS) не упадет(малая вероятность падения), также не нужно никакого DRBD и т.д. так как просто подключен общий раздел.
PS: прошу прощения если некоторые термины не правильно назвал: RDS, EBD, EC2...(сам в них путаюсь)