Share via


Modificación de una reserva de capacidad

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

Después de crear un grupo de reserva de capacidad y una reserva de capacidad, es posible que quiera modificar las reservas. En este artículo se explica cómo realizar las siguientes acciones mediante la API, Azure Portal y PowerShell.

  • Actualizar el número de instancias reservadas en una reserva de capacidad
  • Cambiar el tamaño de las VM asociadas a un grupo de reserva de capacidad
  • Eliminar el grupo de reserva de capacidad y la reserva de capacidad

Actualización del número de instancias reservadas

Actualice el número de instancias de máquina virtual reservadas en una reserva de capacidad.

Importante

En ocasiones excepcionales, cuando Azure no puede satisfacer la solicitud para aumentar la cantidad reservada para las reservas de capacidad existentes, es posible que una reserva entre en estado de Error y deje de estar disponible hasta que la cantidad se restaure a la cantidad original.

    PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/CapacityReservationGroups/{CapacityReservationGroupName}/capacityReservations/{capacityReservationName}?api-version=2021-04-01

En el cuerpo de la solicitud, actualice la propiedad capacity al nuevo recuento que desea reservar:

{
    "sku":
    {
        "capacity": 5
    }
} 

Tenga en cuenta que la propiedad capacity se ha establecido en 5 en este ejemplo.

Cambio de tamaño de las VM asociadas a un grupo de reserva de capacidad

Debe realizar una de las siguientes acciones si la máquina virtual a la que se va a cambiar el tamaño está asociada actualmente a un grupo de reserva de capacidad y dicho grupo no tiene una reserva para el tamaño de destino:

  • Crear una nueva reserva para ese tamaño
  • Quitar la máquina virtual del grupo de reservas antes del cambio de tamaño

Compruebe si el tamaño de destino forma parte del grupo de reservas:

  1. Obtenga los nombres de todas las reservas de capacidad dentro del grupo.

        GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/CapacityReservationGroups/{CapacityReservationGroupName}?api-version=2021-04-01
    
    { 
        "name": "<CapacityReservationGroupName>", 
        "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{CapacityReservationGroupName}", 
        "type": "Microsoft.Compute/capacityReservationGroups", 
        "location": "eastUS", 
        "zones": [ 
            "1" 
        ], 
        "properties": { 
            "capacityReservations": [ 
                { 
                    "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{CapacityReservationGroupName}/capacityReservations/{capacityReservationName1}" 
                }, 
    { 
                    "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{CapacityReservationGroupName}/capacityReservations/{capacityReservationName2}" 
                } 
            ] 
        } 
    } 
    
  2. Averigüe el tamaño de VM reservado para cada reserva. El ejemplo siguiente corresponde a capacityReservationName1, pero puede repetir este paso para otras reservas.

        GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/CapacityReservationGroups/{CapacityReservationGroupName}/capacityReservations/{capacityReservationName1}?api-version=2021-04-01
    
    { 
        "name": "capacityReservationName1", 
        "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{CapacityReservationGroupName}/capacityReservations/{capacityReservationName1}", 
        "type": "Microsoft.Compute/capacityReservationGroups/capacityReservations", 
        "location": "eastUS", 
        "sku": { 
            "name": "Standard_D2s_v3", 
            "capacity": 3 
        }, 
        "zones": [ 
            "1" 
        ], 
        "properties": { 
            "reservationId": "<reservationId>", 
            "provisioningTime": "<provisioningTime>", 
            "provisioningState": "Succeeded" 
        } 
    }  
    
  3. Considere los siguientes escenarios:

    1. Si el tamaño de la VM de destino no forma parte del grupo, cree una nueva reserva de capacidad para la VM de destino.
    2. Si el tamaño de VM de destino ya existe en el grupo, cambie el tamaño de la máquina virtual.

Eliminación de un grupo de reserva de capacidad y una reserva de capacidad

Azure permite eliminar un grupo cuando se han eliminado todas las reservas de capacidad que forman parte de él y no hay VM asociadas al grupo.

Para eliminar una reserva de capacidad, primero busque todas las máquinas virtuales asociadas a ella. La lista de máquinas virtuales está disponible en la propiedad virtualMachinesAssociated.

En primer lugar, busque todas las máquinas virtuales asociadas al grupo de reserva de capacidad y desasócielas.

    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/virtualMachines/{VirtualMachineName1}" 
            }, 
            { 
                "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{VirtualMachineName2}" 
            } 
        ], 
        "instanceView": { 
            "capacityReservations": [ 
                { 
                    "name": "{capacityReservationName}", 
                    "utilizationInfo": { 
                        "virtualMachinesAllocated": [ 
                            { 
                                "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{VirtualMachineName1}" 
                            } 
                        ] 
                    }, 
                    "statuses": [ 
                        { 
                            "code": "ProvisioningState/succeeded", 
                            "level": "Info", 
                            "displayStatus": "Provisioning succeeded", 
                            "time": "<time>" 
                        } 
                    ] 
                } 
            ] 
        } 
    } 
}  

En la respuesta anterior, busque los nombres de todas las máquinas virtuales en la propiedad virtualMachinesAssociated y quítelas del grupo de reserva de capacidad mediante los pasos descritos en Eliminación de una asociación de VM a una reserva de capacidad.

Una vez que se quiten todas las máquinas virtuales del grupo de reserva de capacidad, elimine las reservas de capacidad que formen parte de él:

DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/CapacityReservationGroups/{CapacityReservationGroupName}/capacityReservations/{capacityReservationName}?api-version=2021-04-01

Por último, elimine el grupo de reserva de capacidad primario.

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

Restauración de la cantidad de la instancia

Una solicitud bien formada para reducir la cantidad reservada siempre debe completarse de forma correcta, independientemente del número de VM asociadas a la reserva. Sin embargo, aumentar la cantidad reservada puede requerir más cuota para que Azure cumpla la solicitud de capacidad adicional. En escenarios excepcionales, cuando Azure no pueda satisfacer la solicitud para aumentar la cantidad reservada de las reservas existentes, es posible que una reserva entre en estado de Error y deje de estar disponible hasta que la cantidad reservada se restaure a la cantidad original.

Nota

Si una reserva está en estado de Error, todas las VM asociadas a la reserva seguirán funcionando con normalidad.

Por ejemplo, supongamos que myCapacityReservation tiene una cantidad reservada de 5. Se solicitan 5 instancias adicionales, lo que hace que la cantidad total reservada sea igual a 10. Sin embargo, debido a una situación de capacidad restringida en la región, Azure no puede satisfacer la cantidad adicional de 5 solicitada. En este caso, myCapacityReservation no podrá cumplir su estado previsto de cantidades reservadas de 10, y pasará a un estado de Error.

Para resolver este error, siga estos pasos para buscar el valor reservado de cantidad anterior:

  1. En Azure Portal, diríjase a Application Change Analysis.
  2. Seleccione la Suscripción, el Grupo de recursos y el Intervalo de tiempo correspondientes en los filtros.
    • Solo puede volver hasta 14 días atrás en el filtro Intervalo de tiempo.
  3. Busque el nombre de la reserva de capacidad.
  4. Busque el cambio en la propiedad sku.capacity para esa reserva.
    • La cantidad antigua reservada será el valor de la columna Valor anterior.

Actualice myCapacityReservation a la cantidad anterior reservada. Una vez actualizada, la reserva estará disponible de inmediato para su uso con las máquinas virtuales.

Pasos siguientes