Can't you use RDS? It has Multi-AZ replication and failover. It may seem costly, but it means you don't need to manage all that stuff yourself.
I should mention that the system I'm building that uses it has yet to go into production, so others may have more experience on this than I do.