Configurare il posizionamento automatico della zona per un set di scalabilità (anteprima)

Il posizionamento automatico nelle zone per set di scalabilità di macchine virtuali consente ad Azure di selezionare le zone di disponibilità per il set di scalabilità in base alla capacità disponibile e alla disponibilità delle SKU. Anziché specificare un elenco fisso di zone per ogni area, è possibile configurare i requisiti di posizionamento e Azure seleziona le zone che meglio le soddisfano.

Il posizionamento automatico della zona è supportato per set di scalabilità di macchine virtuali con modalità di orchestrazione uniformi e flessibili.

Importante

Il posizionamento automatico della zona per set di scalabilità di macchine virtuali è attualmente in anteprima. Le anteprime vengono rese disponibili a condizione che l'utente accetti le condizioni supplementari per l'utilizzo. Alcuni aspetti di questa funzionalità potrebbero cambiare prima della disponibilità generale.

Come funziona il posizionamento automatico delle zone

Il posizionamento automatico nelle zone valuta la disponibilità delle SKU, la capacità e gli eventuali vincoli di posizionamento che si configurano per selezionare le zone di disponibilità e posizionare le istanze di macchina virtuale.

Per impostazione predefinita, il set di scalabilità funziona per distribuire le istanze tra tre zone di disponibilità. Se si configura maxZoneCount, il set di scalabilità funziona invece per distribuire le istanze in tale numero di zone e non supera mai il limite configurato. Il posizionamento effettivo dipende dalla disponibilità dello SKU, dalla capacità, dall'attuale distribuzione della zona del set di scalabilità e dagli altri vincoli di posizionamento. Quando maxZoneCount non è configurato e l'area geografica ha più di tre zone di disponibilità, il set di scalabilità può espandersi oltre la distribuzione predefinita su tre zone, ad esempio in una quarta zona, se le zone attuali non possono soddisfare una richiesta di scalabilità orizzontale.

Per impostazione predefinita, posizionamento automatico nelle zone:

  • È destinata a una distribuzione uniforme tra tre zone di disponibilità.
  • Richiede la distribuzione delle istanze in almeno due zone di disponibilità.
  • Limita il numero di istanze in qualsiasi singola zona al 50% del set di scalabilità.
  • Può espandersi in zone di disponibilità aggiuntive se le zone correnti non hanno una capacità sufficiente per più istanze e un'altra zona è disponibile nell'area.

Se la capacità non è disponibile per soddisfare tutti i requisiti di posizionamento, Azure alloca quante più istanze possibile entro i limiti previsti dai criteri e le istanze rimanenti potrebbero non essere sottoposte a provisioning. Questo comportamento è un errore di allocazione parziale, non un errore dell'intera richiesta.

Note

Il posizionamento automatico della zona seleziona le zone quando vengono create nuove istanze. Non sposta o ricrea istanze esistenti per correggere uno squilibrio della zona. Per correggere in modo proattivo uno squilibrio esistente, vedere Bilanciamento automatico della zona.

Quando usare il posizionamento automatico delle zone

Usare il posizionamento automatico della zona quando:

  • Si desidera un set di scalabilità zonale o esteso tra più zone, ma non è necessario che le istanze siano collocate in zone di disponibilità specifiche. È possibile definire i requisiti di distribuzione della zona e consentire Azure di selezionare le zone.
  • La distribuzione viene eseguita tra aree in cui la disponibilità dello SKU di zona è diversa. Il posizionamento automatico della zona consente di applicare una configurazione coerente invece di gestire elenchi di zone specifiche dell'area.
  • Si desidera che Azure prenda in considerazione i segnali di capacità attuali quando seleziona le zone di disponibilità.

Usare invece le zone di disponibilità selezionate dal cliente quando il carico di lavoro deve usare zone specifiche per ogni operazione di posizionamento.

Prerequisites

Prima di configurare il posizionamento automatico della zona, assicurarsi che:

Registrare la sottoscrizione con AFEC

