Arquitectura de escalabilidad automática para AWS

El siguiente diagrama ilustra la arquitectura de la función de Autoscale con DNS como distribuidor de tráfico.

AWS-autoscale-architecture-NLB

El siguiente diagrama ilustra la arquitectura de la función de escalado automático con NLB como distribuidor de tráfico.

AWS-autoscale-architecture-NLB

Consola NetScaler

NetScaler Console es una solución basada en la web para administrar todas las implementaciones de NetScaler que se implementan en las instalaciones o en la nube. Puede utilizar esta solución en la nube para administrar, supervisar y solucionar problemas de toda la infraestructura global de entrega de aplicaciones desde una única consola unificada y centralizada basada en la nube. NetScaler Console proporciona todas las capacidades necesarias para configurar, implementar y administrar rápidamente la entrega de aplicaciones en las implementaciones de NetScaler y con análisis detallados del estado, el rendimiento y la seguridad de las aplicaciones.

Los grupos de Autoscale se crean en NetScaler Console y las instancias de NetScaler VPX se aprovisionan desde NetScaler Console. A continuación, la aplicación se implementa a través de StyleBooks en NetScaler Console.

Distribuidores de tráfico (NLB o DNS/Route53)

NLB o DNS/Route53 se utiliza para distribuir el tráfico entre todos los nodos de un grupo de Autoscale. Consulte Modos de distribución de tráfico de Autoscale para obtener más información.

La consola de NetScaler se comunica con el distribuidor de tráfico para actualizar el dominio de la aplicación y las direcciones IP de los servidores virtuales de equilibrio de carga que administran la aplicación.

Grupo Autoscale de NetScaler Console

El grupo de Autoscale es un grupo de instancias NetScaler que equilibran la carga de las aplicaciones como una sola entidad y activan el escalado automático en función de los valores de parámetros de umbral configurados.

Clústeres NetScaler

Un clúster de NetScaler es un grupo de instancias NetScaler VPX y cada instancia se denomina nodo. El tráfico del cliente se distribuye entre los nodos para proporcionar alta disponibilidad, alto rendimiento y escalabilidad.

Nota

  • Las decisiones de escalado automático se toman a nivel de clúster y no a nivel de nodo.
  • Los clústeres independientes se alojan en diferentes zonas de disponibilidad y, por lo tanto, la compatibilidad con algunas de las funciones de estado compartido es limitada.

    Las sesiones de persistencia, como la persistencia de la IP de origen y otras, excepto la persistencia basada en cookie, no se pueden compartir entre Sin embargo, todas las funciones sin estado, como los métodos de equilibrio de carga, funcionan como se esperaba en las múltiples zonas de disponibilidad.

Grupos de escalado automático de AWS

El grupo de escalado automático de AWS es una colección de instancias de EC2 que comparten funciones similares y se tratan como una agrupación lógica para el escalado y la administración de instancias.

Zonas de disponibilidad de AWS

La zona de disponibilidad de AWS es una ubicación aislada dentro de una región. Cada región se compone de varias zonas de disponibilidad. Cada zona de disponibilidad pertenece a una sola región.

modos de distribución del tráfico

A medida que traslada la implementación de la aplicación a la nube, el escalado automático pasa a formar parte de la infraestructura. A medida que las aplicaciones escalan horizontalmente o escalan con escalado automático, estos cambios deben propagarse al cliente. Esta propagación se logra mediante el escalado automático basado en DNS o en NLB.

Escalado automático basado en NLB

En el modo de implementación basado en NLB, la capa de distribución para los nodos del clúster es el equilibrador de carga de red de AWS.

En el escalado automático basado en NLB, solo se ofrece una dirección IP estática por zona de disponibilidad. Esta es la dirección IP pública que se agrega a route53 y las direcciones IP de back-end pueden ser privadas. Con esta dirección IP pública, cualquier nueva instancia de NetScaler aprovisionada durante el escalado automático funciona mediante direcciones IP privadas y no requiere direcciones IP públicas adicionales.

Puede usar el escalado automático basado en NLB para administrar el tráfico TCP y UDP.

Escalado automático basado en DNS

