Meer informatie over instellingen voor automatisch schalen

Instellingen voor automatisch schalen zorgen ervoor dat u de juiste hoeveelheid resources hebt die worden uitgevoerd om de fluctuerende belasting van uw toepassing te verwerken. U kunt instellingen voor automatische schaalaanpassing configureren die worden geactiveerd op basis van metrische gegevens die de belasting of prestaties aangeven, of geactiveerd op een geplande datum en tijd.

In dit artikel worden de instellingen voor automatische schaalaanpassing uitgelegd.

Instellingsschema voor automatisch schalen

In het volgende voorbeeld ziet u een instelling voor automatische schaalaanpassing met deze kenmerken:

  • Eén standaardprofiel.
  • Twee metrische regels in dit profiel: één voor uitschalen en één voor inschalen.
    • De regel voor uitschalen wordt geactiveerd wanneer het gemiddelde CPU-percentage van de virtuele-machineschaalset gedurende de afgelopen 10 minuten groter is dan 85%.
    • De regel voor inschalen wordt geactiveerd wanneer het gemiddelde van de virtuele-machineschaalset voor de afgelopen minuut kleiner is dan 60%.

Notitie

Een instelling kan meerdere profielen hebben. Zie de sectie Profielen voor meer informatie. Een profiel kan ook meerdere uitschaalregels en inschaalregels hebben gedefinieerd. Zie de evaluatiesectie om te zien hoe ze worden geëvalueerd.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [
        {
            "type": "Microsoft.Insights/autoscaleSettings",
            "apiVersion": "2015-04-01",
            "name": "VMSS1-Autoscale-607",
            "location": "eastus",
            "properties": {

                "name": "VMSS1-Autoscale-607",
                "enabled": true,
                "targetResourceUri": "/subscriptions/abc123456-987-f6e5-d43c-9a8d8e7f6541/resourceGroups/rg-vmss1/providers/Microsoft.Compute/virtualMachineScaleSets/VMSS1",
    "profiles": [
      {
        "name": "Auto created default scale condition",
        "capacity": {
          "minimum": "1",
          "maximum": "4",
          "default": "1"
        },
        "rules": [
          {
            "metricTrigger": {
              "metricName": "Percentage CPU",
              "metricResourceUri": "/subscriptions/abc123456-987-f6e5-d43c-9a8d8e7f6541/resourceGroups/rg-vmss1/providers/Microsoft.Compute/virtualMachineScaleSets/VMSS1",
              "timeGrain": "PT1M",
              "statistic": "Average",
              "timeWindow": "PT10M",
              "timeAggregation": "Average",
              "operator": "GreaterThan",
              "threshold": 85
            },
            "scaleAction": {
              "direction": "Increase",
              "type": "ChangeCount",
              "value": "1",
              "cooldown": "PT5M"
            }
          },
          {
            "metricTrigger": {
              "metricName": "Percentage CPU",
              "metricResourceUri": "/subscriptions/abc123456-987-f6e5-d43c-9a8d8e7f6541/resourceGroups/rg-vmss1/providers/Microsoft.Compute/virtualMachineScaleSets/VMSS1",
              "timeGrain": "PT1M",
              "statistic": "Average",
              "timeWindow": "PT10M",
              "timeAggregation": "Average",
              "operator": "LessThan",
              "threshold": 60
            },
            "scaleAction": {
              "direction": "Decrease",
              "type": "ChangeCount",
              "value": "1",
              "cooldown": "PT5M"
            }
          }
        ]
      }
    ]
  }
}

In de volgende tabel worden de elementen in de JSON van de voorgaande instelling voor automatische schaalaanpassing beschreven.

Sectie Naam van element Portalnaam Beschrijving
Instelling Id De resource-id van de instelling voor automatische schaalaanpassing. Instellingen voor automatisch schalen zijn een Azure Resource Manager-resource.
Instelling name De naam van de instelling voor automatische schaalaanpassing.
Instelling locatie De locatie van de instelling voor automatisch schalen. Deze locatie kan afwijken van de locatie van de resource die wordt geschaald.
properties targetResourceUri De resource-id van de resource die wordt geschaald. U kunt slechts één instelling voor automatische schaalaanpassing per resource hebben.
properties Profielen Voorwaarde schalen Een instelling voor automatisch schalen bestaat uit een of meer profielen. Telkens wanneer de engine voor automatisch schalen wordt uitgevoerd, wordt één profiel uitgevoerd. Configureer maximaal 20 profielen per instelling voor automatische schaalaanpassing.
Profielen name De naam van het profiel. U kunt elke naam kiezen waarmee u het profiel kunt identificeren.
Profielen capacity.maximum Exemplaarlimieten - Maximum De maximaal toegestane capaciteit. Dit zorgt ervoor dat uw resource niet boven dit nummer wordt geschaald wanneer het profiel wordt uitgevoerd.
Profielen capacity.minimum Instantielimieten - minimum De minimale capaciteit die is toegestaan. Dit zorgt ervoor dat uw resource niet onder dit nummer wordt geschaald wanneer het profiel wordt uitgevoerd
Profielen capacity.default Exemplaarlimieten - standaard Als er een probleem is met het lezen van de metrische resourcegegevens en de huidige capaciteit lager is dan de standaardwaarde, wordt automatisch schalen naar de standaardwaarde geschaald. Deze actie zorgt voor de beschikbaarheid van de resource. Als de huidige capaciteit al hoger is dan de standaardcapaciteit, wordt automatisch schalen niet ingeschaald.
Profielen regels Regels Automatisch schalen wordt automatisch geschaald tussen de maximale en minimale capaciteiten met behulp van de regels in het profiel. Definieer maximaal 10 afzonderlijke regels in een profiel. Normaal gesproken worden regels gedefinieerd in paren, een om te bepalen wanneer moet worden uitgeschaald en de andere om te bepalen wanneer moet worden ingeschaald.
regel metricTrigger Schaalregel Definieert de metrische voorwaarde van de regel.
metricTrigger metricName Naam van meetwaarde De naam van de metrische waarde.
metricTrigger metricResourceUri De resource-id van de resource die de metrische gegevens verzendt. In de meeste gevallen is dit hetzelfde als de resource die wordt geschaald. In sommige gevallen kan het anders zijn. U kunt bijvoorbeeld een virtuele-machineschaalset schalen op basis van het aantal berichten in een opslagwachtrij.
metricTrigger timeGrain Tijdsinterval (minuten) De duur van de metrische steekproeven. TimeGrain = "PT1M" betekent bijvoorbeeld dat de metrische gegevens elke 1 minuut moeten worden geaggregeerd met behulp van de aggregatiemethode die is opgegeven in het statistische element.
metricTrigger Statistiek Tijdsintervalstatistieken De aggregatiemethode binnen de periode timeGrain. Statistiek = "Average" en timeGrain = "PT1M" betekent bijvoorbeeld dat de metrische gegevens om de 1 minuut moeten worden geaggregeerd door het gemiddelde te nemen. Deze eigenschap bepaalt hoe de metrische waarde wordt gesampleerd.
metricTrigger timeWindow Duur De hoeveelheid tijd om terug te kijken naar metrische gegevens. TimeWindow = "PT10M" betekent bijvoorbeeld dat elke keer dat automatische schaalaanpassing wordt uitgevoerd, metrische gegevens opvraagt voor de afgelopen 10 minuten. Met het tijdvenster kunnen uw metrische gegevens worden genormaliseerd en wordt voorkomen dat er op tijdelijke pieken wordt gereageerd.
metricTrigger timeAggregation Tijdverzameling De aggregatiemethode die wordt gebruikt voor het aggregeren van de metrische steekproefgegevens. TimeAggregation = 'Average' moet bijvoorbeeld de metrische steekproefgegevens aggregeren door het gemiddelde te nemen. In het voorgaande geval neemt u de tien steekproeven van 1 minuut en gemiddeld.
regel scaleAction Actie De actie die moet worden uitgevoerd wanneer de metricTrigger van de regel wordt geactiveerd.
scaleAction richting Bewerking 'Vergroten' om uit te schalen of 'Verkleinen' om in te schalen.
scaleAction waarde Aantal exemplaren Hoeveel u de capaciteit van de resource wilt vergroten of verlagen.
scaleAction cooldown Afkoelen (minuten) De hoeveelheid tijd die moet worden gewacht na een schaalbewerking voordat u opnieuw schaalt. De afkoelperiode wordt van kracht na een in- of uitschaalgebeurtenis. Als cooldown = "PT10M" is, probeert automatische schaalaanpassing bijvoorbeeld niet nog eens 10 minuten te schalen. De cooldown is om de metrische gegevens te laten stabiliseren na het toevoegen of verwijderen van exemplaren.

Profielen automatisch schalen

Definieer maximaal 20 verschillende profielen per instelling voor automatische schaalaanpassing.
Er zijn drie typen profielen voor automatisch schalen:

  • Standaardprofiel: gebruik het standaardprofiel als u uw resource niet hoeft te schalen op basis van een bepaalde datum en tijd of dag van de week. Het standaardprofiel wordt uitgevoerd wanneer er geen andere toepasselijke profielen zijn voor de huidige datum en tijd. U kunt slechts één standaardprofiel hebben.

  • Profiel met vaste datum: het profiel met vaste datum is relevant voor één datum en tijd. Gebruik het profiel met vaste datum om schaalregels voor een specifieke gebeurtenis in te stellen. Het profiel wordt slechts eenmaal uitgevoerd op de datum en tijd van de gebeurtenis. Voor alle andere tijden wordt voor automatische schaalaanpassing het standaardprofiel gebruikt.

        ...
        "profiles": [
            {
                "name": " regularProfile",
                "capacity": {
                    ...
                },
                "rules": [
                    ...
                ]
            },
            {
                "name": "eventProfile",
                "capacity": {
                ...
                },
                "rules": [
                    ...
                ],
                "fixedDate": {
                    "timeZone": "Pacific Standard Time",
                    "start": "2017-12-26T00:00:00",
                    "end": "2017-12-26T23:59:00"
                }
            }
        ]
    
  • Terugkeerprofiel: Een terugkeerprofiel wordt gebruikt voor een dag of set dagen van de week. Het schema voor een terugkerend profiel bevat geen einddatum. Het einde van de datum en tijd voor een terugkerend profiel wordt ingesteld op de begintijd van het volgende profiel. Wanneer de portal wordt gebruikt om terugkerende profielen te configureren, wordt het standaardprofiel automatisch bijgewerkt om te beginnen bij de eindtijd die u opgeeft voor het terugkerende profiel. Zie Automatisch schalen met meerdere profielen voor meer informatie over het configureren van meerdere profielen

    In het voorbeeld van het gedeeltelijke schema ziet u hier een terugkerend profiel. Het begint om 06:00 en eindigt om 19:00 uur op zaterdag en zondag. Het standaardprofiel is aangepast om om 19:00 uur op zaterdag en zondag.

        {
            "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
            "contentVersion": "1.0.0.0",
            "resources": [
                {
                    "type": "Microsoft.Insights/    autoscaleSettings",
                    "apiVersion": "2015-04-01",
                    "name": "VMSS1-Autoscale-607",
                    "location": "eastus",
                    "properties": {
    
                        "name": "VMSS1-Autoscale-607",
                        "enabled": true,
                        "targetResourceUri": "/subscriptions/    abc123456-987-f6e5-d43c-9a8d8e7f6541/    resourceGroups/rg-vmss1/providers/    Microsoft.Compute/    virtualMachineScaleSets/VMSS1",
                        "profiles": [
                            {
                                "name": "Weekend profile",
                                "capacity": {
                                    ...
                                },
                                "rules": [
                                    ...
                                ],
                                "recurrence": {
                                    "frequency": "Week",
                                    "schedule": {
                                        "timeZone": "E. Europe     Standard Time",
                                        "days": [
                                            "Saturday",
                                            "Sunday"
                                        ],
                                        "hours": [
                                            6
                                        ],
                                        "minutes": [
                                            0
                                        ]
                                    }
                                }
                            },
                            {
                                "name": "{\"name\":\"Auto created default scale condition\",\"for\":\"Weekend profile\"}",
                                "capacity": {
                                   ...
                                },
                                "recurrence": {
                                    "frequency": "Week",
                                    "schedule": {
                                        "timeZone": "E. Europe     Standard Time",
                                        "days": [
                                            "Saturday",
                                            "Sunday"
                                        ],
                                        "hours": [
                                            19
                                        ],
                                        "minutes": [
                                            0
                                        ]
                                    }
                                },
                                "rules": [   
                                  ...
                                ]
                            }
                        ],
                        "notifications": [],
                        "targetResourceLocation": "eastus"
                    }
    
                }
            ]
                }
    
    

Evaluatie van automatische schaalaanpassing

Instellingen voor automatisch schalen kunnen meerdere profielen hebben. Elk profiel kan meerdere regels hebben. Telkens wanneer de taak voor automatisch schalen wordt uitgevoerd, begint deze met het kiezen van het betreffende profiel voor die tijd. Automatisch schalen evalueert vervolgens de minimum- en maximumwaarden, eventuele metrische regels in het profiel en bepaalt of een schaalactie nodig is. De taak voor automatisch schalen wordt elke 30 tot 60 seconden uitgevoerd, afhankelijk van het resourcetype. Nadat een schaalactie is uitgevoerd, wacht de taak voor automatisch schalen op de afkoelperiode voordat deze opnieuw wordt geschaald. De afkoelperiode is van toepassing op zowel uitschalen als inschalen.

Welk profiel gebruikt automatisch schalen?

Telkens wanneer de service voor automatisch schalen wordt uitgevoerd, worden de profielen in de volgende volgorde geëvalueerd:

  1. Profielen met vaste datum
  2. Terugkerende profielen
  3. Standaardprofiel

Het eerste geschikte profiel dat wordt gevonden, wordt gebruikt.

Hoe evalueert automatische schaalaanpassing meerdere regels?

Nadat automatisch schalen heeft bepaald welk profiel moet worden uitgevoerd, worden de uitschaalregels in het profiel geëvalueerd, dat wil gezegd, waarbij de richting = 'Verhogen' is. Als een of meer uitschaalregels worden geactiveerd, berekent automatisch schalen de nieuwe capaciteit die wordt bepaald door de scaleAction die is opgegeven voor elk van de regels. Als er meer dan één uitschaalregel wordt geactiveerd, schaalt automatisch schalen naar de hoogste opgegeven capaciteit om de beschikbaarheid van de service te garanderen.

Stel dat er twee regels zijn: Regel 1 specificeert een uitschaling met drie exemplaren en regel 2 geeft een uitschaling met vijf op. Als beide regels worden geactiveerd, schaalt automatisch schalen uit met vijf exemplaren. Als met één regel uitschalen wordt opgegeven door drie exemplaren en een andere regel wordt uitgeschaald met 15%, wordt het hogere aantal exemplaren gebruikt.

Als er geen uitschaalregels worden geactiveerd, evalueert automatisch schalen de inschaalregels, dat wil gezegd regels met de richting = 'Verkleinen'. Automatisch schalen wordt alleen ingeschaald als alle regels voor inschalen worden geactiveerd.

Met automatische schaalaanpassing wordt de nieuwe capaciteit berekend die wordt bepaald door de scaleAction van elk van deze regels. Om ervoor te zorgen dat de service beschikbaar is, wordt automatisch schalen zo weinig mogelijk om de maximale capaciteit te bereiken die is opgegeven. Stel dat u twee regels voor inschalen gebruikt, één die de capaciteit met 50% verlaagt en één die de capaciteit met drie exemplaren verlaagt. Als de eerste regel resulteert in vijf exemplaren en de tweede regel resulteert in zeven, schaalt automatisch schalen naar zeven exemplaren.

Telkens wanneer automatische schaalaanpassing het resultaat van een inschaalactie berekent, wordt geëvalueerd of die actie een uitschaalactie zou activeren. Het scenario waarin een schaalactie de tegenovergestelde schaalactie activeert, wordt flapping genoemd. Automatische schaalaanpassing kan een inschaling uitstellen om flapping te voorkomen of te schalen met een getal kleiner dan wat in de regel is opgegeven. Zie Flapping in automatische schaalaanpassing voor meer informatie over flappen.

Volgende stappen

Meer informatie over automatische schaalaanpassing: