Ridimensionare automaticamente un set di scalabilità di macchine virtuali nel portale di AzureAutomatically scale a virtual machine scale set in the Azure portal

Quando si crea un set di scalabilità, definire il numero di istanze di macchine virtuali da eseguire.When you create a scale set, you define the number of VM instances that you wish to run. È possibile aumentare o ridurre automaticamente il numero di istanze di macchine virtuali in base alle richieste dell'applicazione.As your application demand changes, you can automatically increase or decrease the number of VM instances. La scalabilità automatica consente di adattarsi alle esigenze dei clienti o di rispondere alle prestazioni dell'applicazione durante il ciclo di vita dell'app.The ability to autoscale lets you keep up with customer demand or respond to application performance changes throughout the lifecycle of your app.

Questo articolo illustra come creare regole di scalabilità automatica nel portale di Azure per monitorare le prestazioni delle istanze di macchine virtuali nel set di scalabilità.This article shows you how to create autoscale rules in the Azure portal that monitor the performance of the VM instances in your scale set. Queste regole di scalabilità automatica aumentano o diminuiscono il numero di istanze di macchine virtuali in risposta a queste metriche delle prestazioni.These autoscale rules increase or decrease the number of VM instances in response to these performance metrics. È anche possibile completare questa procedura con Azure PowerShell o l'interfaccia della riga di comando di Azure CLI.You can also complete these steps with Azure PowerShell or the Azure CLI.

PrerequisitiPrerequisites

Per creare regole di scalabilità automatica, è necessario un set di scalabilità di macchina virtuale esistente.To create autoscale rules, you need an existing virtual machine scale set. È possibile creare un set di scalabilità con il portale di Azure, Azure PowerShell o l'interfaccia della riga di comando di Azure CLI.You can create a scale set with the Azure portal, Azure PowerShell, or Azure CLI.

Creare una regola per l'aumento automaticoCreate a rule to automatically scale out

Se aumenta la richiesta da parte dell'applicazione, aumenta il carico sulle istanze di macchine virtuali nel set di scalabilità.If your application demand increases, the load on the VM instances in your scale set increases. Se il carico aumenta in modo coerente e non momentaneamente, è possibile configurare regole di scalabilità automatica per aumentare il numero di istanze di macchine virtuali nel set di scalabilità.If this increased load is consistent, rather than just a brief demand, you can configure autoscale rules to increase the number of VM instances in the scale set. Quando sono state create le istanze di macchine virtuali e sono state distribuite le applicazioni, il set di scalabilità inizia a distribuire loro il traffico tramite il bilanciamento del carico.When these VM instances are created and your applications are deployed, the scale set starts to distribute traffic to them through the load balancer. È possibile controllare le metriche da monitorare, ad esempio per la CPU o il disco, il tempo per cui il carico dell'applicazione deve soddisfare una determinata soglia e il numero di istanze di macchine virtuali da aggiungere al set di scalabilità.You control what metrics to monitor, such as CPU or disk, how long the application load must meet a given threshold, and how many VM instances to add to the scale set.

  1. Aprire il portale di Azure e selezionare Gruppi di risorse nel menu sul lato sinistro del dashboard.Open the Azure portal and select Resource groups from the menu on the left-hand side of the dashboard.

  2. Selezionare il gruppo di risorse che contiene il set di scalabilità, quindi scegliere il set di scalabilità nell'elenco di risorse.Select the resource group that contains your scale set, then choose your scale set from the list of resources.

  3. Scegliere Proporzioni dal menu nella parte sinistra della finestra del set di scalabilità.Choose Scaling from the menu on the left-hand side of the scale set window. Selezionare il pulsante di Abilita scalabilità automatica:Select the button to Enable autoscale:

    Abilitare la scalabilità automatica nel portale di Azure

  4. Immettere un nome per le impostazioni, ad esempio scalabilità automatica, quindi selezionare l'opzione per aggiungere una regola.Enter a name for your settings, such as autoscale, then select the option to Add a rule.

  5. È possibile creare una regola che aumenti il numero di istanze di macchine virtuali in un set di scalabilità quando il carico medio della CPU è superiore al 70% per un periodo di 10 minuti.Let's create a rule that increases the number of VM instances in a scale set when the average CPU load is greater than 70% over a 10-minute period. Quando la regola viene attivata, il numero di istanze di macchine virtuali viene aumentato del 20%.When the rule triggers, the number of VM instances is increased by 20%. Nei set di scalabilità con un numero ridotto di istanze di macchine virtuali è possibile impostare Operazione su Aumenta numero di e quindi specificare 1 o 2 per Conteggio istanze.In scale sets with a small number of VM instances, you could set the Operation to Increase count by and then specify 1 or 2 for the Instance count. Nei set di scalabilità con un numero elevato di istanze di macchine virtuali, potrebbe essere più appropriato un aumento del 10% o del 20% delle istanze di macchine virtuali.In scale sets with a large number of VM instances, an increase of 10% or 20% VM instances may be more appropriate.

    Specificare le seguenti impostazioni per la regola:Specify the following settings for your rule:

    ParametroParameter SpiegazioneExplanation ValoreValue
    Aggregazione temporaleTime Aggregation Definisce la modalità di aggregazione delle metriche raccolte per l'analisi.Defines how the collected metrics should be aggregated for analysis. MediaAverage
    Nome della metricaMetric Name La metrica delle prestazioni da monitorare e a cui applicare azioni dei set di scalabilità.The performance metric to monitor and apply scale set actions on. CPU percentualePercentage CPU
    Statistica intervallo di tempoTime grain statistic Definisce la modalità di aggregazione delle metriche raccolte in ogni intervallo di tempo per l'analisi.Defines how the collected metrics in each time grain should be aggregated for analysis. MediaAverage
    OperatoreOperator Operatore usato per confrontare i dati della metrica rispetto alla soglia.Operator used to compare the metric data against the threshold. Più diGreater than
    SogliaThreshold La percentuale che determina l'attivazione di un'azione da parte della regola di scalabilità automatica.The percentage that causes the autoscale rule to trigger an action. 7070
    DurationDuration Il tempo monitorato prima che vengano confrontati i valori delle metriche e delle soglie.The amount of time monitored before the metric and threshold values are compared. 10 minuti10 minutes
    operazioneOperation Definisce se il set di scalabilità deve aumentare o diminuire quando si applica la regola e quale incremento usareDefines if the scale set should scale up or down when the rule applies and by what increment Aumenta percentuale diIncrease percent by
    Numero di istanzeInstance count La percentuale di istanze di macchine virtuali deve essere modificata quando viene attivata la regola.The percentage of VM instances should be changed when the rule triggers. 2020
    Disattiva regole dopo (minuti)Cool down (minutes) Il tempo di attesa prima che la regola venga applicata nuovamente in modo che le azioni di scalabilità automatica diventino effettive.The amount of time to wait before the rule is applied again so that the autoscale actions have time to take effect. 5 minuti5 minutes

    Gli esempi seguenti mostrano una regola creata nel portale di Azure che corrisponde a queste impostazioni:The following examples show a rule created in the Azure portal that matches these settings:

    Creare una regola di scalabilità automatica per aumentare il numero di istanze di macchine virtuali

  6. Per creare la regola, selezionare AggiungiTo create the rule, select Add

Creare una regola per la riduzione automaticaCreate a rule to automatically scale in

Nelle ore serali o nel fine settimana è possibile che la richiesta delle applicazioni si riduca.On an evening or weekend, your application demand may decrease. Se il carico diminuisce in modo coerente nel tempo, è possibile configurare regole di scalabilità automatica per diminuire il numero di istanze di macchine virtuali nel set di scalabilità.If this decreased load is consistent over a period of time, you can configure autoscale rules to decrease the number of VM instances in the scale set. Questa azione riduce i costi di esecuzione del set di scalabilità poiché si esegue solo il numero di istanze necessarie per soddisfare la richiesta corrente.This scale-in action reduces the cost to run your scale set as you only run the number of instances required to meet the current demand.

  1. Scegliere di nuovo Aggiungi una regola.Choose to Add a rule again.

  2. Creare una regola che diminuisca il numero di istanze di macchine virtuali in un set di scalabilità quando il carico medio della CPU scende sotto il 30% per un periodo di 10 minuti.Create a rule that decreases the number of VM instances in a scale set when the average CPU load then drops below 30% over a 10-minute period. Quando la regola viene attivata, il numero di istanze di macchine virtuali viene diminuito del 20%.When the rule triggers, the number of VM instances is decreased by 20%.

    Usare lo stesso approccio usato con la regola precedente.Use the same approach as with the previous rule. Modificare le seguenti impostazioni per la regola:Adjust the following settings for your rule:

    ParametroParameter SpiegazioneExplanation ValoreValue
    OperatoreOperator Operatore usato per confrontare i dati della metrica rispetto alla soglia.Operator used to compare the metric data against the threshold. Meno diLess than
    SogliaThreshold La percentuale che determina l'attivazione di un'azione da parte della regola di scalabilità automatica.The percentage that causes the autoscale rule to trigger an action. 3030
    operazioneOperation Definisce se il set di scalabilità deve aumentare o diminuire quando si applica la regola e quale incremento usareDefines if the scale set should scale up or down when the rule applies and by what increment Riduci percentuale diDecrease percent by
    Numero di istanzeInstance count La percentuale di istanze di macchine virtuali deve essere modificata quando viene attivata la regola.The percentage of VM instances should be changed when the rule triggers. 2020
  3. Per creare la regola, selezionare AggiungiTo create the rule, select Add

Definire i limiti di scalabilità automatica delle istanzeDefine autoscale instance limits

Il profilo di scalabilità automatica deve definire un numero minimo e massimo e un numero predefinito di istanze di macchine virtuali.Your autoscale profile must define a minimum, maximum, and default number of VM instances. Quando vengono applicate le regole di scalabilità automatica, questi limiti delle istanze assicurano che l'aumento non superi il numero massimo di istanze o che la riduzione non superi il valore minimo di istanze.When your autoscale rules are applied, these instance limits make sure that you do not scale out beyond the maximum number of instances, or scale in beyond the minimum of instances.

  1. Impostare i limiti delle istanze seguenti:Set the following instance limits:

    MinimaMinimum MassimoMaximum PredefinitoDefault
    22 1010 22
  2. Per applicare le regole di scalabilità automatica e i limiti delle istanze, selezionare Salva.To apply your autoscale rules and instance limits, select Save.

Monitorare il numero di istanze in un set di scalabilitàMonitor number of instances in a scale set

Per esaminare il numero e lo stato delle istanze di macchine virtuali, selezionare Istanze dal menu nella parte sinistra della finestra del set di scalabilità.To see the number and status of VM instances, select Instances from the menu on the left-hand side of the scale set window. Lo stato indica se l'istanza della macchina virtuale è in fase di creazione poiché il set di scalabilità esegue automaticamente l'aumento oppure di eliminazione poiché viene eseguita automaticamente la riduzione.The status indicates if the VM instance is Creating as the scale set automatically scales out, or is Deleting as the scale automatically scales in.

Visualizzare un elenco di istanze di macchine virtuali del set di scalabilità

Ridimensionare automaticamente in base a una pianificazioneAutoscale based on a schedule

