Exploración de los procedimientos recomendados de escalado automático

Completado

Si no sigue los procedimientos recomendados al crear la configuración de escalado automático, puede crear condiciones que produzcan resultados no deseados. En esta unidad aprenderá a evitar la creación de reglas que entren en conflicto entre sí.

Conceptos de escalado automático

  • Una configuración de escalado automático escala instancias horizontalmente aumentando las instancias y las reduce horizontalmente disminuyendo el número de instancias. Una configuración de escalado automático presenta unos valores máximo, mínimo y predeterminado de instancias.

  • Un trabajo de escalado automático siempre lee la métrica asociada por la que realizar la escala y comprueba si se rebasó el umbral establecido para el escalado horizontal o la reducción horizontal.

  • Todos los umbrales se calculan en el nivel de instancia. Por ejemplo, "escalar horizontalmente en una instancia cuando el uso medio de la CPU sea superior al 80 % cuando el número de instancias sea 2" significa escalar horizontalmente cuando el uso medio de la CPU en todas las instancias sea superior al 80 %.

  • Todos los errores y éxitos de escalado automático se registran en el registro de actividad. Después puede configurar una alerta de registro de actividad de forma que pueda recibir una notificación por correo electrónico, SMS o webhook siempre que haya actividad.

Procedimientos recomendados de escalado automático

Use los procedimientos recomendados al usar las reglas de escalado automático.

Asegúrese de que los valores máximo y mínimo son diferentes y de que hay margen suficiente entre ellos

Si tiene una configuración en la que el valor mínimo es dos, el valor máximo es dos y el recuento de instancias es dos, no se puede ejecutar ninguna acción de escalado. Mantenga un margen suficiente entre los números de instancias máximo y mínimo, que son inclusivos. El escalado automático siempre escala entre estos límites.

Elija la estadística adecuada para la métrica de diagnósticos

Para las métricas de diagnóstico, puede elegir entre Promedio, Mínimo, Máximo y Total como métrica a partir de la que escalar. La estadística más común es Promedio.

Elija los umbrales cuidadosamente para todos los tipos de métrica

Es recomendable tener cuidado a la hora de elegir los diferentes umbrales de escalado y reducción horizontal en función de las situaciones prácticas.

No se recomienda una configuración de escalabilidad automática como las de los siguientes ejemplos con los mismos valores de umbral, o similares, en condiciones de escalado o reducción horizontal:

  • Aumentar las instancias en uno cuando el número de subprocesos >= 600
  • Disminuir las instancias en uno cuando el número de subprocesos <= 600

Veamos un ejemplo de lo que puede llevar a producir un comportamiento confuso. Considere la siguiente secuencia.

  1. Imaginemos que hay dos instancias inicialmente y después aumenta el número promedio de subprocesos por instancia a 625.
  2. La escalabilidad automática escala horizontalmente para agregar una tercera instancia.
  3. Imaginemos ahora que el número promedio de subprocesos en la instancia se reduce a 575.
  4. Antes de reducir horizontalmente, el escalado automático intenta calcular cuál será el estado final si se escala horizontalmente. Por ejemplo, 575 x 3 (recuento de instancias actual) = 1725/2 (número final de instancias cuando se reducen horizontalmente) = 862,5 subprocesos. Esto significa que el escalado automático tiene que volver a escalar horizontalmente de inmediato (incluso después de haber reducido horizontalmente) si el número promedio de subprocesos sigue siendo el mismo o incluso si se reduce solo una pequeña cantidad. Sin embargo, si se escalaba horizontalmente de nuevo, todo el proceso se repetiría, lo que daría lugar a un bucle infinito.
  5. Para evitar esta situación (lo que se denomina "oscilación"), el escalado automático no se reduce horizontalmente en absoluto. En su lugar, pasa esto por alto y vuelve a evaluar la situación la siguiente vez que el trabajo del servicio se ejecuta. Esto puede ser confuso para muchos usuarios, ya que puede dar la impresión de que la escalabilidad automática no funciona cuando el número promedio de subprocesos es 575.