La sottoscrizione deve essere registrata con il flag Microsoft.Compute/VmssAutomaticZonePlacement di Controllo esposizione funzionalità di Azure (AFEC). Questa registrazione è necessaria per abilitare la funzionalità di posizionamento automatico delle zone per il tuo abbonamento.

  1. Accedi al portale di Azure.
  2. Nella casella di ricerca immettere sottoscrizioni e quindi selezionare Sottoscrizioni.
  3. Selezionare la sottoscrizione.
  4. Sotto Impostazioni, seleziona Funzionalità di anteprima.
  5. Cercare VmssAutomaticZonePlacement e quindi selezionare la funzionalità.
  6. Selezionare Registrazione.

Limitations

  • Un set di scalabilità automatica può usare la proprietà zones per le zone selezionate dal cliente o placement.zonePlacementPolicy per il posizionamento automatico nelle zone, ma non entrambe.
  • I gruppi di posizionamento di prossimità non sono supportati.
  • I gruppi di prenotazione della capacità non sono supportati.
  • La combinazione di tipi di istanza per i set di scalabilità di macchine virtuali non è supportata nell'anteprima pubblica. Supporto previsto dalla disponibilità generale.
  • I pool di standby non sono supportati.
  • I gruppi host dedicati non sono supportati.
  • Le zone perimetrali non sono supportate.
  • L'overprovisioning non è supportato. Assicurarsi che false sia impostato su placement.zonePlacementPolicy prima di aggiungere overprovision; in caso contrario, la distribuzione non va a buon fine.
  • I set di scalabilità di Service Fabric non sono supportati.
  • La creazione e il collegamento di una nuova macchina virtuale non sono supportati. È possibile collegare una VM zonale esistente se la relativa zona è compatibile con la configurazione di posizionamento del set di scalabilità.

Proprietà di configurazione

L'esempio seguente mostra dove vengono visualizzate le proprietà di posizionamento automatico della zona in un modello di set di scalabilità. È necessario solo placement.zonePlacementPolicy . Tutte le altre proprietà sono facoltative.

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

Note

Usare includeZones o excludeZones. Non è possibile configurare entrambe le proprietà nello stesso set di scalabilità.

Le proprietà seguenti controllano il comportamento di posizionamento automatico della zona:

Property Description
placement.zonePlacementPolicy Required. Impostare su "auto" per abilitare il posizionamento automatico della zona.
placement.includeZones Optional. Elenco delle zone di disponibilità che Azure possono prendere in considerazione per il posizionamento. Azure seleziona le zone solo da questo elenco, ma potrebbe non distribuire istanze in ogni zona elencata. Non è possibile usare questa proprietà con excludeZones.
placement.excludeZones Optional. Un elenco di zone che Azure deve escludere dall'allocazione. Non è possibile usare questa proprietà con includeZones.
zoneBalance Optional. Controlla il bilanciamento della zona durante le operazioni di ridimensionamento. Il valore predefinito è false, che usa il bilanciamento ottimale. Quando si abilita zoneBalance con il posizionamento automatico della zona, è necessario anche specificare maxZoneCount. Quando zoneBalance è maxZoneCount, false è facoltativo.
resiliencyPolicy.zoneAllocationPolicy.maxZoneCount Optional. Il numero massimo di zone che il set di scalabilità può usare. Se non si specifica questa proprietà, Azure è destinata a tre zone e può espandersi in zone aggiuntive quando necessario per soddisfare una richiesta di ridimensionamento.
resiliencyPolicy.zoneAllocationPolicy.maxInstancePercentPerZonePolicy.enabled Optional. Abilita o disabilita il criterio relativo alla percentuale massima di istanze per zona. Questo criterio è supportato solo quando zoneBalance è false.
resiliencyPolicy.zoneAllocationPolicy.maxInstancePercentPerZonePolicy.value Optional. Percentuale massima della capacità di destinazione di un set di scalabilità allocabile a una singola zona. Se il soddisfacimento di una richiesta comporta il superamento di questo valore, Azure alloca le istanze conformi al criterio e le istanze rimanenti potrebbero non essere sottoposte a provisioning.

