Associare un set di scalabilità di macchine virtuali con orchestrazione uniforme a un gruppo di prenotazioni della capacità

Si applica a: ✔️ Seti di scalabilità uniformi

I set di scalabilità di macchine virtuali di Azure hanno due modalità:

  • Orchestrazione uniforme: in questa modalità i set di scalabilità di macchine virtuali usano un profilo di macchina virtuale o un modello per aumentare la capacità fino al livello desiderato. Sebbene sia possibile gestire o personalizzare singole istanze di macchina virtuale, l'orchestrazione uniforme prevede l'uso di istanze di VM identiche. Queste istanze vengono esposte tramite le API VM dei set di scalabilità di macchine virtuali e non sono compatibili con i comandi delle API standard per le VM IaaS (infrastruttura distribuita come servizio) di Azure. Poiché il set di scalabilità esegue tutte le operazioni effettive delle VM, le prenotazioni vengono associate direttamente al set di scalabilità di macchine virtuali. Dopo che il set di scalabilità viene associato alla prenotazione, tutte le allocazioni successive di VM vengono eseguite in base alla stessa.
  • Orchestrazione flessibile: in questa modalità si ottiene una maggiore flessibilità per la gestione delle singole istanze di VM del set di scalabilità di macchine virtuali. È possibile usare le API VM IaaS di Azure standard invece dell'interfaccia del set di scalabilità. Per usare prenotazioni con modalità di orchestrazione flessibile, definire sia la proprietà del set di scalabilità di macchine virtuali sia la proprietà della prenotazione della capacità in ogni VM.

Per altre informazioni su queste modalità, vedere Modalità di orchestrazione dei set di scalabilità di macchine virtuali.

Questo contenuto si applica alla modalità di orchestrazione uniforme. Per la modalità di orchestrazione flessibile, vedere Associare un set di scalabilità di macchine virtuali con orchestrazione flessibile a un gruppo di prenotazioni della capacità.

Limitazioni dei seti di scalabilità nell'orchestrazione uniforme

  • Affinché i set di scalabilità di macchine virtuali in orchestrazione uniforme siano compatibili con la prenotazione della capacità, la proprietà singlePlacementGroup deve essere impostata su False.
  • L'opzione di disponibilità Distribuzione fissa statica per i set di scalabilità uniformi multizona non è supportata con la prenotazione della capacità. Questa opzione richiede l'uso di cinque domini di errore. Tuttavia, le prenotazioni supportano solo fino a tre domini di errore per le dimensioni per utilizzo generico. L'approccio consigliato consiste nell'usare l'opzione Distribuzione massima che distribuisce le VM tra il maggior numero possibile di domini di errore all'interno di ogni zona. Se necessario, impostare una configurazione personalizzata di un massimo di tre domini di errori.

Esistono altre restrizioni quando si usano prenotazioni di capacità. Per l'elenco completo, vedere la panoramica delle prenotazioni di capacità.

Associare un nuovo set di scalabilità di macchine virtuali a un gruppo di prenotazioni di capacità

Importante

A partire da novembre 2023, i set di scalabilità di macchine virtuali creati con PowerShell e con l'interfaccia della riga di comando di Azure avranno per impostazione predefinita la modalità di orchestrazione flessibile, se non ne viene impostata una specifica. Per altre informazioni su questa modifica e sulle azioni da eseguire, vedere Modifica che causa un'interruzione per i clienti che usano set di scalabilità di macchine virtuali creati con PowerShell/interfaccia della riga di comando - Hub della community Microsoft.

Per associare un nuovo set di scalabilità di macchine virtuali uniformi a un gruppo di prenotazioni di capacità, creare la richiesta PUT seguente al provider Microsoft.Compute:

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{VMScaleSetName}?api-version=2021-04-01

Aggiungere la proprietà capacityReservationGroup nella proprietà virtualMachineProfile:

