Escalado dinámico para Amazon EC2 Auto Scaling - Amazon EC2 Auto Scaling

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Escalado dinámico para Amazon EC2 Auto Scaling

El escalado dinámico escala la capacidad del grupo de escalado automático a medida que se producen cambios de tráfico

Amazon EC2 Auto Scaling admite los siguientes tipos de política de escalado dinámico:

  • Escalado de seguimiento de objetivos: aumenta y reduce la capacidad actual del grupo en función de una CloudWatch métrica de Amazon y un valor objetivo. Funciona de forma similar a los termostatos, que mantienen la temperatura del hogar: seleccionamos una temperatura y el termostato hace el resto.

  • Step scaling (Escalado por pasos): permite aumentar o reducir la capacidad actual del grupo en función de una serie de ajustes de escalado, denominados ajustes por pasos, que variarán en función del tamaño de la interrupción de alarma.

  • Simple scaling (Escalado sencillo): permite aumentar o reducir la capacidad actual del grupo en función de un único ajuste de escalado con un periodo de recuperación entre cada actividad.

Le recomendamos encarecidamente que utilice políticas de escalado de seguimiento de objetivos y que elija una métrica que cambie de forma inversamente proporcional a un cambio en la capacidad de su grupo de Auto Scaling. Por lo tanto, si duplica el tamaño de su grupo de Auto Scaling, la métrica disminuye en un 50 por ciento. Esto permite que los datos de las métricas activen con precisión los eventos de escalado proporcional. Se incluyen métricas como el uso promedio de la CPU o el recuento promedio de solicitudes por objetivo.

Con el seguimiento de objetivos, su grupo de Auto Scaling escala en proporción directa a la carga real de su aplicación. Esto significa que, además de satisfacer la necesidad inmediata de capacidad en respuesta a los cambios de carga, una política de seguimiento de objetivos también puede adaptarse a los cambios de carga que se producen con el tiempo, por ejemplo, debido a las variaciones estacionales.

Las políticas de seguimiento de Target también eliminan la necesidad de definir manualmente CloudWatch las alarmas y los ajustes de escalado. Amazon EC2 Auto Scaling lo gestiona automáticamente en función del objetivo que haya establecido.

Funcionamiento de las políticas de escalado dinámico

Una política de escalado dinámico indica a Amazon EC2 Auto Scaling que realice un seguimiento de una métrica CloudWatch específica y define qué acción se debe realizar cuando la alarma CloudWatch asociada está en ALARM. Las métricas que se utilizan para invocar el estado de alarma son una agregación de métricas procedentes de todas las instancias del grupo de escalado automático. (Por ejemplo, supongamos que tiene un grupo de escalado automático con dos instancias, donde una instancia tiene un 60 % de CPU y la otra tiene un 40 % de CPU. Tienen el 50 por ciento de promedio de CPU). Cuando la política está en vigor, Amazon EC2 Auto Scaling ajusta la capacidad deseada del grupo hacia arriba o hacia abajo cuando el umbral de una alarma se interrumpe.

Cuando se invoca una política de escalado, si el cálculo de capacidad produce un número fuera del rango entre el tamaño mínimo y máximo del grupo, Amazon EC2 Auto Scaling garantiza que la nueva capacidad nunca se salga de los límites de tamaño mínimo y máximo. La capacidad se mide de dos maneras: utilizando las mismas unidades que eligió al establecer la capacidad deseada en términos de instancias o utilizando unidades de capacidad (si se aplican ponderaciones de instancia).

  • Ejemplo 1: un grupo de escalado automático tiene una capacidad máxima de 3, una capacidad actual de 2 y una política de escalado dinámico que agrega 3 instancias. Al invocar esta política, Amazon EC2 Auto Scaling solo agrega 1 instancia al grupo para evitar que este supere su tamaño máximo.

  • Ejemplo 2: un grupo de escalado automático tiene una capacidad mínima de 2, una capacidad actual de 3 y una política de escalado dinámico que elimina 2 instancias. Al invocar esta política, Amazon EC2 Auto Scaling solo quita 1 instancia del grupo para evitar que este sea menor que su tamaño mínimo.

Cuando la capacidad deseada alcanza el límite de tamaño máximo, el escalado ascendente se detiene. Si la demanda cae y la capacidad disminuye, Amazon EC2 Auto Scaling puede volver a escalar horizontalmente.

