Procedimientos recomendados de escalado automático
La escalabilidad automática de Azure Monitor se aplica únicamente a Azure Virtual Machine Scale Sets, Azure Cloud Services, la característica Web Apps de Azure App Service y Azure API Management.
Conceptos de escalado automático
- Un recurso solo puede tener una configuración de escalabilidad automática.
- Una configuración de escalabilidad automática puede tener uno o varios perfiles y cada perfil, a su vez, puede tener una o varias reglas de escalabilidad automática.
- 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. En Métricas comunes de escalado automático de Azure Monitor encontrará una lista de métricas por las que el escalado automático puede escalar.
- Todos los umbrales se calculan en el nivel de instancia. Por ejemplo, "escalar horizontalmente por una instancia cuando el uso medio de la CPU > 80 % cuando el número de instancias es 2" significa escalar horizontalmente cuando el uso medio de la CPU en todas las instancias sea superior al 80 %.
- Todos los errores de escalabilidad automática se registran en el registro de actividad. Después, puede configurar una alerta del registro de actividad para recibir una notificación por correo electrónico, SMS o webhook cuando haya un error de escalabilidad automática.
- De forma similar, todas las acciones de escalado correctas se publican en el registro de actividad. Después puede configurar una alerta del registro de actividad para recibir una notificación por correo electrónico, SMS o webhook cuando haya una acción de escalabilidad automática correcta. 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.
Procedimientos recomendados de escalado automático
Use los procedimientos recomendados al usar el 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 2, el valor máximo es 2 y el número de instancias es 2, 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.
El escalado manual se restablece al valor mínimo y máximo de escalabilidad automática
Si actualiza manualmente el recuento de instancias a un valor superior o inferior al máximo, el motor de escalado automático se ajusta automáticamente al valor mínimo (si está por debajo) o al máximo (si está por encima). Por ejemplo, establezca el intervalo entre 3 y 6. Si tiene una instancia en ejecución, el motor de escalabilidad automática escala a tres instancias cuando vuelve a ejecutarse. Del mismo modo, si establece manualmente la escalabilidad en ocho instancias, en la siguiente ejecución de escalabilidad automática se escalará de vuelta a seis instancias. El escalado manual es temporal, a menos que restablezca también las reglas de escalabilidad automática.
Use siempre una combinación de reglas de escalado horizontal y reducción horizontal que realice un aumento y una disminución.
Si usa un único elemento de la combinación, la escalabilidad automática solo ocurre en una dirección (escalado o reducción horizontal) hasta que alcance el conteo máximo o mínimo de instancias, según lo definido en el perfil. Esta no es la mejor opción. Lo ideal es que su recurso se escale horizontalmente en los momentos de mayor uso para garantizar la disponibilidad. De forma similar, en los momentos de poco uso querrá que el recurso se reduzca horizontalmente para ahorrar costos.
Cuando se usa una regla de reducción o escalabilidad horizontal, lo ideal es usar la misma métrica para controlar ambas. De lo contrario, es posible que se cumplan las condiciones de reducción y escalabilidad horizontal al mismo tiempo, lo que daría lugar a cierto nivel de oscilación. Por ejemplo, no se recomienda la siguiente combinación de reglas, ya que no hay ninguna regla de reducción horizontal para el uso de la memoria:
- Si CPU > 90 %, se escala horizontalmente en 1
- Si la memoria > 90 %, se escala horizontalmente en 1
- Si CPU < 45 %, se reduce horizontalmente en 1
En este ejemplo, puede tener una situación en la que el uso de memoria sea superior al 90 %, pero el uso de CPU está por debajo del 45 %. Este escenario puede dar lugar a la oscilación siempre y cuando se cumplan ambas condiciones.
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.
Consideraciones para establecer valores de umbral de escalado en métricas especiales
En el caso de las métricas especiales, como la métrica longitud de cola de Azure Storage o Azure Service Bus, el umbral es el promedio de mensajes disponibles por número actual de instancias. Elija cuidadosamente el valor de umbral para esta métrica.
Veamos esto con un ejemplo para procurar que entienda el comportamiento de mejor forma:
- Aumentar las instancias en 1 cuando el número de mensajes de la cola de almacenamiento >= 50
- Disminuir las instancias en 1 cuando el número de mensajes de la cola de almacenamiento <= 10
Considere la siguiente secuencia:
- Hay dos instancias de la cola de almacenamiento.
- Siguen llegando mensajes y, al revisar la cola de almacenamiento, el recuento total es de 50. Se supone que el escalado automático tendría que iniciar una acción de escalado horizontal. Sin embargo, vemos que sigue siendo de 50/2 = 25 mensajes por instancia. Por lo tanto, no se produce el escalado horizontal. Para que la primera acción de escalabilidad horizontal se produzca, el número total de mensajes en la cola de almacenamiento debe ser de 100.
- Tras esto, imaginemos que el número total de mensajes llega a 100.
- Se agrega una tercera instancia de la cola de almacenamiento debido a una acción de escalabilidad horizontal. La siguiente acción de escalado horizontal no tendrá lugar hasta que el número total de mensajes en la cola llegue a 150, ya que 150/3 = 50.
- Ahora, disminuye el número de mensajes en la cola. Con tres instancias, la primera acción de reducción horizontal ocurre cuando el número total de mensajes en la cola llega a 30, porque 30/3 equivale a 10 mensajes por instancia, que es el umbral de reducción horizontal.
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. El motor de escalabilidad automática usa el siguiente conjunto de reglas de escalabilidad automática cuando se establecen varias reglas:
- Al escalar horizontalmente, el escalado automático se ejecuta si se cumple cualquier regla.
- Al reducir horizontalmente, la escalabilidad automática necesita que se cumplan todas las reglas.
Para ilustrar esto, imaginemos que tiene cuatro reglas de escalabilidad automática:
- Si CPU < 30 %, se reduce horizontalmente en 1
- Si la memoria < 50 %, se reduce horizontalmente en 1
- Si CPU > 75 %, escalar horizontalmente en 1
- Si memoria > 75 %, escalar horizontalmente en 1
Se produce la siguiente acción:
- 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 %, la escalabilidad automática no reduce horizontalmente. Para ello, la CPU debe ser del 29 % y, la memoria, del 49 %.
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. Como consecuencia, seleccione un número predeterminado de instancias que sea seguro para las 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:
- El escalado automático genera 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.
- La escalabilidad automática detecta la oscilación y anula el intento de escalado. En esta situación, notará un tipo de registro
Flapping
. Si ve este tipo de registro, pregúntese si los umbrales son demasiado estrechos. - La escalabilidad automática detecta oscilaciones, pero sigue teniendo la capacidad de escalar correctamente. En esta situación, notará un tipo de registro
FlappingOccurred
. Si ve este tipo de registro, el motor de escalabilidad automática ha intentado modificar la escala (por ejemplo, de cuatro instancias a dos), pero ha determinado que esto provocaría una oscilación. En su lugar, el motor de escalabilidad automática ha escalado a otro número de instancias (por ejemplo, tres instancias en lugar de dos) que ya no produce oscilación, por lo que ha escalado a este número de instancias.
También puede usar una alerta del registro de actividad para supervisar el mantenimiento del motor de escalabilidad automática. Un ejemplo muestra cómo crear una alerta del registro de actividad para supervisar todas las operaciones del motor de escalabilidad automática en su suscripción. En otro ejemplo se muestra cómo crear una alerta del registro de actividad para supervisar todas las operaciones con errores de escalado y reducción horizontal automáticos en su suscripción.
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 a través de la pestaña de notificaciones de la configuración de escalado automático.
Envío de datos de forma segura mediante TLS 1.2
Para garantizar la seguridad de los datos en tránsito hacia Azure Monitor, se recomienda encarecidamente configurar el agente para que use al menos Seguridad de la capa de transporte (TLS) 1.2. Las versiones anteriores de la TLS o la Capa de sockets seguros (SSL) eran vulnerables y no se recomienda usarlas. Aunque todavía funcionan para permitir la compatibilidad con versiones anteriores, no se recomiendan. El sector se mueve rápidamente para abandonar la compatibilidad con estos protocolos más antiguos.
PCI Security Standards Council ha establecido una fecha límite del 30 de junio de 2018 para deshabilitar las versiones anteriores de TLS/SSL y actualizar a protocolos más seguros. Después de que Azure quite la compatibilidad heredada, si los agentes no pueden comunicarse a través de TLS 1.2 como mínimo, podría no ser capaz de enviar datos a los registros de Azure Monitor.
Se recomienda no establecer explícitamente el agente para que solo use TLS 1.2, a menos que sea necesario. Es preferible permitir que el agente detecte, negocie y aproveche automáticamente los futuros estándares de seguridad. De lo contrario, podría perderse la seguridad adicional de los estándares más recientes y posiblemente experimentar problemas si TLS 1.2 alguna vez deja de usarse y da paso a esos estándares más recientes.
Pasos siguientes
- Oscilación de escalabilidad automática
- Creación de una alerta de registro de actividades para supervisar todas las operaciones del motor de escalado automático en su suscripción
- Cree una alerta de registro de actividades para supervisar todas las operaciones con errores de escalado automático y reducción horizontal en su suscripción.