{ 
    "name": "<VMScaleSetName>", 
    "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{VMScaleSetName}", 
    "type": "Microsoft.Compute/virtualMachineScaleSets", 
    "location": "eastus", 
    "sku": { 
        "name": "Standard_D2s_v3", 
        "tier": "Standard", 
        "capacity": 3 
}, 
"properties": { 
    "virtualMachineProfile": { 
        "capacityReservation": { 
            "capacityReservationGroup":{ 
                "id":"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/CapacityReservationGroup/{CapacityReservationGroupName}" 
            } 
         }, 
        "osProfile": { 
            … 
        }, 
        "storageProfile": { 
            … 
        }, 
        "networkProfile": { 
            …,
            "extensionProfile": { 
                … 
            } 
        } 
    } 

Associare un set di scalabilità di macchine virtuali esistente a un gruppo di prenotazioni della capacità

Per aggiungere un gruppo di prenotazioni della capacità esistente a un set di scalabilità uniforme esistente:

  • Arrestare il set di scalabilità per deallocare le istanze di VM.
  • Aggiornare il set di scalabilità in modo da usare un gruppo di prenotazioni della capacità corrispondente.
  • Avviare il set di scalabilità.

Questo processo garantisce che il posizionamento per le prenotazioni della capacità e il set di scalabilità nell'area siano compatibili.

Note importanti sui criteri di aggiornamento

  • Aggiornamento automatico: in questa modalità le istanze di VM del set di scalabilità vengono automaticamente associate al gruppo di prenotazioni della capacità senza ulteriori azioni da parte dell'utente. Quando le macchine virtuali del set di scalabilità vengono riallocate, iniziano a usare la capacità riservata.
  • Aggiornamento in sequenza: in questa modalità le istanze di VM del set di scalabilità vengono associate al gruppo di prenotazioni della capacità senza ulteriori azioni da parte dell'utente. Tuttavia, vengono aggiornate in batch con un tempo di pausa facoltativo intermedio. Quando le macchine virtuali del set di scalabilità vengono riallocate, iniziano a usare la capacità riservata.
  • Aggiornamento manuale: in questa modalità non accade nulla alle istanze di VM del set di scalabilità quando il set di scalabilità di macchine virtuali viene associato a un gruppo di prenotazioni della capacità. È necessario aggiornare ogni VM del set di scalabilità al modello del set di scalabilità più recente.
  1. Deallocare il set di scalabilità di macchine virtuali:

    POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourcegroupname}/providers/Microsoft.Compute/virtualMachineScaleSets/{VMScaleSetName}/deallocate?api-version=2021-04-01
    
  2. Aggiungere la proprietà capacityReservationGroup al modello del set di scalabilità. Creare la richiesta PUT seguente al provider Microsoft.Compute:

    PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourcegroupname}/providers/Microsoft.Compute/virtualMachineScaleSets/{VMScaleSetName}?api-version=2021-04-01
    

    Nel corpo della richiesta includere la proprietà capacityReservationGroup:

    "location": "eastus",
    "properties": {
        "virtualMachineProfile": {
             "capacityReservation": {
                      "capacityReservationGroup": {
                            "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}"
                      }
                }
        }
    }
    

Visualizzare l'associazione del set di scalabilità di macchine virtuali con Visualizzazione istanza

Dopo che il set di scalabilità di macchine virtuali uniforme viene associato al gruppo di prenotazioni della capacità, tutte le allocazioni successive di VM vengono eseguite in base alla prenotazione della capacità. Azure trova automaticamente la prenotazione della capacità corrispondente nel gruppo e utilizza uno slot riservato.

