다음을 통해 공유


용량 예약 수정

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

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

  • 용량 예약에 예약된 인스턴스 수 업데이트
  • 용량 예약 그룹과 연결된 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이 현재 용량 예약 그룹에 연결되어 있고 해당 그룹에 대상 크기에 대한 예약이 없는 경우 다음 옵션 중 하나를 수행해야 합니다.

  • 해당 크기에 대한 새 예약 만들기
  • 크기를 조정하기 전에 예약 그룹에서 가상 머신을 제거합니다.

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

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

    1. 대상 VM 크기가 그룹의 일부가 아닌 경우 대상 VM에 대한 새 용량 예약을 만듭니다.
    2. 대상 VM 크기가 이미 그룹에 있는 경우, 가상 머신의 크기를 조정합니다

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

모든 구성원 용량 예약이 삭제되고 그룹에 연결된 가상 머신이 없는 경우, Azure에서 그룹을 삭제할 수 있습니다.

용량 예약을 삭제하려면 먼저 연결된 모든 가상 머신을 찾습니다. 가상 머신의 목록은 virtualMachinesAssociated 속성에서 사용할 수 있습니다.

먼저 용량 예약 그룹과 연결된 모든 가상 머신을 찾아 분리합니다.

    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 연결 제거 단계를 사용하여 용량 예약 그룹에서 제거합니다.

모든 가상 머신이 용량 예약 그룹에서 제거되면 구성원 용량 예약을 삭제합니다.

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 포털에서 애플리케이션 변경 분석으로 이동합니다
  2. 필터에서 구독, 리소스 그룹, 시간 범위를 선택합니다
    • 시간 범위 필터에서 지난 14일까지만 백업할 수 있습니다
  3. 용량 예약의 이름 검색
  4. 해당 예약에 대한 sku.capacity 속성의 변경을 찾습니다
    • 예약된 이전 수량은 이전 값 열 아래의 값이 됩니다

예약된 이전 수량으로 myCapacityReservation을 업데이트합니다. 업데이트된 후에는 가상 머신에 대한 예약을 즉시 사용할 수 있습니다.

다음 단계