Associare un set di scalabilità di macchine virtuali a un gruppo di prenotazioni di capacità (anteprima)

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

  • 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à desiderata. Anche se è possibile gestire o personalizzare singole istanze di macchina virtuale, Uniform usa 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 standard dell'API vm IaaS di Azure. Poiché il set di scalabilità esegue tutte le operazioni effettive della macchina virtuale, le prenotazioni vengono associate direttamente al set di scalabilità di macchine virtuali. Dopo che il set di scalabilità è stato associato alla prenotazione, tutte le allocazioni di macchine virtuali successive verranno eseguite sulla prenotazione.
  • Modalità orchestrazione flessibile: In questa modalità si ottiene una maggiore flessibilità nella gestione delle singole istanze di macchina virtuale del set di scalabilità di macchine virtuali, in quanto possono usare le API vm IaaS di Azure standard anziché l'interfaccia del set di scalabilità. Questa modalità non funzionerà con la prenotazione della capacità durante l'anteprima pubblica.

Per altre informazioni su queste modalità, vedere Modalità di orchestrazione dei set di scalabilità di macchine virtuali. Il resto di questo articolo illustra come associare un set di scalabilità di macchine virtuali Uniform a un gruppo di prenotazioni di capacità.

Importante

La prenotazione della capacità è attualmente in anteprima pubblica. Questa versione di anteprima viene fornita senza un contratto di servizio e non è consigliabile per i carichi di lavoro di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero presentare funzionalità limitate. Per altre informazioni, vedere Condizioni supplementari per l'utilizzo delle anteprime di Microsoft Azure.

Limitazioni dei set di scalabilità in Orchestrazione uniforme

  • Per la compatibilità dei set di scalabilità di macchine virtuali in orchestrazione uniforme con la prenotazione della capacità, la proprietà deve singlePlacementGroup essere impostata su False.
  • L'opzione di disponibilità Static Fixed Spreading per i set di scalabilità uniformi a più zone non è supportata con la prenotazione della capacità. Questa opzione richiede l'uso di 5 domini di errore, mentre le prenotazioni supportano solo fino a 3 domini di errore per dimensioni per utilizzo generico. L'approccio consigliato consiste nell'usare l'opzione Diffusione massima che consente di distribuire le macchine virtuali tra il maggior numero possibile di unità di protezione all'interno di ogni zona. Se necessario, configurare una configurazione personalizzata del dominio di errore di 3 o meno.

Esistono altre restrizioni durante l'uso della prenotazione della capacità. Per l'elenco completo, vedere Panoramica delle prenotazioni di capacità.

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

Per associare un nuovo set di scalabilità di macchine virtuali Uniform 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 capacityReservationGroup proprietà in come illustrato di virtualMachineProfile seguito:

{ 
    "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 al gruppo di prenotazioni di capacità

Per l'anteprima pubblica, per associare un set di scalabilità di macchine virtuali Uniform esistente al gruppo di prenotazioni di capacità, è necessario prima deallocare il set di scalabilità e quindi eseguire l'associazione al momento della riallocazione. In questo modo tutte le macchine virtuali del set di scalabilità utilizzano la prenotazione della capacità al momento della riallocazione.

Note importanti sui criteri di aggiornamento

  • Aggiornamento automatico: in questa modalità, le istanze di macchina virtuale del set di scalabilità vengono associate automaticamente al gruppo di prenotazioni di capacità senza ulteriori azioni da parte dell'utente. Quando le macchine virtuali del set di scalabilità vengono riallocate, iniziano a utilizzare la capacità riservata.
  • Aggiornamento in sequenza: in questa modalità, le istanze di macchina virtuale del set di scalabilità sono associate al gruppo di prenotazioni di capacità senza ulteriori azioni da parte dell'utente. Vengono tuttavia aggiornati in batch con un tempo di sospensione facoltativo tra di essi. Quando le macchine virtuali del set di scalabilità vengono riallocate, iniziano a utilizzare la capacità riservata.
  • Aggiornamento manuale: in questa modalità non accade nulla alle istanze di macchina virtuale del set di scalabilità quando il set di scalabilità di macchine virtuali è collegato a un gruppo di prenotazioni di capacità. È necessario eseguire singoli aggiornamenti a ogni macchina virtuale del set di scalabilità aggiornando la macchina virtuale con il modello di 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 capacityReservationGroup proprietà 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 capacityReservationGroup proprietà :

    "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 alla visualizzazione istanza

Dopo aver associato il set di scalabilità di macchine virtuali Uniform al gruppo di prenotazioni di capacità, tutte le allocazioni di macchine virtuali successive verranno evase rispetto alla prenotazione di capacità. Azure trova automaticamente la prenotazione di capacità corrispondente nel gruppo e usa uno slot riservato.

La vista istanza gruppo di prenotazione capacità rifletterà le nuove macchine virtuali del set di scalabilità nelle virtualMachinesAssociated & virtualMachinesAllocated proprietà, come illustrato di seguito:

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 zone di disponibilità

I set di scalabilità di macchine virtuali possono essere creati a livello di area o in uno o più zone di disponibilità per proteggerli da errori a livello di data center. Per altre informazioni sui set di scalabilità di macchine virtuali multi-zona, vedere Setdi scalabilità di macchine virtuali che usano zone di disponibilità .

Importante

La posizione (Area e zone di disponibilità) del set di scalabilità di macchine virtuali e del gruppo di prenotazione capacità deve corrispondere per l'esito positivo dell'associazione. Per un set di scalabilità a livello di area, l'area deve corrispondere tra il set di scalabilità e il gruppo di prenotazioni di capacità. Per un set di scalabilità di zona, sia le aree che le zone devono corrispondere tra il set di scalabilità e il gruppo di prenotazioni di capacità.

Quando un set di scalabilità viene distribuito tra più zone, tenta sempre di distribuire in modo uniforme tra le istanze zone di disponibilità. A causa di tale distribuzione, un gruppo di prenotazioni di capacità deve sempre avere la stessa quantità di macchine virtuali riservate in ogni zona. Come illustrazione del motivo per cui questo è importante, si consideri l'esempio seguente.

In questo esempio ogni zona ha una quantità riservata diversa. Si noti che il set di scalabilità di macchine virtuali viene ridimensionato a 75 istanze. Poiché il set di scalabilità tenterà sempre di distribuire in modo uniforme tra le zone, la distribuzione della macchina virtuale sarà simile alla seguente:

Zona Quantità riservata No. di macchine virtuali del set di scalabilità in ogni zona Quantità non utilizzata riservata Sovrassegnate
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 in Zona 1. Lo scale-out si basa anche su 5 macchine virtuali in Zona 2 e 10 macchine virtuali in Zona 3 che non sono protette dalla prenotazione della capacità. Se ogni zona avesse 25 istanze di capacità riservate, tutte le 75 macchine virtuali verrebbero protette dalla prenotazione della capacità e la distribuzione non comcurerebbe 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 per la prenotazione della capacità. Per altre informazioni, vedere Overallocating Capacity Reservation (Sovrassegnazione della prenotazione di capacità).

Passaggi successivi