Negli esempi precedenti viene aumentato o ridotto automaticamente un set di scalabilità con le metriche host di base, ad esempio l'utilizzo della CPU.The previous examples automatically scaled a scale set in or out with basic host metrics such as CPU usage. È possibile anche creare regole di scalabilità automatica in base a pianificazioni.You can also create autoscale rules based on schedules. Queste regole basate su pianificazione consentono di aumentare il numero di istanze di macchine virtuali in anticipo rispetto all'aumento previsto della richiesta delle applicazioni, ad esempio nelle ore di lavoro intenso, e quindi di ridurre automaticamente il numero di istanze quando si prevede una riduzione della richiesta, ad esempio nel fine settimana.These schedule-based rules allow you to automatically scale out the number of VM instances ahead of an anticipated increase in application demand, such as core work hours, and then automatically scale in the number of instances at a time that you anticipate less demand, such as the weekend.

  1. Scegliere Proporzioni dal menu nella parte sinistra della finestra del set di scalabilità.Choose Scaling from the menu on the left-hand side of the scale set window. Per eliminare le regole di scalabilità automatica create negli esempi precedenti, scegliere l'icona del cestino.To delete the existing autoscale rules created in the previous examples, choose the trash can icon.

    Eliminare le regole di scalabilità automatica esistenti

  2. Scegliere Add a scale condition (Aggiungi una condizione di scalabilità).Choose to Add a scale condition. Selezionare l'icona della matita accanto al nome della regola e specificare un nome, ad esempio Scalabilità orizzontale durante ogni giorno lavorativo.Select the pencil icon next to rule name, and provide a name such as Scale out during each work day.

    Rinominare la regola predefinita di scalabilità automatica

  3. Selezionare il pulsante di opzione Ridimensiona in base a un numero di istanze specifico.Select the radio button to Scale to a specific instance count.

  4. Per aumentare il numero di istanze, immettere 10 come numero di istanze.To scale up the number of instances, enter 10 as the instance count.

  5. Selezionare Ripeti in giorni specifici per il tipo Pianificazione.Choose Repeat specific days for the Schedule type.

  6. Selezionare tutti i giorni lavorativi, dal lunedì al venerdì.Select all the work days, Monday through Friday.

  7. Scegliere il fuso orario appropriato, quindi specificare come ora di inizio il valore 09:00.Choose the appropriate timezone, then specify a Start time of 09:00.

  8. Scegliere di nuovo Add a scale condition (Aggiungi una condizione di scalabilità).Choose to Add a scale condition again. Ripetere il processo per creare una pianificazione denominata Riduzione nelle ore serali che ridimensiona il numero di istanze a 3, viene ripetuta ogni giorno feriale e inizia alle 18:00.Repeat the process to create a schedule named Scale in during the evening that scales to 3 instances, repeats every weekday, and starts at 18:00.

  9. Per applicare regole di scalabilità automatica basate su pianificazione, selezionare Salva.To apply your schedule-based autoscale rules, select Save.

    Creare regole di scalabilità automatica basate su una pianificazione

Per visualizzare la modalità in cui vengono applicate le regole di scalabilità automatica, selezionare Cronologia di esecuzione nella parte superiore della finestra Proporzioni.To see how your autoscale rules are applied, select Run history across the top of the Scaling window. Il grafo e gli eventi elencati mostrano quando si attivano le regole di scalabilità automatica e il numero di istanze di macchine virtuali nel set di scalabilità aumenta o diminuisce.The graph and events list shows when the autoscale rules trigger and the number of VM instances in your scale set increases or decreases.

Passaggi successiviNext steps

In questo articolo si è appreso come usare le regole di scalabilità automatica per scalare orizzontalmente e aumentare o diminuire il numero di istanze di macchine virtuali nel set di scalabilità.In this article, you learned how to use autoscale rules to scale horizontally and increase or decrease the number of VM instances in your scale set. È possibile anche scalare verticalmente per aumentare o diminuire le dimensioni delle istanze di macchine virtuali.You can also scale vertically to increase or decrease the VM instance size. Per altre informazioni, vedere Ridimensionamento automatico verticale con set di scalabilità di macchine virtuali.For more information, see Vertical autoscale with Virtual Machine Scale sets.

Per informazioni su come gestire le istanze di macchine virtuali, vedere Gestire set di scalabilità di macchine virtuali con Azure PowerShell.For information on how to manage your VM instances, see Manage virtual machine scale sets with Azure PowerShell.

Per informazioni su come generare avvisi all'attivazione delle regole di scalabilità automatica, vedere Usare le azioni di scalabilità automatica per inviare notifiche di avviso di webhook e posta elettronica in Monitoraggio di Azure.To learn how to generate alerts when your autoscale rules trigger, see Use autoscale actions to send email and webhook alert notifications in Azure Monitor. Vedere anche Use audit logs to send email and webhook alert notifications in Azure Monitor (Usare i log di controllo per inviare notifiche di avviso tramite e-mail e webhook in Monitoraggio di Azure).You can also Use audit logs to send email and webhook alert notifications in Azure Monitor.