Creare un set di scalabilità con posizionamento automatico della zona

Gli scenari seguenti illustrano come configurare il posizionamento automatico della zona e spiegare il comportamento di posizionamento previsto. Completare i profili del sistema operativo, di archiviazione e di rete prima di distribuire il set di scalabilità.

Usare il comportamento di posizionamento predefinito

Aggiungere placement.zonePlacementPolicy alla risorsa del set di scalabilità. Usare la versione 2026-03-01 dell'API di calcolo o versioni successive.

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

Aggiungere questa configurazione a una richiesta completa del set di scalabilità di macchine virtuali.

Comportamento previsto

Se non si specificano vincoli di posizionamento, Azure distribuisce le istanze in modo uniforme tra tre zone. Ad esempio, un set di scalabilità con 100 istanze potrebbe avere una distribuzione di 34, 33 e 33.

Se non è possibile una distribuzione a tre zone, Azure richiede che le istanze si estendano almeno due zone e applichi un limite predefinito del 50% delle istanze in qualsiasi zona. La piattaforma applica questo limite anche quando maxInstancePercentPerZonePolicy non è configurato in modo esplicito.

Si supponga, ad esempio, di richiedere 100 istanze e la capacità disponibile tra tre zone sia 70, 30 e 0. Azure tenta una distribuzione di 50, 30 e 20. Poiché la terza zona non dispone di capacità, la distribuzione finale è 50, 30 e 0 e non è possibile effettuare il provisioning di 20 istanze. Per classificare in ordine di priorità l'esito positivo dell'allocazione rispetto al limite di distribuzione predefinito, configurare un valore superiore maxInstancePercentPerZonePolicy.value.

Configurare le zone idonee

Usare includeZones o excludeZones per controllare quali zone Azure considera durante il posizionamento. Non è possibile configurare entrambe le proprietà nello stesso set di scalabilità.

L'esempio seguente limita Azure a considerare solo le zone 1 e 2 per il posizionamento.

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"
    ]
  }
}

In alternativa, usare excludeZones per impedire Azure di selezionare zone specifiche. Nell'esempio seguente viene esclusa la zona 3:

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

Comportamento previsto

Quando si configura includeZones, Azure seleziona le zone solo dall'elenco specificato. Questa impostazione non garantisce che Azure inserisca le istanze in ogni zona elencata. Azure continua a prendere in considerazione capacità, disponibilità sku, distribuzione corrente e altri vincoli di posizionamento durante l'inserimento delle istanze.

Quando si configura excludeZones, Azure non seleziona o inserisce nuove istanze nelle zone escluse. Tutte le altre zone supportate rimangono idonee. Non è possibile combinare includeZones e excludeZones nello stesso set di scalabilità.

Limitare la percentuale di istanze in una singola zona

Usare maxInstancePercentPerZonePolicy per specificare la percentuale massima della capacità di destinazione di un set di scalabilità che può essere allocata a una singola zona. Una percentuale più elevata offre Azure maggiore flessibilità per soddisfare le richieste di allocazione, ma consente di concentrare più istanze in un'unica zona.

Il criterio è supportato solo quando zoneBalance è false.

Percentuale minima di istanze

Il valore minimo dipende dal numero di zone idonee per il posizionamento dopo che Azure si applica includeZones, excludeZonese maxZoneCount:

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

Si supponga, ad esempio, di includeZones contenere zone 1, 2e 4e maxZoneCount è 2. Il numero effettivo di zone idonee è due, quindi la percentuale minima valida è 50.

Numero massimo di istanze in una zona

Azure calcola il numero massimo di istanze consentite in una zona in base alla capacità di destinazione del set di scalabilità:

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

Azure arrotonda il risultato fino al numero intero più vicino. Ad esempio, se la capacità target è di 101 istanze e la percentuale massima di istanze è 85, il set di scalabilità può collocare fino a 86 istanze in una singola zona.

L'esempio seguente consente fino all'85% delle istanze in 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
        }
      }
    }
  }
}

Comportamento previsto

