Ä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.
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}" } ] } }
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" } }
Betrachten Sie die folgenden Szenarien:
- Wenn die Ziel-VM-Größe nicht Teil der Gruppe ist, erstellen Sie eine neue Kapazitätsreservierung für die Ziel-VM.
- Wenn die Ziel-VM-Größe bereits in der Gruppe vorhanden ist, ändern Sie die Größe der VM.
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:
- Wechseln Sie im Azure-Portal zu Anwendungsänderungsanalyse.
- 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.
- Suchen Sie nach dem Namen der Kapazitätsreservierung.
- 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.