But how do I make a two web-server setup fully redundant?
Normalmente, você não faz isso. Tornar o banco de dados totalmente redundante com failover contínuo é difícil. E a redundância total requer hardware adicional, por isso muitas vezes não é implementada antes que o site cresça para ser um pouco maior.
Você deve pensar no estado da sessão - estado de login do usuário, conteúdo do carrinho de compras etc. Como isso será tratado?
Se o seu serviço for completamente sem estado (serviço de arquivo estático fx sem personalização para cada usuário), você poderá usar o DNS Round Robin para publicar 2 endereços IP para seu site, um para cada servidor.
Se você precisar de um pouco mais de controle sobre como o failover é tratado, considere 2 servidores da Web, ambos compartilhando o mesmo endereço IP por meio de Windows NLB ou no Linux usando algo como Linux-HA , Mantenha-se vivo , etc. (há várias soluções possíveis).