Protegiendo tus servidores y webs ante errores con Route 53 de AWS

A pesar de que tengamos nuestra web desplegada en en proveedor Cloud, bajo algunas circunstancias, nuestro servidor y/o web puede tener un error y parar de funcionar. Una de las formas de prevenir este corte de acceso por nuestros usuarios sería a través del servicio Route 53 de AWS.

Seguro que alguna vez hemos visto como algunas páginas web se vuelven inaccesibles durante un periodo de tiempo. Esto puede ocurrir por muchas razones, desde problemas de seguridad, errores en los servidores, ataques DDos, demasiados usuarios en poco tiempo, etc… Para las diferentes causas, tenemos diferentes posibilidades para prevenir dichos problemas. Vamos a explicar una solución práctica, que nos permitiría a través de AWS, prevenir un conjunto de problemas en nuestro servidor, obteniendo el tiempo necesario para arreglar lo que esté ocurriendo, sin que el usuario llegue a notar el problema.

Para ello, vamos a ampliar la configuración que tendremos con nuestro Route 53 de AWS, que será nuestro servicio de DNS integrado en el Cloud, que nos permitirá tener una web más escalable y de alta disponibilidad. Entre las opciones y funcionalidades que nos permite, podemos añadir el llamado Failover, el cual nos permitirá redirigir nuestras conexiones a otro servidor, cuando detecte que el principal no funciona correctamente.

Como podéis ver en el diagrama, tendremos un servidor EC2 principal donde estaremos mandando a los usuarios. Pero a su vez, tendremos uno secundario (posiblemente de menor potencia), que nos servirá en el caso de que haya problemas en el primary. Otros de los puntos que deberemos tener en cuenta, es que tendremos que tener activado la propiedad para ver el estado de los servidores, lo cual nos permitirá ver la situación y dejar automatizado nuestra solución.

Otra forma de enriquecer esta solución, sería con el uso de CloudWatch de AWS, el cual nos facilitará mayor información de lo que está ocurriendo y el porqué, además de permitirnos enlazarlo con otros servicios de AWS para realizar autoescalado, notificaciones, etc.