Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El escalado de los recursos para un día determinado de la semana o una fecha y hora específicas pueden reducir los costos, a la vez que proporcionan la capacidad que necesita cuando la necesite.
Puede usar varios perfiles en el escalado automático para escalar de diferentes maneras en momentos diferentes. Si, por ejemplo, su empresa no está activa el fin de semana, cree un perfil periódico para escalar sus recursos los sábados y domingos. Si Black Friday es un día muy concurrido, cree un perfil para escalar automáticamente sus recursos en Black Friday.
En este artículo se explican los distintos perfiles de escalado automático y cómo usarlos.
Puede tener uno o varios perfiles en la configuración de escalado automático.
Hay tres tipos de perfil:
- Perfil predeterminado. El perfil predeterminado se crea automáticamente y no depende de una programación. El perfil predeterminado no se puede eliminar. El perfil predeterminado se usa cuando no hay ningún otro perfil que coincida con la fecha y hora actuales.
- Perfiles recurrentes. Un perfil periódico es válido para un intervalo de tiempo específico y se repite durante los días seleccionados de la semana.
- Perfiles de fecha y hora fijos. Un perfil que es válido para un intervalo de tiempo en una fecha específica.
Cada vez que se ejecuta el servicio de escalado automático, los perfiles se evalúan en el orden siguiente:
- Perfiles de fecha fija
- Perfiles recurrentes
- Perfil predeterminado
Si la configuración de fecha y hora de un perfil coincide con la hora actual, la escalabilidad automática aplicará las reglas y los límites de capacidad de ese perfil. Solo se usa el primer perfil aplicable.
En el ejemplo siguiente se muestra una configuración de escalado automático con un perfil predeterminado y un perfil periódico.
En el ejemplo anterior, el lunes después de las 3:00 a. m., se dejará de usar el perfil periódico. Si el recuento de instancias es menor que 3, el escalado automático se escala al nuevo mínimo de tres. La escalabilidad automática sigue usando este perfil y la escala se modifica en función del porcentaje de CPU hasta el lunes a las 8:00 p. m. En el resto de veces, el escalado se realizará según el perfil predeterminado, en función del número de solicitudes. Después de las 8:00 p. m. del lunes, la escalabilidad automática cambia al perfil predeterminado. Si, por ejemplo, el número de instancias en ese momento es 12, escalará automáticamente a 10, que es el máximo permitido en el perfil predeterminado.
Varios perfiles contiguos
El escalado automático realiza transiciones entre perfiles en función de sus horas de inicio. La hora de finalización de un perfil concreto lo determina la hora de inicio del perfil siguiente.
En el portal, el campo hora de finalización se convierte en la siguiente hora de inicio del perfil predeterminado. No se puede especificar la misma hora para el final de un perfil y el inicio del siguiente. El portal obliga que la hora de finalización sea un minuto antes de la hora de inicio del siguiente perfil. Durante este minuto, el perfil predeterminado se activa. Si no quiere que el perfil predeterminado esté activo entre los perfiles periódicos, deje vacío el campo de hora de finalización.
Sugerencia
Para configurar varios perfiles contiguos mediante el portal, deje la hora de finalización vacía. El perfil actual dejará de usarse cuando el siguiente se active. Especifique solo una hora de finalización cuando quiera revertir al perfil predeterminado. Crear un perfil periódico sin hora de finalización solo es posible a través del portal y plantillas de ARM.
Varios perfiles mediante plantillas, la CLI y PowerShell
Al crear varios perfiles mediante plantillas, la CLI y PowerShell, siga las instrucciones siguientes.
Consulte la sección escalado automático de la definición de recursos de plantilla de ARM para obtener una referencia de plantilla completa.
En la plantilla no hay ninguna especificación para la hora de finalización. Un perfil permanecerá activo hasta la hora de inicio del perfil siguiente.
Perfil recurrente de plantilla de ARM
En el ejemplo siguiente se muestra cómo crear dos perfiles periódicos. Un perfil para los fines de semana a partir de las 00:01 del sábado por la mañana y un segundo perfil de día laborable a partir de los lunes a las 04:00. Esto significa que el perfil de fin de semana comenzará el sábado por la mañana, un minuto después de la medianoche, y finalizará el lunes por la mañana a las 04:00. El perfil de día laborable comenzará a las 4:00 del lunes y finalizará justo después de la medianoche del sábado por la mañana.
ARM (JSON)
Use el siguiente comando para implementar la plantilla: az deployment group create --name VMSS1-Autoscale-607 --resource-group rg-vmss1 --template-file VMSS1-autoscale.json donde VMSS1-autoscale.json es el archivo que contiene el siguiente objeto JSON.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Insights/autoscaleSettings",
"apiVersion": "2015-04-01",
"name": "VMSS1-Autoscale-607",
"location": "eastus",
"properties": {
"name": "VMSS1-Autoscale-607",
"enabled": true,
"targetResourceUri": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg-vmss1/providers/Microsoft.Compute/virtualMachineScaleSets/VMSS1",
"profiles": [
{
"name": "Weekday profile",
"capacity": {
"minimum": "3",
"maximum": "20",
"default": "3"
},
"rules": [
{
"scaleAction": {
"direction": "Increase",
"type": "ChangeCount",
"value": "1",
"cooldown": "PT5M"
},
"metricTrigger": {
"metricName": "Inbound Flows",
"metricNamespace": "microsoft.compute/virtualmachinescalesets",
"metricResourceUri": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg-vmss1/providers/Microsoft.Compute/virtualMachineScaleSets/VMSS1",
"operator": "GreaterThan",
"statistic": "Average",
"threshold": 100,
"timeAggregation": "Average",
"timeGrain": "PT1M",
"timeWindow": "PT10M",
"Dimensions": [],
"dividePerInstance": true
}
},
{
"scaleAction": {
"direction": "Decrease",
"type": "ChangeCount",
"value": "1",
"cooldown": "PT5M"
},
"metricTrigger": {
"metricName": "Inbound Flows",
"metricNamespace": "microsoft.compute/virtualmachinescalesets",
"metricResourceUri": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg-vmss1/providers/Microsoft.Compute/virtualMachineScaleSets/VMSS1",
"operator": "LessThan",
"statistic": "Average",
"threshold": 60,
"timeAggregation": "Average",
"timeGrain": "PT1M",
"timeWindow": "PT10M",
"Dimensions": [],
"dividePerInstance": true
}
}
],
"recurrence": {
"frequency": "Week",
"schedule": {
"timeZone": "E. Europe Standard Time",
"days": [
"Monday"
],
"hours": [
4
],
"minutes": [
0
]
}
}
},
{
"name": "Weekend profile",
"capacity": {
"minimum": "1",
"maximum": "3",
"default": "1"
},
"rules": [],
"recurrence": {
"frequency": "Week",
"schedule": {
"timeZone": "E. Europe Standard Time",
"days": [
"Saturday"
],
"hours": [
0
],
"minutes": [
1
]
}
}
}
],
"notifications": [],
"targetResourceLocation": "eastus"
}
}
]
}
Bíceps
Use el siguiente comando para implementar la plantilla: az deployment group create --name VMSS1-Autoscale-607 --resource-group rg-vmss1 --template-file VMSS1-autoscale.bicep donde VMSS1-autoscale.bicep es el archivo que contiene el siguiente objeto de Bicep.
resource VMSS1_Autoscale_607 'Microsoft.Insights/autoscaleSettings@2015-04-01' = {
name: 'VMSS1-Autoscale-607'
location: 'eastus'
properties: {
name: 'VMSS1-Autoscale-607'
enabled: true
targetResourceUri: '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg-vmss1/providers/Microsoft.Compute/virtualMachineScaleSets/VMSS1'
profiles: [
{
name: 'Weekday profile'
capacity: {
minimum: '3'
maximum: '20'
default: '3'
}
rules: [
{
scaleAction: {
direction: 'Increase'
type: 'ChangeCount'
value: '1'
cooldown: 'PT5M'
}
metricTrigger: {
metricName: 'Inbound Flows'
metricNamespace: 'microsoft.compute/virtualmachinescalesets'
metricResourceUri: '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg-vmss1/providers/Microsoft.Compute/virtualMachineScaleSets/VMSS1'
operator: 'GreaterThan'
statistic: 'Average'
threshold: 100
timeAggregation: 'Average'
timeGrain: 'PT1M'
timeWindow: 'PT10M'
dimensions: []
dividePerInstance: true
}
}
{
scaleAction: {
direction: 'Decrease'
type: 'ChangeCount'
value: '1'
cooldown: 'PT5M'
}
metricTrigger: {
metricName: 'Inbound Flows'
metricNamespace: 'microsoft.compute/virtualmachinescalesets'
metricResourceUri: '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg-vmss1/providers/Microsoft.Compute/virtualMachineScaleSets/VMSS1'
operator: 'LessThan'
statistic: 'Average'
threshold: 60
timeAggregation: 'Average'
timeGrain: 'PT1M'
timeWindow: 'PT10M'
dimensions: []
dividePerInstance: true
}
}
]
recurrence: {
frequency: 'Week'
schedule: {
timeZone: 'E. Europe Standard Time'
days: [
'Monday'
]
hours: [
4
]
minutes: [
0
]
}
}
}
{
name: 'Weekend profile'
capacity: {
minimum: '1'
maximum: '3'
default: '1'
}
rules: []
recurrence: {
frequency: 'Week'
schedule: {
timeZone: 'E. Europe Standard Time'
days: [
'Saturday'
]
hours: [
0
]
minutes: [
1
]
}
}
}
]
notifications: []
targetResourceLocation: 'eastus'
}
}
Pasos siguientes
- Referencia de la CLI de escalabilidad automática
- Definición de recursos de plantilla de ARM
- Módulo Az de PowerShell. Referencia de supervisión
- Referencia de la API REST. Configuración de escalado automático.
- Tutorial: Escalado automático de conjuntos de escalado de máquinas virtuales con una plantilla de Azure
- Tutorial: Escalar automáticamente un grupo de máquinas virtuales con la CLI de Azure
- Tutorial: Escalado automático de conjuntos de escalado de máquinas virtuales con una plantilla de Azure