marzo 29, 2024

Herramienta para balanceo de carga de servidores Web mediante DNS.

0
Voiced by Amazon Polly
Comparte en redes sociales

Dentro de la seguridad informática la disponibilidad es un factor muy importante que normalmente se le suele menospreciar. Entendemos por disponibilidad a la garantía de que los usuarios autorizados puedan acceder a la información y recursos de red cuando los necesiten. La disponibilidad es un factor imprescindible en servidores Web. 


Edgemanage es una herramienta para la gestión de la disponibilidad de servidores Web a nivel HTTP  a través de DNS. Su funcionamiento se basa en definir unas máquinas que puedan estar en riesgo de grandes volúmenes de tráfico, ataque tipo DDoS o otra inestabilidad potencial. Cuando el trafico elevado o un ataque se envía a la maquina, si no se encuentra una máquina disponible o tiene un bajo rendimiento, es reemplazada por un anfitrión con más prestaciones para garantizar la máxima disponibilidad. Es un script simple y con una biblioteca de Python diseñado para ejecutarse a intervalos regulares, generalmente a través de crontab. Diseñada para trabajar cada 60 segundos pero las cifras más grandes se puede utilizar [^ 1]. 


Edgemanage obtiene un objeto de una lista de hosts a través de HTTP y utiliza el tiempo necesario para recuperar el objeto como baremo para tomar decisiones sobre qué máquinas son las que tiene mejor rendimiento para asumir el trafico . Estos anfitriones se escriben en un archivo de zona como registros A para el vértice de un dominio, además de la inserción de los archivos almacenados en la zona incluye directorio. Los archivos de zona que escriba Edgemanage se crean a través de plantillas Jinja, con los datos de SOA y NS que se definen en el archivo de configuración y se unen al formato de salida bind-compliant. Los registros para cada dominio que se incluyen son reglas de estilo de Bind.

Su modo de operación mas detallado consiste en que: un huésped se considera que está en un estado saludable cuando el objeto se devuelve bajo un valor establecido en el archivo de configuración. Anfitriones que devuelven el objeto bajo el tiempo especificado siempre serán elegidos por primera vez en caso de que surja la necesidad de reemplazar a un anfitrión que no está sobrecargado.  Hay que tener cuidado que los cambios de DNS no se hacen cuando no se necesitan, esto significa que si el último conjunto de host saludables disponibles se encuentran en buen estado, no habrá ningún cambio en el DNS.

Mantiene histórico de recuperaciones por host y puede tomar decisiones basadas en estos datos. Por defecto, si no hay suficientes anfitriones, añadirá sistemas basados en su promedio, durante una ventana de tiempo, y en su defecto, de su promedio general.

Edgemanage debe ejecutarse periódicamente para ser de utilidad. Se recomienda ejecutarlo a través de crontab. En su puesta en marcha por primera vez, es recomendable ejecutarlo en modo verbose (-v) y en el modo de ejecución (-n) escribiendo  en un lugar que no contenga la información de producción.

Mantiene un archivo de estado que se utiliza para obtener información histórica sobre los hosts en activos y los tiempos de última rotación. Si se deniega una conexión a un host, se le asignará el máximo tiempo permisible para un host (garantizando así tanto su retirada de la rotación en vivo y también una ventana de retroceso a través de sus promedios).

Más información y descarga de Edgemanage:
https://github.com/equalitie/edgemanage

Deja un comentario