La estimación durante una reducción horizontal está diseñada para evitar situaciones "oscilantes", donde las acciones de reducción y escalabilidad horizontales avanzan y retroceden continuamente. Recuerde este comportamiento cuando elija los mismos umbrales de escalado horizontal y reducción horizontal.

Nuestra recomendación es establecer un margen suficiente entre el escalado horizontal y en los umbrales. Por ejemplo, echemos un vistazo a esta siguiente combinación de reglas, que es mejor.

  • Aumentar las instancias en 1 cuando el porcentaje de CPU >= 80
  • Disminuir las instancias en 1 cuando el porcentaje de CPU <= 60

En este caso

  1. Imaginemos que hay 2 instancias para empezar.
  2. Si el promedio de porcentaje de CPU entre instancias llega a 80, el escalado automático escala horizontalmente agregando una tercera instancia.
  3. Imaginemos ahora que, con el tiempo, el porcentaje de CPU cae a 60.
  4. La regla de reducción horizontal del escalado automático calcula el estado final como si fuese a reducirse horizontalmente. Por ejemplo, 60 x 3 (recuento de instancias actual) = 180/2 (número final de instancias cuando se reducen horizontalmente) = 90. Por tanto, el escalado automático no reduce horizontalmente porque tendría que volver a escalar horizontalmente de inmediato. En su lugar, omite la reducción horizontal.
  5. La próxima vez que comprueba el escalado automático, la CPU ha seguido cayendo a 50. Vuelve a calcular: 50 x 3 instancias = 150/2 instancias = 75, lo que está por debajo del umbral de escalado horizontal de 80. Por tanto, reduce horizontalmente a 2 instancias.

Consideraciones de escalado cuando hay varias reglas configuradas en un perfil

Hay casos en los que puede que sea necesario establecer varias reglas en un perfil. Cuando se establecen varias reglas, los servicios usan el siguiente conjunto de reglas de escalado automático.

Al escalar horizontalmente, el escalado automático se ejecuta si se cumple cualquier regla. Al reducir horizontalmente, el escalado automático necesita que todas las reglas se cumplan.

Para ilustrar esto, imaginemos que tiene las siguientes cuatro reglas de escalabilidad automática:

  • Con una CPU < 30 %, se reduce horizontalmente en 1
  • Con una memoria < 50 %, se reduce horizontalmente en 1
  • Si CPU > 75 %, escalar horizontalmente en 1
  • Si memoria > 75 %, escalar horizontalmente en 1

Después, ocurrirá lo siguiente:

  • Con una CPU del 76 % y una memoria del 50 %, se escala horizontalmente.
  • Con una CPU del 50 % y una memoria del 76 %, se escala horizontalmente.

Por otro lado, con una CPU del 25 % y una memoria del 51 %, el escalado automático no reduce horizontalmente. Se produciría una reducción horizontal automática con una CPU del 29 % y una memoria del 49 %, ya que ambas reglas de reducción horizontal serían verdaderas.

Seleccione siempre un número predeterminado de instancias seguro

El número predeterminado de instancias es importante, porque el escalado automático escala el servicio a dicho número cuando no hay métricas disponibles. Por tanto, seleccione un número predeterminado de instancias que sea seguro para sus cargas de trabajo.

Configure notificaciones de escalado automático

La escalabilidad automática se publica en el registro de actividad si se cumple alguna de las condiciones siguientes:

  • Problemas de escalado automático en una operación de escala
  • El servicio de escalado automático completa correctamente una acción de escalado
  • El servicio de escalado automático no puede realizar una acción de escalado.
  • No hay métricas disponibles para que el servicio de escalado automático tome una decisión de escalado.
  • Vuelve a haber métricas disponibles (recuperación) para poder tomar una decisión de escalado.

También puede usar una alerta de registro de actividades para supervisar el mantenimiento del motor de escalado automático. Además de utilizar alertas de registro de actividad, puede configurar notificaciones de correo electrónico o webhook para recibir una notificación cada vez que se lleve a cabo una acción de escalado correcta a través de la pestaña de notificaciones de la configuración de escalado automático.