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, können Sie Ihre Reservierungen ändern. In diesem Artikel wird erläutert, wie Sie die folgenden Schritte mithilfe von API, Azure-Portal und PowerShell ausführen.

  • Aktualisieren der Anzahl der in einer Kapazitätsreservierung reservierten Instanzen
  • Ändern der Größe von VMs, die einer Kapazitätsreservierungsgruppe zugeordnet sind
  • Löschen der Kapazitätsreservierungsgruppe und der 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, ist es möglich, dass eine Reservierung in den Status Fehler wechselt und nicht mehr verfügbar ist, bis die Menge auf den ursprünglichen Betrag wiederhergestellt wurde.

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

Beachten Sie, dass die Eigenschaft capacity in diesem Beispiel jetzt auf 5 festgelegt ist.

Ä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 keine Reservierung für die Zielgröße hat:

  • Erstellen einer neuen Reservierung für diese Größe
  • Entfernen Sie den virtuellen Computer 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:

    1. Wenn die Ziel-VM-Größe nicht Teil der Gruppe ist, erstellen Sie eine neue Kapazitätsreservierung für die Ziel-VM.
    2. Wenn die Größe des virtuellen Zielcomputers bereits in der Gruppe vorhanden ist, ändern Sie die Größe des virtuellen Computers.

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

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

Um eine Kapazitätsreservierung zu löschen, ermitteln 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 heben Sie die Zuordnung auf.

    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 obigen Antwort die Namen aller virtuellen Computer unter der Eigenschaft virtualMachinesAssociated, und entfernen Sie sie aus der Kapazitätsreservierungsgruppe, indem Sie die Schritte unter Entfernen einer VM-Zuordnung zu einer Kapazitätsreservierung ausführen.

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

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. Die Erhöhung der reservierten Menge kann jedoch ein höheres Kontingent erfordern, damit Azure die zusätzliche Kapazitätsanforderung erfüllen kann. 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 virtuellen Computer, die der Reservierung zugeordnet sind, weiterhin wie gewohnt.

Beispiel: myCapacityReservation hat eine reservierte Menge von 5. Sie fordern 5 zusätzliche Instanzen an, sodass die reservierte Gesamtmenge 10 beträgt. Aufgrund einer eingeschränkten Kapazität in der Region kann Azure jedoch die angeforderten zusätzlichen Menge von 5 nicht erfüllen. In diesem Fall erreicht myCapacityReservation den vorgesehenen Status einer reservierten Menge von 10 nicht und der Status Fehlgeschlagen wird angezeigt.

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

  1. Navigieren Sie zu Anwendungsänderungsanalyse im Azure-Portal
  2. Wählen Sie entsprechend 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ächste Schritte