Azure 가상 머신 확장 집합 인스턴스에 대한 인스턴스 보호Instance Protection for Azure virtual machine scale set instances

Azure 가상 머신 확장 집합을 사용하면 자동 크기 조정을 통해 워크로드에 대해 더 나은 탄력성을 사용할 수 있으므로 인프라가 스케일 아웃될 때와 규모가 감축될 때를 구성할 수 있습니다.Azure virtual machine scale sets enable better elasticity for your workloads through Autoscale, so you can configure when your infrastructure scales-out and when it scales-in. 또한 확장 집합을 사용하면 다양한 업그레이드 정책 설정을 통해 많은 수의 VM을 중앙에서 관리, 구성 및 업데이트할 수 있습니다.Scale sets also enable you to centrally manage, configure, and update a large number of VMs through different upgrade policy settings. 업그레이드 정책을 자동 또는 롤링으로 설정한 경우 확장 집합 모델에 대해 업데이트를 구성할 수 있으며 새 구성은 모든 확장 집합 인스턴스에 자동으로 적용됩니다.You can configure an update on the scale set model and the new configuration is applied automatically to every scale set instance if you've set the upgrade policy to Automatic or Rolling.

애플리케이션에서 트래픽을 처리할 때 특정 인스턴스를 확장 집합 인스턴스의 나머지 부분과 다르게 처리하려는 상황이 있을 수 있습니다.As your application processes traffic, there can be situations where you want specific instances to be treated differently from the rest of the scale set instance. 예를 들어, 확장 집합의 특정 인스턴스는 장기 실행 작업을 수행할 수 있으며, 작업이 완료될 때까지 이러한 인스턴스의 규모를 감축하지 않으려고 할 수 있습니다.For example, certain instances in the scale set could be performing long-running operations, and you don't want these instances to be scaled-in until the operations complete. 확장 집합의 일부 인스턴스는 확장 집합의 다른 멤버와는 다른 작업을 수행하기 위해 확장 집합에서 몇 가지 인스턴스를 특수화했을 수도 있습니다.You might also have specialized a few instances in the scale set to perform additional or different tasks than the other members of the scale set. 이러한 '특별' VM은 확장 집합의 다른 인스턴스로 수정하지 않아도 됩니다.You require these 'special' VMs not to be modified with the other instances in the scale set. 인스턴스 보호는 애플리케이션에 대해 이러한 시나리오와 기타 시나리오를 사용할 수 있도록 하는 추가 컨트롤을 제공합니다.Instance protection provides the additional controls to enable these and other scenarios for your application.

이 문서에서는 확장 집합 인스턴스를 사용하여 다양 한 인스턴스 보호 기능을 적용하고 사용하는 방법을 설명합니다.This article describes how you can apply and use the different instance protection capabilities with scale set instances.

인스턴스 보호의 유형Types of instance protection

확장 집합은 다음과 같은 두 가지 유형의 인스턴스 보호 기능을 제공합니다.Scale sets provide two types of instance protection capabilities:

  • 규모 감축으로부터 보호Protect from scale-in

    • 확장 집합 인스턴스에서 protectFromScaleIn 속성을 통해 사용하도록 설정됨Enabled through protectFromScaleIn property on the scale set instance
    • 자동 크기 조정으로 시작된 규모 감축으로부터 인스턴스 보호Protects instance from Autoscale initiated scale-in
    • 사용자가 시작한 인스턴스 작업(인스턴스 삭제 포함)이 차단되지 않음User-initiated instance operations (including instance delete) are not blocked
    • 확장 집합에서 시작된 작업(업그레이드, 이미지로 다시 설치, 할당 취소 등)은 차단되지 않음Operations initiated on the scale set (upgrade, reimage, deallocate, etc.) are not blocked
  • 확장 집합 작업으로부터 보호Protect from scale set actions

    • 확장 집합 인스턴스에서 protectFromScaleSetActions 속성을 통해 사용하도록 설정됨Enabled through protectFromScaleSetActions property on the scale set instance
    • 자동 크기 조정으로 시작된 규모 감축으로부터 인스턴스 보호Protects instance from Autoscale initiated scale-in
    • 확장 집합에서 시작된 작업(예: 업그레이드, 이미지로 다시 설치, 할당 취소 등)에서 인스턴스 보호Protects instance from operations initiated on the scale set (such as upgrade, reimage, deallocate, etc.)
    • 사용자가 시작한 인스턴스 작업(인스턴스 삭제 포함)이 차단되지 않음User-initiated instance operations (including instance delete) are not blocked
    • 전체 확장 집합의 삭제는 차단되지 않음Delete of the full scale set is not blocked

규모 감축으로부터 보호Protect from scale-in

인스턴스를 만든 후에 확장 집합 인스턴스에 인스턴스 보호를 적용할 수 있습니다.Instance protection can be applied to scale set instances after the instances are created. 보호는 인스턴스 모델에만 적용되고 수정되며 확장 집합 모델에는 적용되지 않습니다.Protection is applied and modified only on the instance model and not on the scale set model.

아래 예제에 자세히 설명된 대로 확장 집합 인스턴스에 규모 감축 보호를 적용하는 여러 가지 방법이 있습니다.There are multiple ways of applying scale-in protection on your scale set instances as detailed in the examples below.

Azure portalAzure portal

Azure Portal를 통해 확장 집합의 인스턴스에 규모 감축 보호를 적용할 수 있습니다.You can apply scale-in protection through the Azure portal to an instance in the scale set. 한 번에 두 개 이상의 인스턴스를 조정할 수 없습니다.You cannot adjust more than one instance at a time. 보호하려는 각 인스턴스에 대해 이러한 단계를 반복합니다.Repeat the steps for each instance you want to protect.

  1. 기존 가상 머신 확장 집합으로 이동합니다.Go to an existing virtual machine scale set.
  2. 왼쪽의 메뉴에서 설정 아래의 인스턴스 를 선택합니다.Select Instances from the menu on the left, under Settings .
  3. 보호하려는 인스턴스의 이름을 선택합니다.Select the name of the instance you want to protect.
  4. 보호 정책 탭을 선택합니다.Select the Protection Policy tab.
  5. 보호 정책 블레이드에서 규모 감축으로부터 보호 옵션을 선택합니다.In the Protection Policy blade, select the Protect from scale-in option.
  6. 저장 을 선택합니다.Select Save .

REST APIREST API

다음 예제에서는 확장 집합의 인스턴스에 규모 감축 보호를 적용합니다.The following example applies scale-in protection to an instance in the scale set.

PUT on `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instance-id}?api-version=2019-03-01`
{
  "properties": {
    "protectionPolicy": {
      "protectFromScaleIn": true
    }
  }        
}

참고

인스턴스 보호는 API 버전 2019-03-01 이상에서만 지원됩니다.Instance protection is only supported with API version 2019-03-01 and above

Azure PowerShellAzure PowerShell

Update-AzVmssVM cmdlet을 사용하여 확장 집합 인스턴스에 규모 감축 보호를 적용할 수 있습니다.Use the Update-AzVmssVM cmdlet to apply scale-in protection to your scale set instance.

다음 예제에서는 인스턴스 ID가 0인 확장 집합의 인스턴스에 규모 감축 보호를 적용합니다.The following example applies scale-in protection to an instance in the scale set having instance ID 0.

Update-AzVmssVM `
  -ResourceGroupName "myResourceGroup" `
  -VMScaleSetName "myVMScaleSet" `
  -InstanceId 0 `
  -ProtectFromScaleIn $true

Azure CLI 2.0Azure CLI 2.0

az vmss update를 사용하여 확장 집합 인스턴스에 규모 감축 보호를 적용할 수 있습니다.Use az vmss update to apply scale-in protection to your scale set instance.

다음 예제에서는 인스턴스 ID가 0인 확장 집합의 인스턴스에 규모 감축 보호를 적용합니다.The following example applies scale-in protection to an instance in the scale set having instance ID 0.

az vmss update \  
  --resource-group <myResourceGroup> \
  --name <myVMScaleSet> \
  --instance-id 0 \
  --protect-from-scale-in true

확장 집합 작업으로부터 보호Protect from scale set actions

인스턴스를 만든 후에 확장 집합 인스턴스에 인스턴스 보호를 적용할 수 있습니다.Instance protection can be applied to scale set instances after the instances are created. 보호는 인스턴스 모델에만 적용되고 수정되며 확장 집합 모델에는 적용되지 않습니다.Protection is applied and modified only on the instance model and not on the scale set model.

확장 집합 작업에서 인스턴스를 보호하면 자동 크기 조정으로 시작된 규모 감축에서 인스턴스를 보호할 수도 있습니다.Protecting an instance from scale set actions also protects the instance from Autoscale initiated scale-in.

아래 예제에 자세히 설명된 대로 확장 집합 인스턴스에 확장 집합 작업 보호를 적용하는 여러 가지 방법이 있습니다.There are multiple ways of applying scale set actions protection on your scale set instances as detailed in the examples below.

Azure portalAzure portal

