Configurar la colocación automática en zonas para un conjunto de escalado (versión preliminar)

La asignación automática de zonas para Virtual Machine Scale Sets permite a Azure seleccionar zonas de disponibilidad para su conjunto de escalado en función de la capacidad y de la disponibilidad de la SKU. En lugar de especificar una lista fija de zonas para cada región, configure los requisitos de selección de ubicación y Azure seleccione las zonas que mejor se adapten a ellas.

La asignación automática de zona es compatible con Virtual Machine Scale Sets con los modos de orquestación uniforme y flexible.

Importante

La asignación automática de zona para los conjuntos de escalado de máquinas virtuales se encuentra actualmente en versión preliminar. Las versiones preliminares están a su disposición con la condición de que acepte los términos de uso adicionales. Algunos aspectos de esta característica pueden cambiar antes de la disponibilidad general (GA).

Cómo funciona la colocación automática de zonas

La colocación automática en zonas evalúa la disponibilidad de SKU, la capacidad y cualquier restricción de colocación que configure para seleccionar zonas de disponibilidad y colocar instancias de máquinas virtuales.

De forma predeterminada, el conjunto de escalado procura distribuir las instancias entre tres zonas de disponibilidad. Si se configura maxZoneCount, el conjunto de escalado pasa a intentar repartir las instancias entre ese número de zonas y nunca supera el límite configurado. La ubicación real depende de la disponibilidad de la SKU, la capacidad, la distribución actual entre zonas del conjunto de escalado y otras restricciones de ubicación. Cuando maxZoneCount no está configurado y la región tiene más de tres zonas de disponibilidad, el conjunto de escalado puede expandirse más allá de su distribución predeterminada entre tres zonas, por ejemplo, a una cuarta zona, si las zonas actuales no pueden atender una solicitud de escalado horizontal.

De forma predeterminada, colocación automática de zona:

  • Tiene como destino una distribución uniforme entre tres zonas de disponibilidad.
  • Requiere que las instancias se distribuyan entre al menos dos zonas de disponibilidad.
  • Limita el número de instancias en una sola zona al 50 % del conjunto de escalado.
  • Puede expandirse a zonas de disponibilidad adicionales si las zonas actuales no tienen capacidad suficiente para más instancias y otra zona está disponible en la región.

Si no hay capacidad disponible para satisfacer todos los requisitos de colocación, Azure asigna tantas instancias como permita la directiva, y puede que las instancias restantes no se aprovisionen. Este comportamiento es un error de asignación parcial, no un error de toda la solicitud.

Note

La asignación automática de zonas selecciona las zonas cuando se crean nuevas instancias. No mueve ni recrea instancias existentes para corregir un desequilibrio de zona. Para corregir proactivamente un desequilibrio existente, consulte Equilibrio automático de zonas.

Cuándo usar la selección automática de ubicación de zona

Use la colocación automática de zona cuando:

  • Desea un conjunto de escalado zonal o que abarque varias zonas, pero no necesita que las instancias se coloquen en zonas de disponibilidad específicas. Puede definir sus requisitos de distribución entre zonas y hacer que Azure seleccione las zonas.
  • Implementa en distintas regiones donde la disponibilidad de la SKU zonal varía. La colocación automática de zonas le ayuda a aplicar una configuración coherente en lugar de mantener listas de zonas específicas de la región.
  • Desea que Azure tenga en cuenta las señales actuales de capacidad al seleccionar zonas de disponibilidad.

Use zonas de disponibilidad seleccionadas por el cliente en su lugar cuando la carga de trabajo debe usar zonas específicas para cada operación de selección de ubicación.

Prerequisites

Antes de configurar la selección automática de ubicación de zona, asegúrese de que:

Registro de la suscripción con AFEC

La suscripción debe estar registrada con la marca de control de exposición de características de Azure (AFEC) Microsoft.Compute/VmssAutomaticZonePlacement. Este registro es necesario para habilitar la característica de selección automática de ubicación de zona para la suscripción.

  1. Inicie sesión en Azure Portal.
  2. En el cuadro de búsqueda, escriba suscripciones y, a continuación, seleccione Suscripciones.
  3. Selecciona tu suscripción.
  4. En Configuración, selecciona Funciones de vista previa.
  5. Busque VmssAutomaticZonePlacement y seleccione la característica.
  6. Seleccione Registrar.

Limitations

  • Un conjunto de escalado puede usar la propiedad para zones o placement.zonePlacementPolicy para la colocación automática en zonas, pero no ambas a la vez.
  • No se admiten grupos de selección de ubicación por proximidad.
  • No se admiten grupos de reserva de capacidad.
  • La combinación de instancias para Virtual Machine Scale Sets no se admite durante la versión preliminar pública. Se esperaba compatibilidad por disponibilidad general.
  • No se admiten grupos en espera.
  • No se admiten grupos host dedicados.
  • No se admiten zonas perimetrales.
  • No se admite el sobreaprovisionamiento. Asegúrese de establecer overprovision en false antes de añadir placement.zonePlacementPolicy; de lo contrario, la implementación falla.
  • No se admiten los conjuntos de escalado de Service Fabric.
  • No se admite la creación y asociación de una nueva máquina virtual. Puede adjuntar una máquina virtual de zona existente si su zona es compatible con la configuración de ubicación del conjunto de escalado.

Propiedades de configuración

En el ejemplo siguiente se muestra dónde aparecen las propiedades automáticas de ubicación de zona en un modelo de conjunto de escalado. Solo placement.zonePlacementPolicy es necesario. Todas las demás propiedades son opcionales.

{
  "placement": {
    "zonePlacementPolicy": "auto",
    "includeZones": [
      "1",
      "2",
      "4"
    ]
  },
  "properties": {
    "zoneBalance": false,
    "resiliencyPolicy": {
      "zoneAllocationPolicy": {
        "maxZoneCount": 2,
        "maxInstancePercentPerZonePolicy": {
          "enabled": true,
          "value": 70
        }
      }
    }
  }
}

Note

Use includeZones o excludeZones. No se pueden configurar ambas propiedades en el mismo conjunto de escalado.

Las siguientes propiedades controlan el comportamiento de selección automática de ubicación de zona:

Propiedad Description
placement.zonePlacementPolicy Required. Configúrelo como "auto" para habilitar la asignación automática de zonas.
placement.includeZones Optional. Lista de zonas de disponibilidad que Azure pueden tener en cuenta para la selección de ubicación. Azure selecciona solo las zonas de esta lista, pero es posible que no implemente instancias en todas las zonas enumeradas. Esta propiedad no se puede usar con excludeZones.
placement.excludeZones Optional. Una lista de zonas que Azure debe excluir de la ubicación. Esta propiedad no se puede usar con includeZones.
zoneBalance Optional. Controla el equilibrio de zona durante las operaciones de escalado. El valor predeterminado es false, que usa el equilibrio de mejor esfuerzo. Al habilitar zoneBalance con ubicación automática de zona, también debe especificar maxZoneCount. Cuando zoneBalance es false, maxZoneCount es opcional.
resiliencyPolicy.zoneAllocationPolicy.maxZoneCount Optional. El número máximo de zonas que puede usar el conjunto de escalado. Si no especifica esta propiedad, Azure tiene como destino tres zonas y puede expandirse a zonas adicionales cuando sea necesario para satisfacer una solicitud de escalado.
resiliencyPolicy.zoneAllocationPolicy.maxInstancePercentPerZonePolicy.enabled Optional. Habilita o deshabilita la política de porcentaje máximo de instancias por zona. Esta directiva solo se admite cuando zoneBalance es false.
resiliencyPolicy.zoneAllocationPolicy.maxInstancePercentPerZonePolicy.value Optional. Porcentaje máximo de la capacidad de destino de un conjunto de escalado que puede asignarse a una sola zona. Si la satisfacción de una solicitud superaría este valor, Azure asigna las instancias que cumplen con la directiva y es posible que las instancias restantes no se aprovisionen.

Crear un conjunto de escalado con asignación automática de zona

En los escenarios siguientes se muestra cómo configurar la selección automática de ubicación de zona y explicar el comportamiento de ubicación esperado. Complete el sistema operativo, el almacenamiento y los perfiles de red antes de implementar el conjunto de escalado.

Uso del comportamiento de ubicación predeterminado

Agregue placement.zonePlacementPolicy al recurso del conjunto de escalado. Use la versión 2026-03-01 de Compute API o posterior.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}?api-version=2026-03-01
{
  "placement": {
    "zonePlacementPolicy": "auto"
  }
}

Agregue esta configuración a una solicitud completa del conjunto de escalado de máquinas virtuales.

Comportamiento esperado

Si no especifica restricciones de selección de ubicación, Azure distribuye instancias uniformemente entre tres zonas. Por ejemplo, un conjunto de escalado con 100 instancias podría tener una distribución de 34, 33 y 33.

Si no es posible una distribución de tres zonas, Azure requiere que las instancias abarquen al menos dos zonas y apliquen un límite predeterminado del 50 por ciento de las instancias en cualquier zona. La plataforma aplica este límite incluso cuando maxInstancePercentPerZonePolicy no está configurado explícitamente.

Por ejemplo, supongamos que solicita 100 instancias y capacidad disponible en tres zonas es 70, 30 y 0. Azure intenta una distribución de 50, 30 y 20. Dado que la tercera zona no tiene capacidad, la distribución final es 50, 30 y 0 y 20 instancias no se pueden aprovisionar. Para priorizar el éxito de la asignación respecto al límite de distribución predeterminado, configure un valor superior maxInstancePercentPerZonePolicy.value.

Configuración de zonas aptas

Use includeZones o excludeZones para controlar qué zonas tiene en cuenta Azure durante la implementación. No se pueden configurar ambas propiedades en el mismo conjunto de escalado.

El siguiente ejemplo restringe a Azure para que solo tenga en cuenta las zonas 1 y 2 para la ubicación.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}?api-version=2026-03-01
{
  "placement": {
    "zonePlacementPolicy": "auto",
    "includeZones": [
      "1",
      "2"
    ]
  }
}

Como alternativa, use excludeZones para evitar que Azure seleccione zonas específicas. En el ejemplo siguiente se excluye la zona 3:

{
  "placement": {
    "zonePlacementPolicy": "auto",
    "excludeZones": [
      "3"
    ]
  }
}

Comportamiento esperado

Al configurar includeZones, Azure selecciona solo las zonas de la lista especificada. Esta configuración no garantiza que Azure coloque instancias en cada zona enumerada. Azure sigue teniendo en cuenta la capacidad, la disponibilidad de SKU, la distribución actual y otras restricciones de selección de ubicación al colocar instancias.

Al configurar excludeZones, Azure no selecciona ni coloca nuevas instancias en las zonas excluidas. Todas las demás zonas admitidas siguen siendo elegibles. No se puede combinar includeZones y excludeZones en el mismo conjunto de escalado.

Limitar el porcentaje de instancias en una zona

Use maxInstancePercentPerZonePolicy para controlar el porcentaje máximo de la capacidad objetivo de un conjunto de escalado que se puede asignar a una sola zona. Un porcentaje más alto ofrece Azure más flexibilidad para satisfacer las solicitudes de asignación, pero permite que se concentran más instancias en una zona.

La política solo se admite cuando zoneBalance es false.

Porcentaje mínimo de instancia

El valor mínimo depende del número de zonas elegibles para la colocación después de que Azure aplique includeZones, excludeZones y maxZoneCount:

minimum instance percentage = ceil(100 / number of eligible zones)

Por ejemplo, supongamos que includeZones contiene zonas 1, 2y , y 4maxZoneCount es 2. El número efectivo de zonas aptas es dos, por lo que el porcentaje mínimo válido es 50.

Número máximo de instancias en una zona

Azure calcula el número máximo de instancias permitidas en una zona en función de la capacidad de destino del conjunto de escalado:

maximum instances per zone = ceil(maximum instance percentage * target capacity / 100)

Azure redondea el resultado hasta el número entero más cercano. Por ejemplo, si la capacidad de destino es de 101 instancias y el porcentaje máximo de instancia es 85, el conjunto de escalado puede colocar hasta 86 instancias en una sola zona.

En el ejemplo siguiente se permite hasta el 85 % de las instancias en una zona:

PUT or PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}?api-version=2026-03-01
{
  "placement": {
    "zonePlacementPolicy": "auto"
  },
  "properties": {
    "resiliencyPolicy": {
      "zoneAllocationPolicy": {
        "maxInstancePercentPerZonePolicy": {
          "enabled": true,
          "value": 85
        }
      }
    }
  }
}

