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íticas 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 que utilice políticas de escalado de seguimiento de objetivo y que elija una métrica que cambie de forma inversamente proporcional al cambio en la capacidad de su grupo de escalado automático. Por lo tanto, si duplica el tamaño de su grupo de escalado automático, la métrica disminuirá 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 la CPU utilización media o el recuento medio de solicitudes por objetivo.

Con el seguimiento de objetivos, el grupo de escalado automático escala en proporción directa a la carga real de la 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 CloudWatch métrica específica y define qué acción se debe realizar cuando se produce la CloudWatch alarma asociada. 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 Auto Scaling con dos instancias en las que una instancia está al 60 por ciento CPU y la otra al 40 por cientoCPU. En promedio, están al 50 por ciento)CPU. Cuando la política está en vigor, Amazon EC2 Auto Scaling ajusta la capacidad deseada del grupo hacia arriba o hacia abajo cuando se supera el umbral de una alarma.

Cuando se invoca una política de escalado dinámico, si el cálculo de la capacidad produce un número fuera del rango de tamaño mínimo y máximo del grupo, Amazon EC2 Auto Scaling garantiza que la nueva capacidad nunca supere los límites de tamaño mínimo y máximo. La capacidad se mide de una de estas dos maneras: utilizando las mismas unidades que eligió al momento de definir la capacidad deseada en términos de instancias o utilizando unidades de capacidad (si se aplican pesos 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 añade solo 1 instancia al grupo para evitar que el grupo 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 elimina solo una instancia del grupo para evitar que el grupo tenga un tamaño inferior a 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 disminuye y la capacidad disminuye, Amazon EC2 Auto Scaling puede volver a ampliarse.

La excepción es cuando se utilizan pesos de instancias. En este caso, Amazon EC2 Auto Scaling puede ampliarse por encima del límite de tamaño máximo, pero solo hasta el peso máximo de la 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 instancia con un peso 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 funcionan juntas varias políticas de escalado dinámico, considere una aplicación que utilice un grupo de Auto Scaling y una SQS cola de Amazon para enviar solicitudes a una sola EC2 instancia. 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 de ellas es una política de seguimiento segmentada que utiliza una métrica personalizada para añadir y eliminar capacidad en función del número de SQS mensajes de 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 se dispare y supere el umbral de la CloudWatch alarma al mismo tiempo que la métrica SQS personalizada 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 horizontal como para el escalado interno. Supongamos, por ejemplo, que la política para CPUUtilization lanzar una instancia, mientras que la política para la SQS cola lanza dos instancias. Si los criterios de escalado horizontal de ambas políticas se cumplen al mismo tiempo, Amazon EC2 Auto Scaling da prioridad a la SQS política de colas. 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 reduce el número de instancias en un 25 por ciento y el grupo tiene ocho instancias en el momento de la escalabilidad, Amazon EC2 Auto Scaling da prioridad a 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 objetivo 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 objetivo podría indicar al grupo que vuelva a escalar horizontalmente.