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:
-
Escala de seguimiento de objetivos—Aumente y disminuya la capacidad actual del grupo basado en Amazon CloudWatch métrica 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.
Si realiza el escalado en función de una métrica que aumenta o disminuye en proporción al número de instancias de un grupo de escalado automático, le recomendamos que utilice políticas de escalado de seguimiento de destino. De lo contrario, le recomendamos que utilice políticas de escalado por pasos.
Con el seguimiento de objetivos, un 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.
De forma predeterminada, los nuevos grupos de escalado automático comienzan sin políticas de escalado. Cuando usa un grupo de escalado automático sin ningún tipo de escalado dinámico, este no se escala por sí solo a menos que configure el escalado programado o el escalado predictivo.
Contenido
- Funcionamiento de las políticas de escalado dinámico
- Varias políticas de escalado dinámico
- Políticas de escalado de seguimiento de destino para Amazon EC2 Auto Scaling
- Políticas de escalado sencillo y por pasos para Amazon EC2 Auto Scaling
- Establecimiento de valores predeterminados para la preparación de instancias o la recuperación de escalado
- Escalado basado en Amazon SQS
- Verificación de una actividad de escalado para un grupo de escalado automático
- Desactivación de una política de escalado para un grupo de escalado automático
- Eliminación de una política de escalado
- Políticas de escalado de ejemplo de la AWS Command Line Interface (AWS CLI)
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 un valor específico CloudWatch métrica y define qué acción se debe realizar cuando se asocie CloudWatch la alarma 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 una de estas dos maneras: utilizando las mismas unidades que eligió al definir la capacidad deseada en términos de instancias o utilizando unidades de capacidad (si se aplica la ponderación 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 es cuando se utiliza la ponderación de instancias. 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 escalonamiento escalonado que utiliza Amazon CloudWatch CPUUtilization
métrica para añadir capacidad cuando la instancia supera el 90 por ciento de utilización 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 queCPUUtilization
la métrica alcanza picos e infringe el umbral del CloudWatch alarma al mismo tiempo que la métrica personalizada de SQS alcanza picos y supera el umbral de la alarma 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.