Compartir a través de


Asignación excesiva de reserva de capacidad

Se aplica a: ✔️ Máquinas virtuales Linux ✔️ Máquinas virtuales Windows ✔️ Conjunto de escalado uniforme ✔️ Conjuntos de escalado flexibles

Azure permite la asociación de máquinas virtuales adicionales por encima del número de reservas de capacidad. Estas máquinas virtuales están disponibles para permitir la ráfaga y otros escenarios de escalabilidad horizontal sin los límites de capacidad reservada. La única diferencia es que el número de máquinas virtuales más allá de la cantidad reservada no recibe la ventaja del Acuerdo de Nivel de Servicio de disponibilidad de capacidad. Siempre que Azure tenga capacidad disponible que cumpla los requisitos de la máquina virtual, las asignaciones adicionales se realizan correctamente.

La vista de instancia de un grupo de reserva de capacidad proporciona una instantánea de la utilización de cada reserva de capacidad que forma parte de él. Puede usar la vista de instancia para ver cómo funciona la sobreasignación.

En este artículo se da por supuesto que ha creado un grupo de reserva de capacidad (myCapacityReservationGroup), una reserva de capacidad que forma parte de él (myCapacityReservation) y una máquina virtual (myVM1) que está asociada al grupo. Vaya a los artículos sobre cómo crear una reserva de capacidad y cómo asociar una máquina virtual a una reserva de capacidad para obtener más detalles.

Vista de instancia del grupo de reserva de capacidad

La vista de instancia de un grupo de reserva de capacidad tiene el siguiente aspecto:

GET 
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/CapacityReservationGroups/myCapacityReservationGroup?$expand=instanceview&api-version=2021-04-01
{ 
    "name": "myCapacityReservationGroup", 
    "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/myCapacityReservationGroup", 
    "type": "Microsoft.Compute/capacityReservationGroups", 
    "location": "eastus", 
    "properties": { 
        "capacityReservations": [ 
            { 
                "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/MYCAPACITYRESERVATIONGROUP/capacityReservations/MYCAPACITYRESERVATION" 
            } 
        ], 
        "virtualMachinesAssociated": [ 
            { 
                "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/myVM1" 
            } 
        ], 
        "instanceView": { 
            "capacityReservations": [ 
                { 
                    "name": "myCapacityReservation", 
"utilizationInfo": { 
                        "virtualMachinesAllocated": [ 
                            { 
                                "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/myVM1" 
                            } 
                        ] 
                    }, 
                    "statuses": [ 
                        { 
                            "code": "ProvisioningState/succeeded", 
                            "level": "Info", 
                            "displayStatus": "Provisioning succeeded", 
                            "time": "<time>" 
                        } 
                    ] 
                } 
            ] 
        } 
    } 
} 

Digamos que creamos otra máquina virtual denominada myVM2 y la asociamos al grupo de reserva de capacidad anterior.

La vista de instancia del grupo de reserva de capacidad ahora tiene el siguiente aspecto:

{ 
    "name": "myCapacityReservationGroup", 
    "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/myCapacityReservationGroup", 
    "type": "Microsoft.Compute/capacityReservationGroups", 
    "location": "eastus", 
    "properties": { 
        "capacityReservations": [ 
            { 
                "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/MYCAPACITYRESERVATIONGROUP/capacityReservations/MYCAPACITYRESERVATION" 
            } 
        ], 
        "virtualMachinesAssociated": [ 
            { 
                "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/myVM1" 
            }, 
 { 
                "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/myVM2" 
            } 
        ], 
        "instanceView": { 
            "capacityReservations": [ 
                { 
                    "name": "myCapacityReservation", 
"utilizationInfo": { 
                        "virtualMachinesAllocated": [ 
                            { 
                                "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/myVM1" 
                            }, 
{ 
                "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/myVM2" 
            } 
                        ] 
                    }, 
                    "statuses": [ 
                        { 
                            "code": "ProvisioningState/succeeded", 
                            "level": "Info", 
                            "displayStatus": "Provisioning succeeded", 
                            "time": "<time>" 
                        } 
                    ] 
                } 
            ] 
        } 
    } 
} 

Observe que la longitud de virtualMachinesAllocated (2) es mayor que capacity (1). Este estado válido se conoce como sobreasignado.

Importante

Azure no detendrá las asignaciones solo porque una reserva de capacidad se consuma por completo. Las reglas de escalabilidad automática, la escalabilidad horizontal temporal y los requisitos relacionados funcionarán más allá de la cantidad de capacidad reservada, siempre y cuando Azure tenga capacidad disponible y se cumplan otras restricciones, como la cuota disponible.

Estados y consideraciones

Hay tres estados válidos para una reserva de capacidad determinada:

Estado Estado Consideraciones
Capacidad reservada disponible Longitud de virtualMachinesAllocated<capacity ¿Se necesita toda la capacidad reservada? Opcionalmente, reduzca la capacidad para reducir los costos.
Reserva consumida Longitud de virtualMachinesAllocated == capacity Las máquinas virtuales adicionales no recibirán el Acuerdo de Nivel de Servicio de capacidad a menos que se desasignen algunas máquinas virtuales existentes. Opcionalmente, intente aumentar la capacidad para que las máquinas virtuales planeadas adicionales reciban un Acuerdo de Nivel de Servicio.
Reserva sobreasignada Longitud de virtualMachinesAllocated>capacity Las máquinas virtuales adicionales no recibirán el Acuerdo de Nivel de Servicio de capacidad. Además, la cantidad de máquinas virtuales (longitud de virtualMachinesAllocatedcapacity) no recibirá un Acuerdo de Nivel de Servicio de capacidad si se desasigna. Opcionalmente, aumente la capacidad para agregar el Acuerdo de Nivel de Servicio de capacidad a más de las máquinas virtuales existentes.

Pasos siguientes