Compartir por


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, puede 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.
  • Cambio del 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 (VM) 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, una reserva podría entrar en estado de Error y dejar 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
    }
} 

En este ejemplo, la propiedad capacity ahora está establecida en 5.

Cambio del 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.
  • Quite la máquina virtual del grupo de reservas antes de cambiar el 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:

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

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

Para eliminar una reserva de capacidad, primero averigüe 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. Quítelos del grupo de reservas de capacidad mediante los pasos descritos en Eliminar una asociación de máquina virtual a una reserva de capacidad.

Después de quitar todas las máquinas virtuales del grupo de reserva de capacidad, elimine las reservas de capacidad del miembro:

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 podría requerir más cuota y que Azure cumpla la solicitud de más capacidad. En escenarios excepcionales, cuando Azure no pueda satisfacer la solicitud para aumentar la cantidad reservada para las reservas existentes, la reserva podría entrar en un estado de Error y dejar 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 siguen funcionando con normalidad.

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

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

  1. En Azure Portal, vaya a Application Change Analysis.
  2. Seleccione la Suscripción, el Grupo de recursos y la configuración de 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 es el valor de la columna Valor anterior.

Actualice myCapacityReservation a la cantidad anterior reservada. Una vez actualizado, la reserva está disponible inmediatamente para su uso con las máquinas virtuales.

Paso siguiente