Guías técnicas

FortiADC y Auto-Scaling en AWS

En entornos cloud es habitual ajustar la capacidad computacional en base a las necesidades instantáneas del negocio, y gracias al auto-escalado se puede automatizar el proceso de desplegar máquinas adicionales cuando la carga de trabajo así lo requiera, y eliminarlas cuando dejen de ser necesarias.

El Application Delivery Controller de Fortinet, FortiADC, es una pieza clave para la ejecución de dicho proceso de auto-escalado en entornos de alto rendimiento.

Imaginemos un servicio alojado en 2 servidores, y publicado a través de FortiADC.

En AWS tendremos configurado un grupo de auto-escalado; en este caso se pide que siempre haya 2 servidores para tener una alta disponibilidad de los mismos, pero se podrían monitorizar otros parámetros como por ejemplo la CPU:

Cuando se ejecute uno de los triggers definidos en las reglas de auto-escalado, se notifica al Simple Notification Service (SNS) de AWS, y este a su vez, llamaría a una función Lambda.

En este caso podemos ver que uno de los servidores ha dejado de estar disponible, con lo cual estamos por debajo del umbral fijado en 2 en el grupo de auto-escalado:

Se hará por tanto una llamada a la función Lambda, que realmente se traduce en ejecutar un script en Python, que realizará diversas llamadas via REST API al FortiADC para configurar los nuevos servidores que se están levantando en AWS. De esta forma, cuando dichos servidores estén listos, ya estarán automáticamente incluidos en la lógica de balanceo y publicación del servicio.

Si refrescamos, veremos que el servidor caído es eliminado de la lógica de balanceo:

Y en su lugar se ha añadido el nuevo servidor que ha provisionado AWS:

En la siguiente imagen se resume toda la lógica de auto-escalado:

Tags

Contenidos relacionados

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *