다음을 통해 공유


용량 예약 수정

적용 대상: ✔️ Linux VM ✔️ Windows VM ✔️ 균일한 확장 집합 ✔️ 유연한 확장 집합

용량 예약 그룹과 용량 예약을 만든 후 예약을 수정할 수 있습니다. 이 문서에서는 API, Azure Portal 및 PowerShell을 사용하여 다음 작업을 수행하는 방법을 설명합니다.

  • 용량 예약에 예약된 인스턴스 수를 업데이트합니다.
  • 용량 예약 그룹에 연결된 VM 크기를 조정합니다.
  • 용량 예약 그룹 및 용량 예약을 삭제합니다.

예약된 인스턴스 수 업데이트

용량 예약에 예약된 VM(가상 머신) 인스턴스 수를 업데이트합니다.

Important

드물지만 Azure에서 기존 용량 예약에 예약된 수량을 늘리라는 요청을 처리할 수 없는 경우 예약은 실패 상태로 전환되고 수량이 원래 용량으로 복원될 때까지 사용할 수 없게 될 수 있습니다.

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

요청 본문에서 capacity 속성을 예약 하려는 새 카운트로 업데이트합니다.

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

이 예제에서 capacity 속성은 이제 5(으)로 설정됩니다.

용량 예약 그룹에 연결된 VM 크기 조정

크기 조정 중인 VM이 현재 용량 예약 그룹에 연결되어 있고 해당 그룹에 대상 크기에 대한 예약이 없는 경우 다음 옵션 중 하나를 수행해야 합니다.

  • 해당 크기에 대한 새 예약을 만듭니다.
  • 크기를 조정하기 전에 예약 그룹에서 VM을 제거합니다.

대상 크기가 예약 그룹의 일부인지 확인합니다.

  1. 그룹 내의 모든 용량 예약 이름을 가져옵니다.

        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. 각 예약에 예약된 VM 크기를 확인합니다. 다음 예는 capacityReservationName1에 대한 것이지만, 다른 예약에 대해 이 단계를 반복할 수 있습니다.

        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. 다음 시나리오를 고려하세요.

용량 예약 그룹과 용량 예약 삭제

Azure에서는 모든 멤버 용량 예약이 삭제되고 VM이 그룹에 연결되지 않은 경우 그룹을 삭제할 수 있습니다.

용량 예약을 삭제하려면 먼저 연결된 모든 VM을 확인합니다. VM 목록은 virtualMachinesAssociated 속성에서 사용할 수 있습니다.

먼저 용량 예약 그룹에 연결된 모든 VM을 찾아 분리합니다.

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

앞의 응답에서 virtualMachinesAssociated 속성 아래에 있는 모든 VM의 이름을 찾습니다. 용량 예약에 대한 VM 연결 제거의 단계를 사용하여 용량 예약 그룹에서 제거합니다.

모든 VM이 용량 예약 그룹에서 제거된 후 멤버 용량 예약을 삭제합니다.

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

마지막으로, 부모 용량 예약 그룹을 삭제하세요.

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

인스턴스 수량 복원

예약 수량을 줄이기 위한 올바른 형식의 요청은 예약에 연결된 VM 수에 관계없이 항상 성공해야 합니다. 그러나 예약된 수량을 늘리려면 더 많은 할당량이 필요할 수 있으며 Azure가 더 많은 용량에 대한 요청을 충족해야 합니다. 드문 시나리오지만 Azure에서 기존 예약의 예약 수량을 늘리라는 요청을 처리할 수 없는 경우에는 예약이 실패 상태로 전환되어 예약된 수량이 원래 수량으로 복원될 때까지 사용할 수 없게 될 수 있습니다.

참고 항목

예약이 실패 상태이면 예약에 연결된 모든 VM이 정상적으로 계속 작동합니다.

예를 들어 myCapacityReservation에 5개의 인스턴스가 예약되어 있다고 가정해 보겠습니다. 5개의 추가 인스턴스를 요청하면 예약된 총 수량이 10과 같습니다. 그러나 이 지역의 제한된 용량 상황으로 인해 Azure는 사용자가 요청한 추가 5개의 인스턴스를 처리할 수 없습니다. 이 경우 myCapacityReservation은 의도한 10개의 예약 인스턴스 상태를 충족하지 못하고 실패 상태로 전환됩니다.

이 오류를 해결하려면 다음 단계에 따라 이전 수량 예약 값을 찾으세요.

  1. Azure Portal에서 애플리케이션 변경 분석으로 이동합니다.
  2. 필터에서 해당되는 구독, 리소스 그룹시간 범위 설정을 선택합니다. 시간 범위 필터에서 과거 14일까지만 백업할 수 있습니다.
  3. 용량 예약의 이름을 검색합니다
  4. 해당 예약에 대한 sku.capacity 속성의 변경 사항을 찾습니다. 예약된 이전 수량은 이전 값 열 아래의 값입니다.

예약된 이전 수량으로 myCapacityReservation을 업데이트합니다. 업데이트된 후에는 VM에서 즉시 예약을 사용할 수 있습니다.

다음 단계