Exemplaarbeveiliging voor exemplaren van virtuele-machineschaalsets in Azure

Van toepassing op: ✔️ Linux-VM's ✔️ Windows-VM's ✔️ Flexibele schaalsets ✔️ Uniforme schaalsets

Virtuele-machineschaalsets van Azure bieden een betere elasticiteit voor uw workloads via automatisch schalen, zodat u kunt configureren wanneer uw infrastructuur wordt uitschalen en wanneer deze wordt inschalen. Met schaalsets kunt u een groot aantal VM's ook centraal beheren, configureren en bijwerken via verschillende upgradebeleidsinstellingen. 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 Rollend.

Terwijl uw toepassing verkeer verwerkt, kunnen er situaties zijn waarin u wilt dat specifieke exemplaren anders worden behandeld dan de rest van het schaalset-exemplaar. Bepaalde exemplaren in de schaalset kunnen bijvoorbeeld langlopende bewerkingen uitvoeren en u wilt niet dat deze exemplaren worden inschalen totdat de bewerkingen zijn voltooid. Mogelijk hebt u ook enkele instanties 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. Exemplaarbeveiliging biedt de extra besturingselementen om deze en andere scenario's voor uw toepassing mogelijk te maken.

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

Typen exemplaarbeveiliging

Schaalsets bieden twee typen mogelijkheden voor exemplaarbeveiliging:

  • Beveiligen tegen inschalen

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

    • Ingeschakeld via de eigenschap protectFromScaleSetActions op het exemplaar van de schaalset
    • Beschermt exemplaar tegen automatisch schalen geïnitieerde inschalen
    • Beschermt de instantie tegen bewerkingen die zijn gestart op de schaalset (zoals upgraden, opnieuw instellen, toewijzing van de toewijzing in de hand nemen, 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 instanties van schaalsets nadat de exemplaren zijn gemaakt. Beveiliging wordt alleen toegepast en gewijzigd op het exemplaarmodel en niet op het schaalsetmodel.

Er zijn meerdere manieren om schaalbeveiliging toe te passen op uw schaalset-exemplaren, zoals beschreven in de onderstaande voorbeelden.

Azure Portal

U kunt inschaalbeveiliging toepassen via de Azure Portal 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 inschaalbeveiliging 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

Exemplaarbeveiliging wordt alleen ondersteund met API-versie 2019-03-01 en hoger

Azure PowerShell

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

In het volgende voorbeeld wordt inschaalbeveiliging 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 schaalbeveiliging toe te passen op uw schaalset-exemplaar.

In het volgende voorbeeld wordt inschaalbeveiliging 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 acties in schaalsets

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

Door een exemplaar te beveiligen tegen schaalsetacties wordt het exemplaar ook beschermd tegen automatisch inschalen geïnitieerde inschalen.

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

Azure Portal

U kunt beveiliging van schaalsetacties via de Azure Portal 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.
Door een exemplaar te beveiligen tegen schaalsetacties wordt het exemplaar ook beschermd tegen automatisch inschalen geïnitieerde inschalen. U kunt 'protectFromScaleIn': false niet opgeven bij het instellen van 'protectFromScaleSetActions': true

Azure PowerShell

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

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 schaalset-exemplaar.

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 beveiligingBeleid voor schaalsetmodel

Exemplaarbeveiliging is alleen van toepassing op instanties van schaalsets en niet op het schaalsetmodel.

Geen beveiligingBeleid op model van schaalset-exemplaar

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

Nadat de exemplaren zijn gemaakt, kunt u exemplaarbeveiliging toepassen op instanties van schaalsets.

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 ook uw PowerShell of CLI bijwerken naar de nieuwste versie.

Volgende stappen

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