Exemplaarbeveiliging voor instanties van virtuele-machineschaalsets in Azure

Virtuele-machineschaalsets van Azure zorgen voor betere elasticiteit voor uw workloads via automatische schaalaanpassing, zodat u kunt configureren wanneer uw infrastructuur wordt uitgeschaald en wanneer deze wordt ingeschaald. Met schaalsets kunt u ook een groot aantal VM's centraal beheren, configureren en bijwerken via verschillende instellingen voor upgradebeleid . U kunt een update voor het schaalsetmodel configureren en de nieuwe configuratie wordt automatisch toegepast op elk exemplaar van de schaalset als u het upgradebeleid hebt ingesteld op Automatisch of Rolling.

Wanneer uw toepassing verkeer verwerkt, kunnen er situaties zijn waarin u wilt dat specifieke exemplaren anders worden behandeld dan de rest van de schaalsetinstantie. Bepaalde exemplaren in de schaalset kunnen bijvoorbeeld langlopende bewerkingen uitvoeren en u wilt niet dat deze exemplaren worden ingeschaald totdat de bewerkingen zijn voltooid. Mogelijk hebt u ook enkele exemplaren in de schaalset gespecialiseerd om extra of andere taken uit te voeren dan de andere leden van de schaalset. U wilt dat deze speciale VM's niet worden gewijzigd met de andere exemplaren in de schaalset. Instantiebeveiliging biedt de aanvullende besturingselementen voor het inschakelen van deze en andere scenario's voor uw toepassing.

In dit artikel wordt beschreven hoe u de verschillende mogelijkheden voor exemplaarbeveiliging kunt toepassen en gebruiken met schaalsetexemplaren.

Typen exemplaarbeveiliging

Schaalsets bieden twee typen mogelijkheden voor exemplaarbeveiliging:

  • Beveiligen tegen inschalen

    • Ingeschakeld via de eigenschap protectFromScaleIn op het exemplaar van de schaalset
    • Beveiligt exemplaren tegen automatisch schalen geïnitieerde inschalen
    • Door de gebruiker geïnitieerde exemplaarbewerkingen (inclusief het verwijderen van exemplaren) worden niet geblokkeerd
    • Bewerkingen die zijn geïnitieerd op de schaalset (upgrade, opnieuw maken, toewijzing ongedaan maken, enzovoort) worden niet geblokkeerd
  • Beveiligen tegen schaalsetacties

    • Ingeschakeld via de eigenschap protectFromScaleSetActions op het schaalsetexemplaren
    • Beveiligt exemplaren tegen automatisch schalen geïnitieerde inschalen
    • Beveiligt exemplaren tegen bewerkingen die zijn geïnitieerd op de schaalset (zoals upgrade, reimage, toewijzing ongedaan maken, enzovoort)
    • Door de gebruiker geïnitieerde exemplaarbewerkingen (inclusief het verwijderen van exemplaren) worden niet geblokkeerd
    • Verwijderen van de volledige schaalset wordt niet geblokkeerd

Beveiligen tegen inschalen

Exemplaarbeveiliging kan worden toegepast op schaalsetexemplaren nadat de exemplaren zijn gemaakt. Beveiliging wordt alleen toegepast en gewijzigd op het exemplaarmodel en niet op het schaalsetmodel.

Er zijn meerdere manieren om inschaalbeveiliging toe te passen op uw schaalsetexemplaren, zoals beschreven in de onderstaande voorbeelden.

Azure Portal

U kunt inschalen via Azure Portal toepassen op een exemplaar in de schaalset. U kunt niet meer dan één exemplaar tegelijk aanpassen. Herhaal de stappen voor elk exemplaar dat u wilt beveiligen.

  1. Ga naar een bestaande virtuele-machineschaalset.
  2. Selecteer Exemplaren in het menu aan de linkerkant, onder Instellingen.
  3. Selecteer de naam van het exemplaar dat u wilt beveiligen.
  4. Selecteer het tabblad Beveiligingsbeleid .
  5. Selecteer op de blade Beveiligingsbeleid de optie Beveiligen tegen inschalen .
  6. Selecteer Opslaan.

REST-API

In het volgende voorbeeld wordt beveiliging tegen inschalen toegepast op een exemplaar in de schaalset.

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

