Escalabilidad automática de una aplicación web mediante métricas personalizadas
En este artículo se describe cómo configurar la escalabilidad automática de una aplicación web mediante una métrica personalizada en Azure Portal.
La escalabilidad automática permite agregar y quitar recursos para controlar los aumentos y las disminuciones de carga. En este artículo, le mostraremos cómo configurar la escalabilidad automática de una aplicación web mediante una de las métricas de Application Insights para escalar y reducir horizontalmente la aplicación web.
Nota
El escalado automático en métricas personalizadas de Application Insights solo se admite para las métricas publicadas en espacios de nombres Standard y Azure.ApplicationInsights. Si se usan otros espacios de nombres para métricas personalizadas en Application Insights, devolverá el error Unsupported Metric (Métrica no compatible).
La escalabilidad automática de Azure Monitor se aplica a:
- Azure Virtual Machine Scale Sets
- Azure Cloud Services
- Azure App Service - Web Apps
- Clúster de Azure Data Explorer
- Azure API Management
Requisito previo
Debe disponer de una cuenta de Azure con una suscripción activa. También puede crear una cuenta de forma gratuita.
Información general
Para crear una aplicación web con escalabilidad automática:
- Si no tiene ninguno, cree un plan de App Service. No se puede configurar la escalabilidad automática para los niveles gratuitos o básicos.
- Si aún no tiene ninguna, cree una aplicación web mediante el plan de servicio.
- Configure la escalabilidad automática para el plan de servicio.
Creación de un plan de App Service
Un plan de App Service define un conjunto de recursos de proceso para la ejecución de una aplicación web.
Abra Azure Portal.
Busque y seleccione Planes de App Service.
En la página Plan de App Services, seleccione Crear.
Seleccione un Grupo de recursos o cree uno.
Escriba un Nombre para el plan.
Seleccione un Sistema operativo y una Región.
Seleccione una SKU y un tamaño.
Nota
No se puede usar la escalabilidad automática con niveles gratuitos o básicos.
Seleccione Revisar y crear>Crear.
Creación de una aplicación web
Busque y seleccione App Services.
En la página App Services, seleccione Crear.
En la pestaña Aspectos básicos, escriba un Nombre y seleccione una Pila en tiempo de ejecución.
Seleccione el Sistema operativo y la Región que eligió al definir el plan de App Service.
Seleccione el Plan de App Service que creó anteriormente.
Seleccione la pestaña Supervisión.
En la pestaña Supervisión, seleccione Sí para habilitar Application Insights.
Seleccione Revisar y crear>Crear.
Configuración de escalado automático
Configure las opciones de escalabilidad automática para el plan de App Service.
Busque y seleccione Escalabilidad automática en la barra de búsqueda o seleccione Escalabilidad automática en Monitor en la barra de menús de la izquierda.
Seleccione su plan de App Service. Solo puede configurar planes de producción.
Configuración de una regla de escalabilidad horizontal
Configure una regla de escalabilidad horizontal para que Azure ponga en marcha otra instancia de la aplicación web cuando la aplicación web controle más de 70 sesiones por instancia.
Seleccione Escalabilidad automática personalizada.
En la sección Reglas de la condición de escalabilidad predeterminada, seleccione Agregar una regla.
En la lista desplegable Origen de métrica, seleccione Otro recurso.
En Tipo de recurso, seleccione Application Insights.
En la lista desplegable Recurso, seleccione la aplicación web.
Seleccione un Nombre de métrica en el que basar el escalado. Por ejemplo, use Sesiones.
Seleccione la casilla Habilitar división de métrica por recuento de instancias para que se mida el número de sesiones por instancia.
En la lista desplegable Operador, seleccione Mayor que.
Escriba el Umbral de métrica para desencadenar la acción de escalado. Por ejemplo, use 70.
En Acción, establezca Operación en Aumentar recuento en. Establezca Recuento de instancias en 1.
Seleccione Agregar.
Configuración de una regla de reducción horizontal
Configure una regla de reducción horizontal para que Azure reduzca una de las instancias cuando el número de sesiones que controla la aplicación web sea inferior a 60 por instancia. Azure reduce el número de instancias cada vez que se ejecuta esta regla hasta que se alcanza el número mínimo de instancias.
En la sección Reglas de la condición de escalabilidad predeterminada, seleccione Agregar una regla.
En la lista desplegable Origen de métrica, seleccione Otro recurso.
En Tipo de recurso, seleccione Application Insights.
En la lista desplegable Recurso, seleccione la aplicación web.
Seleccione un Nombre de métrica en el que basar el escalado. Por ejemplo, use Sesiones.
Seleccione la casilla Habilitar división de métrica por recuento de instancias para que se mida el número de sesiones por instancia.
En la lista desplegable Operador, seleccione Menor que.
Escriba el Umbral de métrica para desencadenar la acción de escalado. Por ejemplo, use 60.
En Acción, establezca Operación en Reducir recuento en y establezca Recuento de instancias en 1.
Seleccione Agregar.
Limitación del número de instancias
Establezca el número máximo de instancias que se pueden poner en marcha en el campo Máximo de la sección Límites de instancia. Por ejemplo, use 4.
Seleccione Guardar.
Limpieza de recursos
Si no va a seguir usando esta aplicación, elimine los recursos.
En la página de información general de App Service, seleccione Eliminar.
En la página Configuración de escalabilidad automática, en la pestaña JSON, seleccione el icono de papelera junto al nombre de la configuración de escalabilidad automática. Tenga en cuenta que la configuración de escalabilidad automática no se elimina junto con el plan de App Service a menos que elimine el grupo de recursos. Si no elimina la configuración de escalabilidad automática y vuelve a crear un plan de App Service con el mismo nombre, este heredará la configuración de escalabilidad automática original.
En la página Planes de App Service, seleccione Eliminar.
Pasos siguientes
Para más información sobre el escalado automático, consulte los siguientes artículos:
- Uso de acciones de escalado automático para enviar notificaciones de alerta por correo electrónico y Webhook en Azure Insights
- Introducción a la escalabilidad automática
- Métricas comunes de escalado automático de Azure Monitor
- Procedimientos recomendados de escalado automático en Azure Monitor
- API de REST de escalado automático