Azure prima tenta di distribuire le istanze in modo uniforme tra tre zone. Se non è possibile una distribuzione uniforme, Azure può allocare fino all'85% delle istanze in un'unica zona. Questa impostazione offre Azure maggiore flessibilità per soddisfare le richieste di allocazione, ma consente una maggiore concentrazione di istanze in un'unica zona.

Dopo che una zona raggiunge il valore massimo calcolato, Azure tenta di posizionare le istanze rimanenti in altre zone idonee. Se tali zone non hanno capacità sufficiente, il provisioning delle restanti istanze potrebbe non riuscire.

Si supponga, ad esempio, di richiedere 100 istanze e la capacità disponibile in tre zone sia 90, 10 e 0. Azure tenta una distribuzione di 85, 10 e 5. Poiché la terza zona non ha capacità, la distribuzione finale è 85, 10 e 0 e non è possibile eseguire il provisioning di cinque istanze.

Usare il bilanciamento rigoroso della zona

Impostare zoneBalance su true per richiedere una distribuzione bilanciata tra le zone selezionate. È necessario specificare maxZoneCount quando è abilitato il bilanciamento rigoroso delle zone.

L'esempio seguente abilita il rigoroso bilanciamento tra tre zone.

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
      }
    }
  }
}

Comportamento previsto

Azure richiede che i conteggi delle istanze nelle zone selezionate rimangano all'interno di un'istanza dell'altra. Quando si imposta maxZoneCount su 3, Azure seleziona fino a tre zone e mantiene un equilibrio rigoroso tra le zone in uso.

Se Azure non è in grado di mantenere un bilanciamento rigoroso a causa della capacità o della disponibilità della zona, le istanze che non possono essere distribuite nel rispetto dei criteri non possono essere sottoposte a provisioning. Un bilanciamento rigido tra zone può quindi ridurre la probabilità di successo dell'allocazione rispetto al bilanciamento best-effort.

Abilitare il posizionamento automatico della zona in un set di scalabilità esistente

È possibile abilitare la distribuzione automatica tra zone in un set di scalabilità esistente che usa zone selezionate dal cliente o la distribuzione a livello di area geografica.

Avvertimento

Dopo aver abilitato il posizionamento automatico delle zone in un set di scalabilità a livello di area geografica, non è possibile riportare il set di scalabilità al posizionamento regionale. Le istanze locali esistenti rimangono a livello di area, ma Azure inserisce nuove istanze nelle zone di disponibilità.

Prima di abilitare l'assegnazione automatica alle zone in un set di scalabilità regionale, consulta Prepararsi all'espansione delle zone.

Per un set di scalabilità che usa zone selezionate dal cliente, cancellare la proprietà zones e impostare placement.zonePlacementPolicy su auto nella stessa operazione di aggiornamento. Per un set di scalabilità a livello di area geografica, impostare placement.zonePlacementPolicy su auto.

Inviare una richiesta PATCH all'endpoint seguente:

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

Per un set di scalabilità che usa le zone selezionate dal cliente, deselezionare zones e abilitare il posizionamento automatico della zona nella stessa richiesta:

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

Per un set di scalabilità a livello di area geografica, abilitare il posizionamento automatico della zona senza specificare zones:

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

Comportamento previsto

L'aggiornamento abilita il posizionamento automatico della zona per le nuove istanze. Le istanze esistenti non vengono spostate o ricreate.

Per un set di scalabilità che usa le zone selezionate dal cliente, le istanze esistenti rimangono nelle zone di disponibilità correnti. Per un set di scalabilità a livello di area geografica, le istanze dell'area esistenti rimangono regionali. Azure usa il posizionamento automatico della zona quando inserisce nuove istanze.

Se i requisiti di posizionamento cambiano, è possibile passare dal posizionamento automatico della zona alle zone selezionate dal cliente. Nella stessa operazione di aggiornamento deselezionare placement.zonePlacementPolicy e impostare la zones proprietà . Questo aggiornamento non sposta o ricrea istanze esistenti.

Passaggi successivi