Freigeben über


Ändern einer Kapazitätsreservierung

Gilt für: ✔️ Linux-VMs ✔️ Windows-VMs ✔️ Einheitliche Skalierungsgruppen ✔️ Flexible Skalierungsgruppen

Nachdem Sie eine Kapazitätsreservierungsgruppe und eine Kapazitätsreservierung erstellt haben, möchten Sie Ihre Reservierungen möglicherweise ändern. In diesem Artikel wird erläutert, wie Sie die folgenden Schritte mithilfe der API, dem Azure-Portal und PowerShell ausführen.

  • Aktualisieren Sie die Anzahl der in einer Kapazitätsreservierung reservierten Instanzen.
  • Ändern Sie die Größe von VMs, die einer Kapazitätsreservierungsgruppe zugeordnet sind.
  • Löschen Sie die Kapazitätsreservierungsgruppe und die Kapazitätsreservierung.

Aktualisieren der Anzahl reservierter Instanzen

Aktualisieren Sie die Anzahl der in einer Kapazitätsreservierung reservierten VM-Instanzen.

Wichtig

In seltenen Fällen, in denen Azure die Anforderung zur Erhöhung der für vorhandene Kapazitätsreservierungen reservierten Menge nicht erfüllen kann, könnte eine Reservierung in den Status Fehler wechseln und nicht mehr verfügbar sein, bis die Menge auf den ursprünglichen Betrag wiederhergestellt ist.

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

Aktualisieren Sie im Anforderungstext die Eigenschaft capacity auf die neue Anzahl, die Sie reservieren möchten:

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

In diesem Beispiel wurde die Eigenschaft capacity jetzt auf 5 festgelegt.

Ändern der Größe von VMs, die einer Kapazitätsreservierungsgruppe zugeordnet sind

Sie müssen eine der folgenden Optionen ausführen, wenn die VM, deren Größe geändert wird, derzeit an eine Kapazitätsreservierungsgruppe angefügt ist und diese Gruppe über keine Reservierung für die Zielgröße verfügt:

  • Erstellen Sie eine neue Reservierung für diese Größe.
  • Entfernen Sie die VM aus der Reservierungsgruppe, bevor Sie die Größe ändern.

Überprüfen Sie, ob die Zielgröße Teil der Reservierungsgruppe ist.

  1. Rufen Sie die Namen aller Kapazitätsreservierungen innerhalb der Gruppe ab.

        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. Ermitteln Sie die für jede Reservierung reservierte VM-Größe. Das folgende Beispiel gilt für capacityReservationName1, aber Sie können diesen Schritt für andere Reservierungen wiederholen.

        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. Betrachten Sie die folgenden Szenarien:

Löschen einer Kapazitätsreservierungsgruppe und der Kapazitätsreservierung

Azure ermöglicht das Löschen einer Gruppe, wenn alle Mitgliedskapazitätsreservierungen gelöscht und der Gruppe keine VMs zugeordnet sind.

Um eine Kapazitätsreservierung zu löschen, suchen Sie zunächst alle VMs, die ihr zugeordnet sind. Die Liste der VMs ist unter der Eigenschaft virtualMachinesAssociated verfügbar.

Suchen Sie zunächst alle VMs, die der Kapazitätsreservierungsgruppe zugeordnet sind, und trennen Sie diese:

    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>" 
                        } 
                    ] 
                } 
            ] 
        } 
    } 
}  

Suchen Sie in der vorherigen Antwort die Namen aller VMs unter der Eigenschaft virtualMachinesAssociated. Entfernen Sie diese aus der Kapazitätsreservierungsgruppe, indem Sie die Schritte unter Entfernen einer VM-Zuordnung zu einer Kapazitätsreservierung verwenden.

Nachdem alle VMs aus der Kapazitätsreservierungsgruppe entfernt wurden, löschen Sie die Mitgliedskapazitätsreservierungen:

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

Löschen Sie abschließend die übergeordnete Kapazitätsreservierungsgruppe:

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

Instanzenmenge wiederherstellen

Eine wohlgeformte Anforderung zur Reduzierung der reservierten Menge sollte immer erfolgreich sein, unabhängig von der Anzahl der VMs, die der Reservierung zugeordnet sind. Das Erhöhen der reservierten Menge erfordert jedoch möglicherweise mehr Kontingent, und Azure muss die Anforderung für mehr Kapazität erfüllen. In einem seltenen Szenario, in dem Azure die Anforderung zur Erhöhung der für vorhandene Reservierungen reservierten Menge nicht erfüllen kann, ist es möglich, dass die Reservierung in den Status Fehler wechselt und nicht mehr verfügbar ist, bis die reservierte Menge auf die ursprüngliche Menge wiederhergestellt wurde.

Hinweis

Wenn sich eine Reservierung im Status Fehler befindet, funktionieren alle VMs, die der Reservierung zugeordnet sind, weiterhin wie gewohnt.

Nehmen wir zum Beispiel an, myCapacityReservation hat 5 Instanzen reserviert. Sie fordern 5 zusätzliche Instanzen an, wodurch die reservierte Gesamtmenge gleich 10 wird. Aufgrund einer eingeschränkten Kapazität in der Region kann Azure jedoch die von Ihnen angeforderten 5 zusätzlichen Instanzen nicht bereitstellen. In diesem Fall verfehlt myCapacityReservation die vorgesehene Anzahl von 10 reservierten Instanzen und geht in den Status Fehler über.

Um diesen Fehler zu beheben, führen Sie die folgenden Schritte aus, um den alten reservierten Wert für die Menge zu ermitteln:

  1. Wechseln Sie im Azure-Portal zu Anwendungsänderungsanalyse.
  2. Wählen Sie die entsprechenden Einstellungen für Abonnement, Ressourcengruppe und Zeitbereich in den Filtern aus. Sie können im Filter Zeitbereich nur bis zu 14 Tage zurückgehen.
  3. Suchen Sie nach dem Namen der Kapazitätsreservierung.
  4. Suchen Sie nach der Änderung in der Eigenschaft sku.capacity für diese Reservierung. Die alte reservierte Menge ist der Wert in der Spalte Alter Wert.

Aktualisieren Sie myCapacityReservation auf die alte reservierte Menge. Nach der Aktualisierung ist die Reservierung sofort für die Verwendung mit Ihren VMs verfügbar.

Nächster Schritt