Comportamiento esperado

Azure primero intenta distribuir instancias uniformemente entre tres zonas. Si no es posible una distribución uniforme, Azure puede asignar hasta el 85 % de las instancias a una zona. Esta configuración ofrece Azure más flexibilidad para satisfacer las solicitudes de asignación, pero permite una mayor concentración de instancias en una zona.

Después de que una zona alcance el máximo calculado, Azure intenta colocar las instancias restantes en otras zonas aptas. Si esas zonas no tienen capacidad suficiente, es posible que las instancias restantes no se aprovisionen.

Por ejemplo, supongamos que solicita 100 instancias y capacidad disponible en tres zonas es 90, 10 y 0. Azure intenta una distribución de 85, 10 y 5. Dado que la tercera zona no tiene capacidad, la distribución final es 85, 10 y 0 y cinco instancias no se pueden aprovisionar.

Usar balanceo estricto de zonas

Establézcalo zoneBalance en true para requerir una distribución equilibrada en las zonas seleccionadas. Debe especificar maxZoneCount cuándo está habilitado el equilibrio de zona estricto.

En el ejemplo siguiente se habilita el equilibrio de zona estricto entre tres zonas.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}?api-version=2026-03-01
{
  "placement": {
    "zonePlacementPolicy": "auto"
  },
  "properties": {
    "zoneBalance": true,
    "resiliencyPolicy": {
      "zoneAllocationPolicy": {
        "maxZoneCount": 3
      }
    }
  }
}

Comportamiento esperado

Azure requiere que el número de instancias en las zonas seleccionadas no difiera entre sí en más de una instancia. Cuando se establece maxZoneCount en 3, Azure selecciona hasta tres zonas y mantiene un equilibrio estricto entre las zonas en uso.

Si Azure no puede mantener un equilibrio estricto debido a la capacidad disponible o a la disponibilidad de zonas, las instancias que no puedan colocarse conforme a la directiva no llegarán a aprovisionarse. Por lo tanto, el equilibrio de zona estricto puede reducir el éxito de la asignación en comparación con el equilibrio de mejor esfuerzo.

Habilitar la asignación automática de zona en un conjunto de escalado existente

Puede habilitar la colocación automática de zonas en un conjunto de escalado existente que use zonas seleccionadas por el cliente o ubicación regional.

Warning

Después de habilitar la distribución automática entre zonas en un conjunto de escalado regional, no se puede volver a configurar el conjunto de escalado para usar la distribución regional. Las instancias regionales existentes siguen siendo regionales, pero Azure colocan nuevas instancias en zonas de disponibilidad.

Antes de habilitar la asignación automática de zona en un conjunto de escalado regional, revise Preparación para la expansión zonal.

Para un conjunto de escalado que usa zonas elegidas por el cliente, borre la propiedad zones y establezca placement.zonePlacementPolicy en auto en la misma operación de actualización. Para un conjunto de escalado regional, establezca placement.zonePlacementPolicy en auto.

Envíe una solicitud PATCH al siguiente punto de conexión:

PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}?api-version=2026-03-01

Para un conjunto de escalado que utiliza zonas seleccionadas por el cliente, borre zones y habilite la colocación automática de zonas en la misma solicitud:

{
  "zones": [],
  "placement": {
    "zonePlacementPolicy": "auto"
  }
}

Para un conjunto de escalado regional, habilite la selección automática de ubicación de zona sin especificar zones:

{
  "placement": {
    "zonePlacementPolicy": "auto"
  }
}

Comportamiento esperado

La actualización permite la asignación automática de zona para las nuevas instancias. Las instancias existentes no se mueven ni se vuelven a crear.

Para un conjunto de escalado que usa zonas seleccionadas por el cliente, las instancias existentes permanecen en sus zonas de disponibilidad actuales. En el caso de un conjunto de escalado regional, las instancias regionales existentes permanecen regionales. Azure usa la ubicación automática de zona cuando coloca nuevas instancias.

Si cambian sus requisitos de ubicación, puede pasar de la colocación automática en zonas a las zonas seleccionadas por el cliente. En la misma operación de actualización, borre placement.zonePlacementPolicy y establezca la propiedad zones. Esta actualización no mueve ni vuelve a crear instancias existentes.

Pasos siguientes