Azure Portal를 통해 확장 집합 작업에서 확장 집합의 인스턴스로 보호를 적용할 수 있습니다.You can apply protection from scale set actions through the Azure portal to an instance in the scale set. 한 번에 두 개 이상의 인스턴스를 조정할 수 없습니다.You cannot adjust more than one instance at a time. 보호하려는 각 인스턴스에 대해 이러한 단계를 반복합니다.Repeat the steps for each instance you want to protect.

  1. 기존 가상 머신 확장 집합으로 이동합니다.Go to an existing virtual machine scale set.
  2. 왼쪽의 메뉴에서 설정 아래의 인스턴스 를 선택합니다.Select Instances from the menu on the left, under Settings .
  3. 보호하려는 인스턴스의 이름을 선택합니다.Select the name of the instance you want to protect.
  4. 보호 정책 탭을 선택합니다.Select the Protection Policy tab.
  5. 보호 정책 블레이드에서 확장 집합 작업으로부터 보호 옵션을 선택합니다.In the Protection Policy blade, select the Protect from scale set actions option.
  6. 저장 을 선택합니다.Select Save .

REST APIREST API

다음 예제에서는 확장 집합 작업에서 확장 집합의 인스턴스로 보호를 적용합니다.The following example applies protection from scale set actions to an instance in the scale set.

PUT on `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vMScaleSetName}/virtualMachines/{instance-id}?api-version=2019-03-01`
{
  "properties": {
    "protectionPolicy": {
      "protectFromScaleIn": true,
      "protectFromScaleSetActions": true
    }
  }        
}

참고

인스턴스 보호는 API 버전 2019-03-01 이상에서만 지원됩니다.Instance protection is only supported with API version 2019-03-01 and above.
확장 집합 작업에서 인스턴스를 보호하면 자동 크기 조정으로 시작된 규모 감축에서 인스턴스를 보호할 수도 있습니다.Protecting an instance from scale set actions also protects the instance from Autoscale initiated scale-in. "protectFromScaleSetActions": true를 설정하는 경우 "protectFromScaleIn": false를 지정할 수 없습니다.You can't specify "protectFromScaleIn": false when setting "protectFromScaleSetActions": true

Azure PowerShellAzure PowerShell

Update-AzVmssVM cmdlet을 사용하여 확장 집합 작업에서 확장 집합 인스턴스로 보호를 적용할 수 있습니다.Use the Update-AzVmssVM cmdlet to apply protection from scale set actions to your scale set instance.

다음 예제에서는 확장 집합 작업에서 인스턴스 ID가 0인 확장 집합의 인스턴스로 보호를 적용합니다.The following example applies protection from scale set actions to an instance in the scale set having instance ID 0.

Update-AzVmssVM `
  -ResourceGroupName "myResourceGroup" `
  -VMScaleSetName "myVMScaleSet" `
  -InstanceId 0 `
  -ProtectFromScaleIn $true `
  -ProtectFromScaleSetAction $true

Azure CLI 2.0Azure CLI 2.0

az vmss update를 사용하여 확장 집합 작업에서 확장 집합 인스턴스로 보호를 적용할 수 있습니다.Use az vmss update to apply protection from scale set actions to your scale set instance.

다음 예제에서는 확장 집합 작업에서 인스턴스 ID가 0인 확장 집합의 인스턴스로 보호를 적용합니다.The following example applies protection from scale set actions to an instance in the scale set having instance ID 0.

az vmss update \  
  --resource-group <myResourceGroup> \
  --name <myVMScaleSet> \
  --instance-id 0 \
  --protect-from-scale-in true \
  --protect-from-scale-set-actions true

문제 해결Troubleshoot

확장 집합 모델에 protectionPolicy가 없음No protectionPolicy on scale set model

인스턴스 보호는 확장 집합에만 적용되고 확장 집합 모델에는 적용되지 않습니다.Instance protection is only applicable on scale set instances and not on the scale set model.

확장 집합 인스턴스 모델에 protectionPolicy가 없음No protectionPolicy on scale set instance model

기본적으로 보호 정책이 생성될 때 인스턴스에 적용되지 않습니다.By default, protection policy is not applied to an instance when it is created.

인스턴스를 만든 후 인스턴스 보호를 확장 집합 인스턴스에 적용할 수 있습니다.You can apply instance protection to scale set instances after the instances are created.

인스턴스 보호를 적용할 수 없음Not able to apply instance protection

인스턴스 보호는 API 버전 2019-03-01 이상에서만 지원됩니다.Instance protection is only supported with API version 2019-03-01 and above. 사용 중인 API 버전을 확인하고 필요에 따라 업데이트합니다.Check the API version being used and update as required. PowerShell 또는 CLI를 최신 버전으로 업데이트해야 할 수도 있습니다.You might also need to update your PowerShell or CLI to the latest version.

다음 단계Next steps

가상 머신 확장 집합에 애플리케이션을 배포하는 방법에 대해 알아봅니다.Learn how to deploy your application on virtual machine scale sets.