La excepción se produce cuando se utilizan pesos de instancia. En este caso, Amazon EC2 Auto Scaling puede escalar horizontalmente por encima del límite de tamaño máximo, pero solo por hasta la ponderación máxima de instancia. Su intención es acercarse lo más posible a la nueva capacidad deseada, pero aun así respetar las estrategias de asignación que se han especificado para el grupo. Las estrategias de asignación determinan los tipos de instancia que se van a lanzar. Los pesos determinan cuántas unidades de capacidad aporta cada instancia a la capacidad deseada del grupo en función de su tipo de instancia.

  • Ejemplo 3: un grupo de escalado automático tiene una capacidad máxima de 12, una capacidad actual de 10 y una política de escalado dinámico que agrega 5 unidades de capacidad. Los tipos de instancia tienen una de las tres ponderaciones asignadas: 1, 4 o 6. Al invocar la política, Amazon EC2 Auto Scaling elige lanzar un tipo de instancias con una ponderación de 6 en función de la estrategia de asignación. El resultado de este evento de escalado ascendente es un grupo con una capacidad deseada de 12 y una capacidad actual de 16.

Varias políticas de escalado dinámico

En la mayoría de los casos, una política de escalado de seguimiento de destino es suficiente para configurar el grupo de escalado automático para que se escale y reduzca horizontalmente de forma automática. Una política de escalado de seguimiento de destino le permite seleccionar un resultado deseado y hacer que el grupo de escalado automático agregue y quite instancias según sea necesario para lograr ese resultado.

Para una configuración de escalado avanzada, el grupo de escalado automático puede tener más de una política de escalado. Por ejemplo, puede definir una o más políticas de escalado de seguimiento de destino, una o más políticas de escalado por pasos o ambos tipos. Esto proporciona una mayor flexibilidad para abordar diferentes situaciones.

Para ilustrar cómo se combinan varias políticas de escalado dinámico, considere una aplicación que utiliza un grupo de escalado automático y una cola de Amazon SQS para enviar solicitudes a una sola instancia EC2. Para garantizar que la aplicación funciona en niveles óptimos, existen dos políticas que controlan cuándo debe escalarse horizontalmente el grupo de escalado automático. Una es una política de seguimiento de destino que utiliza una métrica personalizada para añadir y eliminar capacidad en función del número de mensajes SQS en la cola. La otra es una política de escalado escalonado que utiliza la CloudWatch CPUUtilization métrica de Amazon para añadir capacidad cuando la instancia supera el 90 por ciento de uso durante un período de tiempo específico.

Cuando hay varias políticas en vigor a la vez, existe la posibilidad de que cada una de ellas pueda indicar al grupo de escalado automático que escale (o reduzca) horizontalmente al mismo tiempo. Por ejemplo, es posible que la CPUUtilization métrica alcance su punto máximo y supere el umbral de la CloudWatch alarma al mismo tiempo que la métrica personalizada de SQS se dispare y supere el umbral de la alarma de métrica personalizada.

Cuando se producen estas situaciones, Amazon EC2 Auto Scaling elige la política que proporciona la mayor capacidad tanto para el escalado como para la reducción horizontal. Por ejemplo, suponga que la política CPUUtilization lanza una instancia, mientras que la política de la cola de SQS lanza dos instancias. Si se cumple el criterio de escalado horizontal de ambas políticas al mismo tiempo, Amazon EC2 Auto Scaling da prioridad a la política de la cola de SQS. Por consiguiente, el grupo de escalado automático lanzará dos instancias.

El enfoque de dar prioridad a la política que proporciona la mayor capacidad se aplica incluso cuando las políticas utilizan criterios diferentes para la reducción horizontal. Por ejemplo, si una política termina tres instancias, otra política disminuye el número de instancias en un 25 % y el grupo tiene ocho instancias en el momento de reducir horizontalmente, Amazon EC2 Auto Scaling prioriza la política que proporciona el mayor número de instancias para el grupo. Esto da lugar a que el grupo de escalado automático termine dos instancias (25 por ciento de 8 = 2). La intención es evitar que Amazon EC2 Auto Scaling elimine demasiadas instancias.

Sin embargo, recomendamos precaución al utilizar políticas de escalado de seguimiento de destino con políticas de escalado por pasos, ya que los conflictos entre estas políticas pueden provocar un comportamiento no deseado. Por ejemplo, si la política de escalado por pasos inicia una actividad de reducción horizontal antes de que la política de seguimiento de destino esté lista para la reducción horizontal, la actividad de reducción horizontal no se bloqueará. Una vez completada la actividad de reducción horizontal, la política de seguimiento de destino podría indicar al grupo que vuelva a escalar horizontalmente.