Notitie

Met de flexibele indelingsmodus wordt exemplaarbeveiliging alleen ondersteund met API-versie 2023-09-01 en hoger. Voor de uniformindelingsmodus is exemplaarbeveiliging beschikbaar met API-versie 2019-03-01 en hoger.

Azure PowerShell

Gebruik de cmdlet Update-AzVmssVM om inschaalbeveiliging toe te passen op uw exemplaar van de schaalset.

In het volgende voorbeeld wordt beveiliging tegen inschalen toegepast op een exemplaar in de schaalset met exemplaar-id 0.

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

Azure CLI 2.0

Gebruik az vmss update om scale-in protection toe te passen op uw exemplaar van de schaalset.

In het volgende voorbeeld wordt beveiliging tegen inschalen toegepast op een exemplaar in de schaalset met exemplaar-id 0.

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

Beveiligen tegen schaalsetacties

Exemplaarbeveiliging kan worden toegepast op schaalsetexemplaren nadat de exemplaren zijn gemaakt. Beveiliging wordt alleen toegepast en gewijzigd op het exemplaarmodel en niet op het schaalsetmodel.

Als u een exemplaar beveiligt tegen schaalsetacties, wordt het exemplaar ook beschermd tegen automatisch schalen geïnitieerde inschalen.

Er zijn meerdere manieren om beveiliging van schaalsetacties toe te passen op uw schaalsetexemplaren, zoals beschreven in de onderstaande voorbeelden.

Azure Portal

U kunt beveiliging van schaalsetacties via Azure Portal toepassen op een exemplaar in de schaalset. U kunt niet meer dan één exemplaar tegelijk aanpassen. Herhaal de stappen voor elk exemplaar dat u wilt beveiligen.

  1. Ga naar een bestaande virtuele-machineschaalset.
  2. Selecteer Exemplaren in het menu aan de linkerkant, onder Instellingen.
  3. Selecteer de naam van het exemplaar dat u wilt beveiligen.
  4. Selecteer het tabblad Beveiligingsbeleid .
  5. Selecteer op de blade Beveiligingsbeleid de optie Beveiligen tegen schaalsetacties .
  6. Selecteer Opslaan.

REST-API

In het volgende voorbeeld wordt beveiliging van schaalsetacties toegepast op een exemplaar in de schaalset.

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

Notitie

Exemplaarbeveiliging wordt alleen ondersteund met API-versie 2019-03-01 en hoger.
Als u een exemplaar beveiligt tegen schaalsetacties, wordt het exemplaar ook beschermd tegen automatisch schalen geïnitieerde inschalen. U kunt 'protectFromScaleIn' niet opgeven: false bij het instellen van protectFromScaleSetActions: true

Azure PowerShell

Gebruik de cmdlet Update-AzVmssVM om beveiliging van schaalsetacties toe te passen op uw exemplaar van de schaalset.

In het volgende voorbeeld wordt beveiliging van schaalsetacties toegepast op een exemplaar in de schaalset met exemplaar-id 0.

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

Azure CLI 2.0

Gebruik az vmss update om beveiliging van schaalsetacties toe te passen op uw exemplaar van de schaalset.

In het volgende voorbeeld wordt beveiliging van schaalsetacties toegepast op een exemplaar in de schaalset met exemplaar-id 0.

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

Problemen oplossen

Geen protectionPolicy op schaalsetmodel

Instantiebeveiliging is alleen van toepassing op schaalsetexemplaren en niet op het schaalsetmodel.

Geen protectionPolicy in het exemplaarmodel van de schaalset

Standaard wordt beveiligingsbeleid niet toegepast op een exemplaar wanneer het wordt gemaakt.

U kunt exemplaarbeveiliging toepassen op schaalsetexemplaren nadat de exemplaren zijn gemaakt.

Kan geen exemplaarbeveiliging toepassen

Exemplaarbeveiliging wordt alleen ondersteund met API-versie 2019-03-01 en hoger. Controleer de API-versie die wordt gebruikt en werk deze indien nodig bij. Mogelijk moet u uw PowerShell of CLI ook bijwerken naar de nieuwste versie.

Volgende stappen

Meer informatie over het implementeren van uw toepassing op virtuele-machineschaalsets.