Visualizzazione istanza del gruppo di prenotazioni della capacità mostra le nuove VM del set di scalabilità nelle proprietà virtualMachinesAssociated e virtualMachinesAllocated:

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/CapacityReservationGroups/{CapacityReservationGroupName}?$expand=instanceview&api-version=2021-04-01 
{ 
    "name": "<CapacityReservationGroupName>", 
    "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{CapacityReservationGroupName}", 
    "type": "Microsoft.Compute/capacityReservationGroups", 
    "location": "eastus" 
}, 
    "properties": { 
        "capacityReservations": [ 
            { 
                "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{CapacityReservationGroupName}/capacityReservations/{CapacityReservationName}" 
            } 
        ], 
        "virtualMachinesAssociated": [ 
            { 
                "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{VMScaleSetName}/virtualMachines/{VirtualMachineId}" 
            } 
        ], 
        "instanceView": { 
            "capacityReservations": [ 
                { 
                    "name": "<CapacityReservationName>", 
                    "utilizationInfo": { 
                        "virtualMachinesAllocated": [ 
                            { 
                                "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{VMScaleSetName}/virtualMachines/{VirtualMachineId}" 
                            } 
                        ] 
                    },
                    "statuses": [ 
                        { 
                            "code": "ProvisioningState/succeeded", 
                            "level": "Info", 
                            "displayStatus": "Provisioning succeeded", 
                            "time": "2021-05-25T15:12:10.4165243+00:00" 
                        } 
                    ] 
                } 
            ] 
        } 
    } 
} 

Considerazioni sull'area e sulla zona di disponibilità

È possibile creare i set di scalabilità di macchine virtuali a livello di area o in una o più zone di disponibilità per proteggerli da errori a livello di data center. Per altre informazioni sui set di scalabilità di macchine virtuali multizona, vedere Set di scalabilità di macchine virtuali che usano zone di disponibilità.

Importante

Per il corretto funzionamento dell'associazione, è necessario che la località (area e zone di disponibilità) del set di scalabilità di macchine virtuali corrisponda a quella del gruppo di prenotazioni della capacità. Per un set di scalabilità a livello di area, l'area deve corrispondere tra il set di scalabilità e il gruppo di prenotazioni della capacità. Per un set di scalabilità a livello di zona, sia le aree che le zone devono corrispondere tra il set di scalabilità e il gruppo di prenotazioni della capacità.

Quando un set di scalabilità è distribuito in più zone, tenta sempre di eseguire la distribuzione uniforme tra le zone di disponibilità incluse. A causa della distribuzione uniforme, un gruppo di prenotazioni della capacità deve avere sempre la stessa quantità di macchine virtuali riservate in ogni zona. Per informazioni sul motivo per cui questa distribuzione è importante, considerare l'esempio seguente.

In questo esempio ogni zona ha una quantità riservata diversa. Si supponga che il set di scalabilità di macchine virtuali venga ridimensionato a 75 istanze. Poiché un set di scalabilità tenta sempre di eseguire la distribuzione uniforme tra le zone, la distribuzione di VM sarà simile all'esempio seguente:

Zona Quantità riservata Numero di VM del set di scalabilità in ogni zona Quantità riservata inutilizzata Sovrassegnata
1 40 25 15 0
2 20 25 0 5
3 15 25 0 10

In questo caso il set di scalabilità comporta costi aggiuntivi per 15 istanze inutilizzate nella zona 1. Lo scale-out si basa anche su 5 VM nella zona 2 e 10 nella zona 3 che non sono protette dalla prenotazione della capacità. Se ogni zona avesse 25 istanze di capacità riservate, tutte le 75 macchine virtuali sarebbero protette dalla prenotazione della capacità e la distribuzione non comporterebbe costi aggiuntivi per le istanze inutilizzate.

Poiché le prenotazioni possono essere sovrassegnate, il set di scalabilità può continuare a essere ridimensionato normalmente oltre i limiti della prenotazione. L'unica differenza è che le macchine virtuali allocate al di sopra della quantità riservata non sono coperte dal contratto di servizio della prenotazione della capacità. Per altre informazioni, vedere Sovrassegnazione della prenotazione della capacità.

Passaggio successivo