En el escalado automático basado en DNS, DNS actúa como la capa de distribución para los nodos del clúster de NetScaler. Los cambios de escalado se propagan al cliente actualizando el nombre de dominio correspondiente a la aplicación. Actualmente, el proveedor DNS es AWS Route53.

Nota

En el escalado automático basado en DNS, cada instancia de NetScaler requiere una dirección IP pública.

Cómo funciona el escalado automático

El siguiente diagrama de flujo ilustra el flujo de trabajo de Autoscale.

Autoscale-workflow

La consola de NetScaler recopila estadísticas (uso de CPU, uso de memoria, rendimiento) de los clústeres aprovisionados de Autoscale en un intervalo de tiempo de un minuto.

Las estadísticas se evalúan con respecto a los umbrales de configuración. Dependiendo de si las estadísticas exceden el umbral máximo o estén operando por debajo del umbral mínimo, se activará la escalabilidad horizontal o la escalación de entrada respectivamente.

  • Si se activa un escalamiento horizontal:

    • Se aprovisionan nuevos nodos.
    • Los nodos están conectados al clúster y la configuración se sincroniza del clúster al nuevo nodo.
    • Los nodos están registrados en NetScaler Console.
    • Las nuevas direcciones IP de nodo se actualizan en DNS/NLB.

Cuando se implementa la aplicación, IPset se crea en clústeres de cada zona de disponibilidad y el dominio y las direcciones IP de instancia se registran con DNS/NLB.

  • Si se activa una escala en escala:
    • Se eliminan las direcciones IP de los nodos identificados para su eliminación.
    • Los nodos se separan del clúster, se desaprovisionan y, a continuación, se cancela el registro en NetScaler Console.

Cuando se quita la aplicación, el dominio y las direcciones IP de instancia se anulan del registro de DNS/NLB y IPset se eliminan.

Ejemplo

Tenga en cuenta que ha creado un grupo de Autoscale denominado asg_arn en una sola zona de disponibilidad con la siguiente configuración.

  • Parámetro Umbral: Uso de memoria
  • Límite mínimo: 40
  • Límite máximo: 85
  • Tiempo de visualización: 3 minutos
  • Período de enfriamiento: 10 minutos
  • Tiempo de espera de conexión de drenaje: 10 minutos
  • Tiempo de espera TTL: 60 segundos

Una vez creado el grupo de Autoscale, las estadísticas se recopilan del grupo de Autoscale. La directiva de Autoscale también evalúa si hay algún evento de Autoscale en curso y si hay un escalado automático en curso, espera a que se complete dicho evento antes de recopilar las estadísticas.

Autoscale-example

Secuencia de eventos:

  • T1 y T2: El uso de memoria supera el límite máximo del umbral.
  • T3: el uso de la memoria está por debajo de los límites del umbral máximo.
  • T6, T5, T4: el uso de memoria ha superado el límite máximo de forma consecutiva durante tres períodos de tiempo de visualización.

    • Se activa un escalamiento horizontal.
    • Se produce Provisioning de nodos.
    • El periodo de tiempo de reutilización está en vigor.
  • T7 — T16: La evaluación de escalabilidad automática se omite para esta zona de disponibilidad de la T7 a la T16 ya que el período de enfriamiento está en vigor.

  • T18, T19, T20: el uso de memoria ha superado el límite mínimo de forma consecutiva durante tres períodos de tiempo de visualización.
    • Se activa el escalado.
    • El tiempo de espera de la conexión de drenaje está vigente.
    • Las direcciones IP se eliminan del DNS/NLB.
  • T21 — T30: se omite la evaluación de escalabilidad automática para esta zona de disponibilidad de la T21 a la T30, ya que el tiempo de espera de la conexión de drenaje está vigente.

  • T31
    • Para el escalado automático basado en DNS, TTL está en vigor.
    • Para el escalado automático basado en NLB, se produce el desaprovisionamiento de las instancias.
  • T32
    • Para el escalado automático basado en NLB, comienza la evaluación de las estadísticas.
    • Para el escalado automático basado en DNS, se produce el desaprovisionamiento de las instancias.
  • T33: Para el Autoscale basado en DNS, se inicia la evaluación de las estadísticas.
Arquitectura de escalabilidad automática para AWS