

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Dimensionamento predittivo per Dimensionamento automatico Amazon EC2
<a name="ec2-auto-scaling-predictive-scaling"></a>

La scalabilità predittiva funziona analizzando i dati storici di carico per rilevare modelli giornalieri o settimanali nei flussi di traffico. Utilizza queste informazioni per prevedere le esigenze di capacità future in modo che Amazon EC2 Auto Scaling possa aumentare in modo proattivo la capacità del gruppo Auto Scaling per far fronte al carico previsto.

Il dimensionamento predittivo è adatto per le situazioni in cui si hanno:
+ Traffico ciclico, ad esempio, un elevato uso di risorse durante i normali orari di ufficio e un basso utilizzo di risorse durante la notte
+ Modelli di on-and-off carico di lavoro ricorrenti, come elaborazione in batch, test o analisi periodica dei dati
+ Applicazioni che richiedono molto tempo per l'inizializzazione, causando un notevole impatto della latenza sulle prestazioni delle applicazioni durante gli eventi di aumento orizzontale

In generale, se hai modelli regolari di aumento del traffico e applicazioni che richiedono molto tempo per l'inizializzazione, è consigliabile che utilizzi il dimensionamento predittivo. Il dimensionamento predittivo consente di dimensionare più velocemente avviando la capacità in anticipo rispetto al carico previsto, in confronto all'utilizzo del solo dimensionamento dinamico, che è di natura reattiva. La scalabilità predittiva può anche potenzialmente farti risparmiare sulla fattura EC2, aiutandoti a evitare la necessità di fornire una capacità eccessiva.

Ad esempio, consideriamo un'applicazione che ha un utilizzo elevato durante l'orario di lavoro e uno ridotto durante la notte. All'inizio di ogni giornata lavorativa, il dimensionamento predittivo può aggiungere capacità prima del primo afflusso di traffico. Ciò permette all'applicazione di mantenere elevata disponibilità e prestazioni quando si passa da un periodo di utilizzo inferiore a un periodo di utilizzo più elevato. Non è necessario attendere che il dimensionamento dinamico reagisca alla variazione di traffico. Inoltre, non dovrai dedicare tempo alla verifica dei modelli di carico dell'applicazione e al tentativo di pianificare la giusta quantità di capacità con il dimensionamento programmato. 

**Topics**
+ [Funzionamento del dimensionamento predittivo](predictive-scaling-policy-overview.md)
+ [Creazione di una policy di dimensionamento predittivo](predictive-scaling-create-policy.md)
+ [Valutazione delle policy di dimensionamento predittivo](predictive-scaling-graphs.md)
+ [Sovrascrivere la previsione](predictive-scaling-overriding-forecast-capacity.md)
+ [Utilizzare parametri personalizzati](predictive-scaling-customized-metric-specification.md)

# Funzionamento del dimensionamento predittivo
<a name="predictive-scaling-policy-overview"></a>

Questo argomento spiega come funziona la scalabilità predittiva e descrive cosa considerare quando si crea una politica di scalabilità predittiva.

**Topics**
+ [Come funziona](#how-predictive-scaling-works)
+ [Limite massimo di capacità](#predictive-scaling-maximum-capacity-limit)
+ [Considerazioni](#predictive-scaling-considerations)
+ [Regioni supportate](#predictive-scaling-regions)

## Come funziona
<a name="how-predictive-scaling-works"></a>

Per utilizzare la scalabilità predittiva, crea una politica di scalabilità predittiva che specifichi la metrica da monitorare e analizzare. CloudWatch Affinché la scalabilità predittiva inizi a prevedere i valori futuri, questa metrica deve contenere almeno 24 ore di dati.

Dopo aver creato la policy, il dimensionamento predittivo inizia ad analizzare i dati metrici relativi agli ultimi 14 giorni per identificare i modelli. Utilizza questa analisi per generare una previsione oraria dei requisiti di capacità per le prossime 48 ore. La previsione viene aggiornata ogni 6 ore utilizzando i CloudWatch dati più recenti. Con l'arrivo di nuovi dati, la scalabilità predittiva è in grado di migliorare continuamente l'accuratezza delle previsioni future.

La prima volta che si abilita il dimensionamento predittivo, questo viene eseguito in modalità di *sola previsione*. In questa modalità, genera previsioni sulla capacità ma non ridimensiona effettivamente il gruppo Auto Scaling in base a tali previsioni. Ciò consente di valutare l'accuratezza e l'idoneità della previsione. È possibile visualizzare i dati di previsione utilizzando l'operazione `GetPredictiveScalingForecast` API o il Console di gestione AWS.

Dopo aver esaminato i dati di previsione e deciso di iniziare il ridimensionamento in base a tali dati, passa la politica di scalabilità alla modalità *previsione e scala*. In questa modalità:
+ Se la previsione prevede un aumento del carico, Amazon EC2 Auto Scaling aumenterà la capacità mediante scalabilità orizzontale.
+ Se la previsione prevede una riduzione del carico, non verrà ridimensionata per rimuovere la capacità. Se si desidera rimuovere la capacità che non è più necessaria, è necessario creare politiche di scalabilità dinamiche.

Per impostazione predefinita, Amazon EC2 Auto Scaling ridimensiona il gruppo Auto Scaling all'inizio di ogni ora in base alla previsione per quell'ora. Facoltativamente, puoi specificare un'ora di inizio precedente utilizzando la `SchedulingBufferTime` proprietà nell'operazione `PutScalingPolicy` API o l'impostazione delle istanze **pre-Launch** in. Console di gestione AWS Ciò fa sì che Amazon EC2 Auto Scaling lanci nuove istanze prima della domanda prevista, dando loro il tempo di avviarsi e prepararsi a gestire il traffico. 

Per supportare il lancio di nuove istanze prima della domanda prevista, ti consigliamo vivamente di abilitare il *riscaldamento delle istanze predefinito per il tuo* gruppo Auto Scaling. Questo specifica un periodo di tempo dopo un'attività di scalabilità orizzontale durante il quale Amazon EC2 Auto Scaling non sarà scalabile, anche se le politiche di scalabilità dinamica indicano che la capacità deve essere ridotta. Questo ti aiuta a garantire che le istanze appena lanciate abbiano il tempo sufficiente per iniziare a gestire l'aumento del traffico prima di essere prese in considerazione per operazioni di scalabilità. Per ulteriori informazioni, consulta [Impostazione della preparazione di default dell'istanza per un gruppo con scalabilità automatica](ec2-auto-scaling-default-instance-warmup.md).

## Limite massimo di capacità
<a name="predictive-scaling-maximum-capacity-limit"></a>

I gruppi Auto Scaling hanno un'impostazione di capacità massima che limita il numero massimo di istanze EC2 che possono essere avviate per il gruppo. Per impostazione predefinita, quando vengono impostate politiche di scalabilità, non possono aumentare la capacità oltre la sua capacità massima.

In alternativa, è possibile consentire l'aumento automatico della capacità massima del gruppo se la capacità prevista si avvicina o supera la capacità massima del gruppo Auto Scaling. Per abilitare questo comportamento, utilizzate le `MaxCapacityBuffer` proprietà `MaxCapacityBreachBehavior` and nell'operazione `PutScalingPolicy` API o l'impostazione di **comportamento Max capacity** in. Console di gestione AWS

**avvertimento**  
Prestate attenzione quando consentite l'aumento automatico della capacità massima. Ciò può comportare l'avvio di più istanze del previsto se la maggiore capacità massima non viene monitorata e gestita. L'aumento della capacità massima diventa quindi la nuova capacità massima normale per il gruppo Auto Scaling fino a quando non lo si aggiorna manualmente. La capacità massima non torna automaticamente al massimo originale.

## Considerazioni
<a name="predictive-scaling-considerations"></a>
+ Conferma che il dimensionamento predittivo sia adeguato al carico di lavoro. Un carico di lavoro è adeguato per il dimensionamento predittivo se presenta modelli di carico ricorrenti specifici per il giorno della settimana o l'ora del giorno. Per verificarlo, configura le policy di dimensionamento predittivo in modalità *solo previsione* e fai riferimento ai suggerimenti nella console. Dimensionamento automatico Amazon EC2 offre consigli basati su osservazioni relative alle potenziali prestazioni delle policy. Valuta la previsione e i suggerimenti prima di permettere al dimensionamento predittivo di dimensionare attivamente l'applicazione.
+ Per avviare la previsione, il dimensionamento predittivo richiede almeno 24 ore di dati cronologici. Tuttavia, le previsioni sono più efficaci se i dati cronologici si estendono su due settimane intere. Se aggiorni l'applicazione creando un nuovo gruppo con scalabilità automatica ed eliminando quello precedente, il nuovo gruppo con scalabilità automatica richiede 24 ore di dati cronologici del carico, prima che il dimensionamento predittivo possa iniziare a generare nuovamente i forecast. Puoi utilizzare i parametri personalizzati per aggregare i parametri tra gruppi con scalabilità automatica vecchi e nuovi. In caso contrario, potrebbe essere necessario attendere alcuni giorni, al fine di avere una previsione più accurata. 
+ Scegliere una metrica di carico che rappresenta con precisione il carico completo dell'applicazione ed è l'aspetto dell'applicazione su cui è più importante basare il dimensionamento.
+ L'utilizzo della scalabilità dinamica con la scalabilità predittiva consente di seguire da vicino la curva di domanda dell'applicazione, adattandola verso l'alto durante i periodi di traffico ridotto e verso l'esterno quando il traffico è superiore al previsto. Quando sono attive più policy di dimensionamento, ciascuna di esse determina la capacità desiderata in modo indipendente, che viene impostata al massimo. Ad esempio, se sono necessarie 10 istanze per rimanere all'utilizzo di destinazione in una policy di dimensionamento con monitoraggio degli obiettivi e 8 istanze devono rimanere all'utilizzo di destinazione in una policy di dimensionamento predittivo, la capacità desiderata del gruppo è impostata su 10. Se non conosci il ridimensionamento dinamico, ti consigliamo di utilizzare le politiche di scalabilità di Target Tracking. Per ulteriori informazioni, consulta [Dimensionamento dinamico per Dimensionamento automatico Amazon EC2](as-scale-based-on-demand.md).
+ Un presupposto fondamentale del dimensionamento predittivo è che il gruppo con scalabilità automatica deve essere omogeneo e tutte le istanze devono avere la stessa capacità. Se ciò non è vero per il tuo gruppo, la capacità prevista può essere imprecisa. Pertanto, fai attenzione quando crei politiche di scalabilità predittiva per [gruppi di istanze miste](ec2-auto-scaling-mixed-instances-groups.md), poiché è possibile fornire istanze di tipi diversi con capacità diversa. Di seguito sono riportati alcuni esempi in cui la capacità prevista sarà imprecisa:
  + La tua politica di scalabilità predittiva si basa sull'utilizzo della CPU, ma il numero di v CPUs su ciascuna istanza di Auto Scaling varia a seconda del tipo di istanza.
  + La policy di dimensionamento predittivo si basa sulla rete in entrata o in uscita, ma la velocità effettiva della larghezza di banda di rete per ogni istanza Auto Scaling varia a seconda dei tipi di istanza. Ad esempio, i tipi di istanza M5 e M5n sono simili, ma il tipo di istanza M5n offre una velocità effettiva di rete significativamente più elevata.

## Regioni supportate
<a name="predictive-scaling-regions"></a>
+ Stati Uniti orientali (Virginia settentrionale)
+ Stati Uniti orientali (Ohio)
+ Stati Uniti occidentali (California settentrionale)
+ Stati Uniti occidentali (Oregon)
+ Africa (Città del Capo)
+ Asia Pacifico (Hong Kong)
+ Asia Pacific (Hyderabad)
+ Asia Pacifico (Giacarta)
+ Asia Pacifico (Melbourne)
+ Asia Pacifico (Mumbai)
+ Asia Pacifico (Osaka)
+ Asia Pacifico (Seoul)
+ Asia Pacifico (Singapore)
+ Asia Pacifico (Sydney)
+ Asia Pacifico (Tokyo)
+ Canada (Centrale)
+ Canada occidentale (Calgary)
+ Cina (Pechino)
+ Cina (Ningxia)
+ Europa (Francoforte)
+ Europa (Irlanda)
+ Europa (Londra)
+ Europa (Milano)
+ Europa (Parigi)
+ Europa (Spagna)
+ Europa (Stoccolma)
+ Europa (Zurigo)
+ Israele (Tel Aviv)
+ Medio Oriente (Bahrein)
+ Medio Oriente (Emirati Arabi Uniti)
+ Sud America (San Paolo)
+ AWS GovCloud (Stati Uniti orientali)
+ AWS GovCloud (Stati Uniti occidentali)

# Crea una politica di scalabilità predittiva per un gruppo Auto Scaling
<a name="predictive-scaling-create-policy"></a>

Le seguenti procedure consentono di creare una politica di scalabilità predittiva utilizzando o. Console di gestione AWS AWS CLI

Se il gruppo con scalabilità automatica è nuovo, prima che Dimensionamento automatico Amazon EC2 possa generare una previsione deve fornire almeno 24 ore di dati. 

**Topics**
+ [Creazione di una policy di dimensionamento predittivo (console)](#predictive-scaling-policy-console)
+ [Creazione di una policy di dimensionamento predittivo (AWS CLI)](#predictive-scaling-policy-aws-cli)

## Creazione di una policy di dimensionamento predittivo (console)
<a name="predictive-scaling-policy-console"></a>

*Se è la prima volta che crei una politica di scalabilità predittiva, ti consigliamo di utilizzare la console per creare più policy di scalabilità predittiva in modalità solo previsione.* Ciò consente di testare i potenziali effetti di diverse metriche e valori obiettivo. È possibile creare più criteri di dimensionamento predittivo per ciascun gruppo con scalabilità automatica, ma solo una delle policy può essere utilizzata per il dimensionamento attivo.

### Creazione di una policy di dimensionamento predittivo nella console (parametri predefiniti)
<a name="create-a-predictive-scaling-policy-in-the-console"></a>

Utilizza la procedura seguente per creare una policy di dimensionamento predittivo utilizzando i parametri predefiniti (numero di richieste di CPU, I/O di rete o Application Load Balancer per destinazione). Il modo più semplice per creare una policy di dimensionamento predittivo è utilizzare i parametri predefiniti. Se preferisci utilizzare i parametri personalizzati, consulta [Creazione di una policy di dimensionamento predittivo nella console (parametri predefiniti)](#create-a-predictive-scaling-policy-in-the-console-custom-metrics).

**Creazione di una policy di dimensionamento predittivo**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)e scegli **Auto Scaling** Groups dal pannello di navigazione.

1. Seleziona la casella di controllo accanto al gruppo con dimensionamento automatico.

   Si aprirà un riquadro diviso nella parte inferiore della pagina. 

1. Nella scheda **Automatic scaling (Scalabilità automatica)** scegli **Create predictive scaling policy (Crea policy di dimensionamento predittivo)** in **Scaling policies (Policy di dimensionamento)**.

1. Inserisci un nome per la policy.

1. Attiva **Scale based on forecast (Dimensiona in base al forecast)** per dare a Dimensionamento automatico Amazon EC2 l'autorizzazione ad avviare subito il dimensionamento.

   Per mantenere la policy in modalità *forecast only (solo forecast)*, mantieni l'opzione**Scale based on forecast (Dimensiona in base al forecast)** disattivata. 

1. In **Metrics (Parametri)**, scegli i parametri nell'elenco di opzioni. Le opzioni includono: **CPU**,**Network In (Rete in ingresso)**,**Rete in uscita (Network Out)**, **Application Load Balancer request count (Conteggio richieste Application Load Balancer)** e **Custom metric pair (Coppia di parametri personalizzati)**.

   Se hai scelto **Application Load Balancer request count per target (Conteggio delle richieste Application Load Balancer per destinazione)**, scegli un gruppo di destinazione in **Target group (Gruppo di destinazione)**. **Application Load Balancer request count per target (Conteggio di richieste Application Load Balancer per destinazione)** è supportato solo avrai allegato un gruppo di destinazione Application Load Balancer al gruppo con scalabilità automatica. 

   Se hai scelto **Custom metric pair (Coppia di parametri personalizzati)**, scegli i singoli parametri dagli elenchi a discesa per **Load metric (Parametro del carico)** e **Scaling metric (Parametro di dimensionamento)**. 

1. In **Target utilization (Utilizzo di destinazione)**, inserisci il valore di destinazione che Dimensionamento automatico Amazon EC2 deve mantenere. Dimensionamento automatico Amazon EC2 aumenta la capacità finché l'utilizzo medio arriva a quello di destinazione o finché non raggiunge il numero massimo di istanze specificato.     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/autoscaling/ec2/userguide/predictive-scaling-create-policy.html)

1. (Facoltativo) In **Pre-launch instances (Pre-avviare le istanze)**, scegli con quale anticipo desideri avviare le istanze prima che il forecast richieda l'aumento del carico. 

1. (Facoltativo) In **Max capacity behavior** (Comportamento di capacità max), scegli se consentire a Dimensionamento automatico Amazon EC2 di aumentare la capacità massima del gruppo quando la capacità predittiva prevista supera la capacità massima definita. L'attivazione di questa impostazione permette l'aumento orizzontale durante i periodi in cui si prevede che il traffico sia al massimo.

1. (Facoltativo) In **Buffer maximum capacity above the forecasted capacity (Capacità massima del buffer superiore alla capacità prevista)**, scegli la capacità aggiuntiva da utilizzare quando quella prevista è prossima o superiore alla capacità massima. Il valore è specificato come una percentuale relativa alla capacità di previsione. Ad esempio, se il buffer è 10, indica un buffer del 10%. Pertanto, se la capacità di previsione è 50 e quella massima è 40, la capacità massima effettiva è 55. 

   Se impostato su 0, Dimensionamento automatico Amazon EC2 potrebbe essere in grado di dimensionare una capacità superiore alla capacità massima, in modo da uguagliare ma non superare quella prevista.

1. Scegli **Create predictive scaling policy (Crea policy di dimensionamento predittivo)**.

### Creazione di una policy di dimensionamento predittivo nella console (parametri predefiniti)
<a name="create-a-predictive-scaling-policy-in-the-console-custom-metrics"></a>

Utilizza la procedura seguente per creare una policy di dimensionamento predittivo utilizzando i parametri personalizzati. Le metriche personalizzate possono includere altre metriche fornite da CloudWatch o metriche su cui pubblichi. CloudWatch Per utilizzare il numero di richieste di CPU, I/O di rete o Application Load Balancer per destinazione, consulta [Creazione di una policy di dimensionamento predittivo nella console (parametri predefiniti)](#create-a-predictive-scaling-policy-in-the-console).

Utilizza la procedura seguente per creare una policy di dimensionamento predittivo utilizzando i parametri personalizzati.
+ È necessario fornire le query non elaborate che consentano ad Amazon EC2 Auto Scaling di interagire con i parametri. CloudWatch Per ulteriori informazioni, consulta [Politica di scalabilità predittiva avanzata che utilizza metriche personalizzate](predictive-scaling-customized-metric-specification.md). Per essere sicuri che Amazon EC2 Auto Scaling possa estrarre CloudWatch i dati delle metriche, verifica che ogni query restituisca punti dati. Confermalo utilizzando la CloudWatch console o il funzionamento dell' CloudWatch [GetMetricData](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html)API. 
**Nota**  
Forniamo dei payload JSON di esempio nell'editor JSON nella console Dimensionamento automatico Amazon EC2. Questi esempi forniscono un riferimento per le coppie chiave-valore necessarie per aggiungere altre CloudWatch metriche fornite da AWS o metriche su cui hai pubblicato in precedenza. CloudWatch Puoi utilizzarli come punto di partenza, quindi personalizzarli in base alle tue esigenze.
+ Se per i parametri usi una formula, devi costruire manualmente il JSON per adattarlo al tuo scenario univoco. Per ulteriori informazioni, consulta [Utilizzare le espressioni matematiche del parametro](using-math-expression-examples.md). Prima di utilizzare la formula del parametro nella tua policy, verifica che le query dei parametri basate su espressioni matematiche siano valide e restituiscano una singola serie temporale. Confermalo utilizzando la CloudWatch console o l'operazione API. CloudWatch [GetMetricData](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html)

Se commetti un errore in una query fornendo dati errati, ad esempio il nome del gruppo con scalabilità automatica errato, la previsione non conterrà alcun dato. Per la risoluzione dei problemi relativi ai parametri personalizzati, consulta [Considerazioni sulle metriche personalizzate in una politica di scalabilità predittiva](custom-metrics-troubleshooting.md).

**Creazione di una policy di dimensionamento predittivo**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)e scegli **Auto Scaling** Groups dal pannello di navigazione.

1. Seleziona la casella di controllo accanto al gruppo con dimensionamento automatico.

   Si aprirà un riquadro diviso nella parte inferiore della pagina. 

1. Nella scheda **Automatic scaling (Scalabilità automatica)** scegli **Create predictive scaling policy (Crea policy di dimensionamento predittivo)** in **Scaling policies (Policy di dimensionamento)**.

1. Inserisci un nome per la policy.

1. Attiva **Scale based on forecast (Dimensiona in base al forecast)** per dare a Dimensionamento automatico Amazon EC2 l'autorizzazione ad avviare subito il dimensionamento.

   Per mantenere la policy in modalità *forecast only (solo forecast)*, mantieni l'opzione**Scale based on forecast (Dimensiona in base al forecast)** disattivata. 

1. Per **Metrics** (Parametri), scegli **Custom metric pair** (Coppia di parametri personalizzati).

   1. Per **Load metric**, scegli **Custom CloudWatch metric per utilizzare un parametro** personalizzato. Crea il payload JSON che contiene la definizione dei parametri di carico per la policy e incollalo nella casella dell'editor JSON, sostituendo ciò che è già presente nella casella.

   1. Per **Scaling metric, scegli Metrica** personalizzata per utilizzare una ** CloudWatch metrica personalizzata**. Crea il payload JSON che contiene la definizione dei parametri di dimensionamento per la policy e incollalo nella casella dell'editor JSON, sostituendo ciò che è già presente nella casella. 

   1. (Facoltativo) Per aggiungere un parametro di capacità personalizzato, seleziona la casella di controllo **Add custom capacity metric** (Aggiungi parametro di capacità personalizzato). Crea il payload JSON che contiene la definizione dei parametri di capacità per la policy e incollalo nella casella dell'editor JSON, sostituendo ciò che è già presente nella casella.

      È necessario abilitare questa opzione solo per creare una nuova serie temporale per la capacità solo se i dati dei parametri di capacità riguardano più gruppi con scalabilità automatica. In questo caso, dovrai utilizzare la formula dei parametri per aggregare i dati in un'unica serie temporale.

1. In **Target utilization (Utilizzo di destinazione)**, inserisci il valore di destinazione che Dimensionamento automatico Amazon EC2 deve mantenere. Dimensionamento automatico Amazon EC2 aumenta la capacità finché l'utilizzo medio arriva a quello di destinazione o finché non raggiunge il numero massimo di istanze specificato. 

1. (Facoltativo) In **Pre-launch instances (Pre-avviare le istanze)**, scegli con quale anticipo desideri avviare le istanze prima che il forecast richieda l'aumento del carico. 

1. (Facoltativo) In **Max capacity behavior** (Comportamento di capacità max), scegli se consentire a Dimensionamento automatico Amazon EC2 di aumentare la capacità massima del gruppo quando la capacità predittiva prevista supera la capacità massima definita. L'attivazione di questa impostazione permette l'aumento orizzontale durante i periodi in cui si prevede che il traffico sia al massimo.

1. (Facoltativo) In **Buffer maximum capacity above the forecasted capacity (Capacità massima del buffer superiore alla capacità prevista)**, scegli la capacità aggiuntiva da utilizzare quando quella prevista è prossima o superiore alla capacità massima. Il valore è specificato come una percentuale relativa alla capacità di previsione. Ad esempio, se il buffer è 10, indica un buffer del 10%. Pertanto, se la capacità di previsione è 50 e quella massima è 40, la capacità massima effettiva è 55. 

   Se impostato su 0, Dimensionamento automatico Amazon EC2 potrebbe essere in grado di dimensionare una capacità superiore alla capacità massima, in modo da uguagliare ma non superare quella prevista.

1. Scegli **Create predictive scaling policy (Crea policy di dimensionamento predittivo)**.

## Creazione di una policy di dimensionamento predittivo (AWS CLI)
<a name="predictive-scaling-policy-aws-cli"></a>

Utilizza AWS CLI quanto segue per configurare le politiche di scalabilità predittiva per il tuo gruppo Auto Scaling. Sostituisci ogni *user input placeholder* con le tue informazioni.

Per ulteriori informazioni sui CloudWatch parametri che puoi specificare, consulta il riferimento alle API [PredictiveScalingMetricSpecification](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_PredictiveScalingMetricSpecification.html)di *Amazon EC2 Auto* Scaling.

### Esempio 1: policy di dimensionamento predittivo in grado di creare forecast ma non di dimensionare
<a name="predictive-scaling-configuration-ex1"></a>

La policy di esempio seguente mostra una configurazione completa delle policy che utilizzano i parametri di utilizzo della CPU per il dimensionamento predittivo con un utilizzo di destinazione `40`. `ForecastOnly` viene utilizzato per impostazione predefinita, a meno che non specifichi esplicitamente quale modalità utilizzare. Salva questa configurazione in un file denominato `config.json`.

```
{
    "MetricSpecifications": [
        {
            "TargetValue": 40,
            "PredefinedMetricPairSpecification": {
                "PredefinedMetricType": "ASGCPUUtilization"
            }
        }
    ]
}
```

Per creare la policy dalla riga di comando, esegui il [put-scaling-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scaling-policy.html)comando con il file di configurazione specificato, come illustrato nell'esempio seguente.

```
aws autoscaling put-scaling-policy --policy-name cpu40-predictive-scaling-policy \
  --auto-scaling-group-name my-asg --policy-type PredictiveScaling \
  --predictive-scaling-configuration file://config.json
```

In caso di esito positivo, questo comando restituisce l'Amazon Resource Name (ARN) della policy.

```
{
  "PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:2f4f5048-d8a8-4d14-b13a-d1905620f345:autoScalingGroupName/my-asg:policyName/cpu40-predictive-scaling-policy",
  "Alarms": []
}
```

### Esempio 2: policy di dimensionamento predittivo in grado di creare forecast e di dimensionare
<a name="predictive-scaling-configuration-ex2"></a>

Per una policy che permette a Dimensionamento automatico Amazon EC2 di prevedere e dimensionare, aggiungi la proprietà `Mode`con un valore di `ForecastAndScale`. Nell'esempio seguente viene illustrata una configurazione di policy che utilizza i parametri del conteggio delle richieste di Application Load Balancer. L'utilizzo di destinazione è `1000` e il dimensionamento predittivo è impostato sulla modalità `ForecastAndScale`.

```
{
    "MetricSpecifications": [
        {
            "TargetValue": 1000,
            "PredefinedMetricPairSpecification": {
                "PredefinedMetricType": "ALBRequestCount",
                "ResourceLabel": "app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff"
            }
        }
    ],
    "Mode": "ForecastAndScale"
}
```

Per creare questa politica, esegui il [put-scaling-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scaling-policy.html)comando con il file di configurazione specificato, come illustrato nell'esempio seguente.

```
aws autoscaling put-scaling-policy --policy-name alb1000-predictive-scaling-policy \
  --auto-scaling-group-name my-asg --policy-type PredictiveScaling \
  --predictive-scaling-configuration file://config.json
```

In caso di esito positivo, questo comando restituisce l'Amazon Resource Name (ARN) della policy.

```
{
  "PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:19556d63-7914-4997-8c81-d27ca5241386:autoScalingGroupName/my-asg:policyName/alb1000-predictive-scaling-policy",
  "Alarms": []
}
```

### Esempio 3: policy di dimensionamento predittivo in grado di dimensionare oltre la capacità massima
<a name="predictive-scaling-configuration-ex3"></a>

Nell'esempio seguente viene illustrato come creare una policy in grado di dimensionare oltre al limite di dimensione massima del gruppo quando è necessario per gestire un carico superiore al normale. Per impostazione predefinita, Dimensionamento automatico Amazon EC2 non dimensiona la capacità EC2 oltre la capacità massima definita. Tuttavia, potrebbe essere utile lasciarla dimensionare più in alto, con una capacità leggermente superiore, per evitare problemi di prestazioni o disponibilità.

Per fornire spazio a Dimensionamento automatico Amazon EC2 per il provisioning di capacità aggiuntiva quando prevedi che la capacità sarà pari o molto vicina alle dimensioni massime del tuo gruppo, specifica le proprietà `MaxCapacityBreachBehavior`e `MaxCapacityBuffer`, come mostrato nell'esempio seguente. Devi specificare `MaxCapacityBreachBehavior` con un valore di `IncreaseMaxCapacity`. Il numero massimo di istanze che il gruppo può avere dipende dal valore di `MaxCapacityBuffer`. 

```
{
    "MetricSpecifications": [
        {
            "TargetValue": 70,
            "PredefinedMetricPairSpecification": {
                "PredefinedMetricType": "ASGCPUUtilization"
            }
        }
    ],
    "MaxCapacityBreachBehavior": "IncreaseMaxCapacity",
    "MaxCapacityBuffer": 10
}
```

In questo esempio, la policy è configurata per usare un buffer del 10% (`"MaxCapacityBuffer": 10`), in modo che se la capacità prevista è 50 e quella massima è 40, la capacità massima effettiva è 55. Una policy in grado di dimensionare una capacità superiore alla capacità massima in modo da uguagliare ma non superare la capacità prevista avrebbe un buffer di 0 (`"MaxCapacityBuffer": 0`). 

Per creare questa politica, esegui il [put-scaling-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scaling-policy.html)comando con il file di configurazione specificato, come illustrato nell'esempio seguente.

```
aws autoscaling put-scaling-policy --policy-name cpu70-predictive-scaling-policy \
  --auto-scaling-group-name my-asg --policy-type PredictiveScaling \
  --predictive-scaling-configuration file://config.json
```

In caso di esito positivo, questo comando restituisce l'Amazon Resource Name (ARN) della policy.

```
{
  "PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:d02ef525-8651-4314-bf14-888331ebd04f:autoScalingGroupName/my-asg:policyName/cpu70-predictive-scaling-policy",
  "Alarms": []
}
```

# Valutazione delle policy di dimensionamento predittivo
<a name="predictive-scaling-graphs"></a>

Prima di dimensionare il gruppo con scalabilità automatica tramite una policy di dimensionamento predittivo, esamina i consigli e gli altri dati nella console Dimensionamento automatico Amazon EC2. È un'opzione importante per assicurarsi che le previsioni siano accurate prima di applicare una policy di dimensionamento predittivo che dimensioni la capacità effettiva.

Se il gruppo con scalabilità automatica è nuovo, attendere 24 ore per permettere a Dimensionamento automatico Amazon EC2 di creare la prima previsione.

Quando Dimensionamento automatico Amazon EC2 crea una previsione, utilizza dati cronologici. Se il gruppo con scalabilità automatica non dispone ancora di molti dati cronologici recenti, Dimensionamento automatico Amazon EC2 potrebbe temporaneamente riempire la previsione con aggregati creati dagli aggregati storici attualmente disponibili. Le previsioni vengono popolate per un massimo di due settimane prima della data di creazione di una policy.

**Topics**
+ [Visualizzazione dei suggerimenti](#view-predictive-scaling-recommendations)
+ [Analisi dei grafici di monitoraggio](#review-predictive-scaling-monitoring-graphs)
+ [Monitora le metriche con CloudWatch](monitor-predictive-scaling-cloudwatch.md)

## Visualizzazione dei suggerimenti per il dimensionamento predittivo
<a name="view-predictive-scaling-recommendations"></a>

Per un'analisi efficace, Dimensionamento automatico Amazon EC2 dovrebbe avere almeno due policy di dimensionamento predittivo da confrontare. Tuttavia, è ancora possibile esaminare i risultati per una singola policy. Quando crei più policy, puoi valutare una policy che utilizza un parametro rispetto a un parametro che ne utilizza uno diverso. Puoi anche valutare l'impatto di diverse combinazioni di valori di destinazione e parametri. Dopo aver creato le policy di dimensionamento predittivo, Dimensionamento automatico Amazon EC2 inizia immediatamente a valutare quale policy è in grado di dimensionare il gruppo in modo ottimale.

**Per visualizzare i suggerimenti nella console Dimensionamento automatico Amazon EC2**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)e scegli **Auto Scaling** Groups dal pannello di navigazione.

1. Seleziona la casella di controllo accanto al gruppo con dimensionamento automatico. 

   Si aprirà un riquadro diviso nella parte inferiore della pagina.

1. Nella scheda **Auto scaling**, in **Policy di dimensionamento predittivo**, puoi visualizzare i dettagli di una policy e i relativi suggerimenti. Il suggerimento indica se l'utilizzo della policy di dimensionamento predittivo garantisce risultati migliori rispetto al non utilizzo. 

   Se non sei sicuro che una policy di dimensionamento predittivo sia appropriata per il tuo gruppo, consulta le colonne **Impatto sulla disponibilità** e **Impatto sui costi** per scegliere quella giusta. Le informazioni di ogni colonna indicano l'impatto della policy. 
   + **Impatto sulla disponibilità**: indica se l'utilizzo della policy eviterebbe un impatto negativo sulla disponibilità eseguendo il provisioning di un numero sufficiente di istanze per gestire il carico di lavoro, rispetto al mancato utilizzo della policy.
   + **Impatto sui costi**: indica se l'utilizzo della policy eviterebbe un impatto negativo sui costi non eseguendo un provisioning eccessivo delle istanze, rispetto al mancato utilizzo della policy. Se il provisioning è eccessivo, le istanze risultano sottoutilizzate o inattive, comportando un maggiore impatto sui costi.

   Se disponi di più policy, accanto al nome della policy che offre i maggiori vantaggi in termini di disponibilità a un costo inferiore viene visualizzato il tag **Previsione migliore**. Viene attribuito un peso maggiore all'impatto sulla disponibilità. 

1. (Facoltativo) Per selezionare il periodo di tempo desiderato per i risultati dei suggerimenti, scegli il valore preferito dal menu a discesa **Periodo di valutazione**: **2 giorni**, **1 settimana**, **2 settimane**, **4 settimane**, **6 settimane** o **8 settimane**. Per impostazione predefinita, il periodo di valutazione è rappresentato dalle ultime due settimane. Un periodo di valutazione maggiore fornisce più punti dati per i risultati del suggerimento. Tuttavia, l'aggiunta di più punti dati potrebbe non migliorare i risultati se i modelli di carico sono cambiati, ad esempio dopo un periodo di domanda eccezionalmente elevata. In questo caso, puoi ottenere un suggerimento più mirato esaminando i dati più recenti.

**Nota**  
I suggerimenti vengono generati solo per le policy in modalità **solo previsione**. Questa funzione restituisce i risultati migliori quando una policy è in modalità **solo previsione** per tutto il periodo di valutazione. Se avvii una policy in modalità **Previsione e dimensionamento** e in un secondo momento la modifichi in una modalità **solo previsione**, è probabile che i risultati siano falsati. Questo accade perché la policy ha già contribuito alla capacità effettiva.

## Analisi dei grafici di monitoraggio di dimensionamento predittivo
<a name="review-predictive-scaling-monitoring-graphs"></a>

Nella console Dimensionamento automatico Amazon EC2, puoi esaminare le previsioni dei giorni, delle settimane o dei mesi precedenti per visualizzare le prestazioni della policy nel tempo. Puoi inoltre utilizzare queste informazioni per valutare l'accuratezza delle previsioni nel momento in cui decidi di applicare la policy per dimensionare la capacità effettiva.

**Per esaminare i grafici di monitoraggio di dimensionamento predittivo nella console Dimensionamento automatico Amazon EC2**

1. Scegli una policy dall'elenco **Policy di dimensionamento predittivo**. 

1. Nella sezione **Monitoraggio**, puoi visualizzare le previsioni passate e future della policy in termini di carico e capacità rispetto ai valori effettivi. Il grafico **Carico** mostra la previsione di carico e i valori effettivi per il parametro di carico scelto. Il grafico **Capacità** mostra il numero di istanze previste dalla policy e il numero effettivo di istanze avviate. La linea verticale separa i valori storici dalle previsioni future. Questi grafici diventano disponibili poco dopo la creazione della policy. 

1. (Facoltativo) Per modificare la quantità di dati cronologici mostrati nel grafico, scegli il valore desiderato dal menu a discesa **Periodo di valutazione**, nella parte superiore della pagina. Il periodo di valutazione non trasforma in alcun modo i dati di questa pagina, ma modifica soltanto la quantità di dati cronologici mostrati.

L'immagine seguente mostra i grafici **Carico** e **Capacità** quando le previsioni sono state applicate più volte. Le previsioni di dimensionamento predittivo si basano sui dati di carico storici. Il carico generato dall'applicazione è rappresentato come la somma dell'utilizzo della CPU, della rete in ingresso/uscita, delle richieste ricevute o del parametro personalizzato per ogni istanza del gruppo con scalabilità automatica. Il dimensionamento predittivo calcola le esigenze future in termini di capacità in base alla previsione di carico e all'utilizzo di destinazione che si desidera ottenere per il parametro di dimensionamento.

![\[Grafici di dimensionamento predittivo\]](http://docs.aws.amazon.com/it_it/autoscaling/ec2/userguide/images/predictive-scaling-graphs.png)


**Confronto dei dati nel grafico **Carico****  
Ogni riga orizzontale rappresenta un diverso insieme di punti dati riportati a intervalli di un'ora:

1. Il **carico effettivo osservato** utilizza la statistica SUM per la metrica di carico scelta per mostrare il carico orario totale passato.

1. **Carico previsto dalla policy** mostra la previsione del carico orario. Questa previsione si basa sulle due settimane precedenti di osservazioni del carico effettivo.

**Confronto dei dati nel grafico **Capacità****  
Ogni riga orizzontale rappresenta un diverso insieme di punti dati riportati a intervalli di un'ora:

1. La **capacità effettiva osservata** mostra la capacità effettiva passata del gruppo Auto Scaling quando la [GroupTotalInstances](ec2-auto-scaling-metrics.md#as-group-metrics)metrica è abilitata. Questa capacità dipende dalle altre politiche di scalabilità e dalla dimensione minima del gruppo durante il periodo di tempo selezionato.

1. **Capacità prevista dalla policy** mostra la capacità di base che si prevede di avere all'inizio di ogni ora, quando la policy è in modalità **Previsione e dimensionamento**.

1. **Capacità richiesta differita** mostra la capacità ideale per mantenere il parametro di dimensionamento al valore target scelto.

1. **Capacità minima** indica la capacità minima del gruppo con scalabilità automatica.

1. **Capacità massima** indica la capacità massima del gruppo con scalabilità automatica.

Per calcolare la capacità richiesta differita, partiamo dal presupposto che ogni istanza sia utilizzata allo stesso modo a un determinato valore target. In pratica, le istanze non vengono utilizzate allo stesso modo. Tuttavia, ipotizzando che l'utilizzo sia distribuito uniformemente tra le istanze, possiamo fare una stima verosimile della quantità di capacità necessaria. Il requisito di capacità viene quindi calcolato in modo che sia inversamente proporzionale al parametro di dimensionamento utilizzato per la relativa policy. In altre parole, all'aumentare della capacità, il parametro di dimensionamento diminuisce alla stessa velocità. Ad esempio, se la capacità raddoppia, il parametro di dimensionamento si dimezza. 

La formula per la capacità richiesta differita è:

 `sum of (actualCapacityUnits*scalingMetricValue)/(targetUtilization)`

Ad esempio, prendiamo `actualCapacityUnits` (`10`) e `scalingMetricValue` (`30`) per una determinata ora. Prendiamo quindi il valore `targetUtilization` specificato nella policy di dimensionamento predittivo (`60`) e calcoliamo la capacità richiesta differita per la stessa ora. Viene restituito il valore `5`. Ciò significa che cinque è la quantità di capacità richiesta necessaria per mantenere tale capacità in modo direttamente inversamente proporzionale al valore target del parametro di dimensionamento.

**Nota**  
Sono disponibili diversi fattori per regolare e migliorare i risparmi sui costi e la disponibilità dell'applicazione.  
Utilizza il dimensionamento predittivo per la capacità di base e il dimensionamento dinamico per gestire la capacità aggiuntiva. Il dimensionamento dinamico funziona indipendentemente dal dimensionamento predittivo, riducendo e aumentando orizzontalmente in base all'utilizzo corrente. Innanzitutto, Dimensionamento automatico Amazon EC2 calcola il numero consigliato di istanze per ogni policy di dimensionamento dinamico. Quindi, effettua il dimensionamento in base alla policy che fornisce il maggior numero di istanze.
Per consentire la riduzione orizzontale quando il carico diminuisce, il gruppo con scalabilità automatica deve sempre disporre di almeno una policy di dimensionamento predittivo con la porzione di riduzione orizzontale abilitata.
Puoi migliorare le prestazioni di dimensionamento assicurandoti che la capacità minima e massima non siano troppo restrittive. Una policy con un numero consigliato di istanze che non rientra nell'intervallo di capacità minima e massima non sarà in grado di effettuare l'aumento o la riduzione orizzontale.

# Monitora le metriche di scalabilità predittiva con CloudWatch
<a name="monitor-predictive-scaling-cloudwatch"></a>

A seconda delle tue esigenze, potresti preferire accedere ai dati di monitoraggio per la scalabilità predittiva da Amazon CloudWatch anziché dalla console Amazon EC2 Auto Scaling. Dopo aver creato una policy di dimensionamento predittivo, la policy raccoglie i dati che vengono utilizzati per prevedere il carico e la capacità future. Una volta raccolti, questi dati vengono automaticamente archiviati a CloudWatch intervalli regolari. Quindi, è possibile utilizzarla CloudWatch per visualizzare le prestazioni della politica nel tempo. Puoi anche creare CloudWatch allarmi per avvisarti quando gli indicatori di performance superano i limiti definiti in. CloudWatch

**Topics**
+ [Visualizzazione dei dati di previsione storici](#visualize-historical-forecast-data)
+ [Creazione di parametri di precisione utilizzando la matematica dei parametri](#create-accuracy-metrics)

## Visualizzazione dei dati di previsione storici
<a name="visualize-historical-forecast-data"></a>

È possibile visualizzare i dati di previsione del carico e della capacità per una politica di scalabilità predittiva in. CloudWatch Ciò può essere utile quando si visualizzano le previsioni rispetto ad altre CloudWatch metriche in un unico grafico. Può essere utile anche quando si visualizza un intervallo di tempo più ampio in modo da poter vedere le tendenze nel tempo. Puoi accedere ai parametri cronologici fino a 15 mesi per avere una prospettiva migliore sulle performance di una policy.

Per ulteriori informazioni, consulta [Parametri e dimensioni di dimensionamento predittivo](ec2-auto-scaling-metrics.md#predictive-scaling-metrics).

**Per visualizzare i dati di previsione storici utilizzando la console CloudWatch**

1. Apri la CloudWatch console all'indirizzo [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Nel pannello di navigazione, scegli **Metrics (Parametri)**, quindi scegli **All metrics (Tutti i parametri)**.

1. Scegli il parametro spazio dei nomi **Auto Scaling** (Dimensionamento automatico).

1. Scegli una delle seguenti opzioni per visualizzare i parametri relativi alla previsione del carico o alla previsione della capacità: 
   + **Previsioni del carico di dimensionamento predittivo**
   + **Previsioni di capacità di dimensionamento predittivo**

1. Nel campo di ricerca, immettere il nome della policy di dimensionamento predittivo o il nome del gruppo con scalabilità automatica, quindi premere Enter (Invio) per filtrare i risultati. 

1. Per creare il grafico di un parametro, seleziona la casella di controllo accanto al parametro. Per modificare il nome del grafico, seleziona l'icona a forma di matita. Per modificare l'intervallo di tempo, seleziona uno dei valori predefiniti o scegli **custom** (personalizzato). Per ulteriori informazioni, consulta la sezione [Rappresentazione grafica di una metrica](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph_a_metric.html) nella *Amazon CloudWatch User Guide*.

1. Per modificare la statistica, seleziona la scheda **Graphed metrics** (Parametri nel grafico). Scegli l'intestazione di colonna o un valore singolo, quindi scegli un'altra statistica. Sebbene sia possibile scegliere qualsiasi statistica per ogni metrica, non tutte le statistiche sono utili per i parametri e le metriche. **PredictiveScalingLoadForecast**PredictiveScalingCapacityForecast**** Ad esempio, le statistiche **media**, **minimo** e **massimo** sono utili, ma la statistica **somma** non lo è.

1. Per aggiungere un altro parametro al grafico, in **Browse** (Sfoglia), scegli **All** (Tutti), trova il parametro specifico, quindi seleziona la casella di controllo accanto a esso. Puoi aggiungere fino a 10 parametri.

   Ad esempio, per aggiungere i valori effettivi per l'utilizzo della CPU al grafico, scegli il spazio dei nomi **EC2** e poi scegli **By Auto Scaling Group** (Per gruppo con scalabilità automatica). Quindi, seleziona la casella di controllo per la **CPUUtilization**metrica e il gruppo Auto Scaling specifico. 

1. (Facoltativo) Per aggiungere il grafico a una CloudWatch dashboard, scegli **Azioni**, **Aggiungi alla** dashboard.

## Creazione di parametri di precisione utilizzando la matematica dei parametri
<a name="create-accuracy-metrics"></a>

Con la matematica metrica, puoi interrogare più CloudWatch metriche e utilizzare espressioni matematiche per creare nuove serie temporali basate su queste metriche. Puoi visualizzare le serie temporali risultanti sulla CloudWatch console e aggiungerle ai dashboard. *Per ulteriori informazioni sulla matematica dei parametri, consulta [Using metric Math nella](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html) Amazon User Guide. CloudWatch *

Utilizzando la matematica dei parametri, puoi rappresentare graficamente i dati generati da Dimensionamento automatico Amazon EC2 per il dimensionamento predittivo in diversi modi. Questo ti aiuta a monitorare le prestazioni delle policy nel tempo e ti aiuta a capire se la tua combinazione di parametri può essere migliorata.

Ad esempio, è possibile utilizzare un'espressione matematica dei parametri per monitorare il [errore percentuale assoluto medio](https://en.wikipedia.org/wiki/Mean_absolute_percentage_error) (MAPE). Il parametro MAPE aiuta a monitorare la differenza tra i valori previsti e i valori effettivi osservati durante una determinata finestra di previsione. Le modifiche nel valore di MAPE possono indicare se le prestazioni della policy stanno peggiorando nel tempo in quanto la natura della tua applicazione cambia. Un aumento del MAPE segnala un divario più ampio tra i valori previsti e i valori effettivi. 

**Esempio: espressione matematica dei parametri**

Per iniziare a utilizzare questo tipo di grafico, puoi creare un'espressione matematica dei parametri come quella mostrata nell'esempio seguente.

```
{
  "MetricDataQueries": [
    {
      "Expression": "TIME_SERIES(AVG(ABS(m1-m2)/m1))",
      "Id": "e1",
      "Period": 3600,
      "Label": "MeanAbsolutePercentageError",
      "ReturnData": true
    },
    {
      "Id": "m1",
      "Label": "ActualLoadValues",
      "MetricStat": {
        "Metric": {
          "Namespace": "AWS/EC2",
          "MetricName": "CPUUtilization",
          "Dimensions": [
            {
              "Name": "AutoScalingGroupName",
              "Value": "my-asg"
            }
          ]
        },
        "Period": 3600,
        "Stat": "Sum"
      },
      "ReturnData": false
    },
    {
      "Id": "m2",
      "Label": "ForecastedLoadValues",
      "MetricStat": {
        "Metric": {
          "Namespace": "AWS/AutoScaling",
          "MetricName": "PredictiveScalingLoadForecast",
          "Dimensions": [
            {
              "Name": "AutoScalingGroupName",
              "Value": "my-asg"
            },
            {
              "Name": "PolicyName",
              "Value": "my-predictive-scaling-policy"
            },
            {
              "Name": "PairIndex",
              "Value": "0"
            }
          ]
        },
        "Period": 3600,
        "Stat": "Average"
      },
      "ReturnData": false
    }
  ]
}
```

Invece di un singolo parametro, è disponibile una serie di strutture di query di dati dei parametri per `MetricDataQueries`. Ogni articolo in `MetricDataQueries` ottiene un parametro o esegue un'espressione matematica. Il primo articolo, `e1`, è l'espressione matematica. L'espressione designata imposta il parametro `ReturnData` a `true`, che alla fine produce una singola serie temporale. Per tutte le altre parametri, il valore `ReturnData` è `false`. 

Nell'esempio, l'espressione designata utilizza i valori effettivi e previsti come input e restituisce la nuova metrica (MAPE). `m1`è la CloudWatch metrica che contiene i valori di carico effettivi (supponendo che l'utilizzo della CPU sia la metrica di carico originariamente specificata per la politica denominata). `my-predictive-scaling-policy` `m2`è la CloudWatch metrica che contiene i valori di carico previsti. La sintassi matematica per il parametro MAPE è la seguente:

*Media di (abs ((Effettivo - Previsto)/(Effettivo)))*

### Visualizza i parametri di precisione e imposta allarmi
<a name="visualize-accuracy-metrics-set-alarms"></a>

Per visualizzare i dati delle metriche di precisione, seleziona la scheda **Metriche** nella console. CloudWatch È possibile rappresentare graficamente i dati da lì. Per ulteriori informazioni, consulta [Aggiungere un'espressione matematica a un CloudWatch grafico](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#adding-metrics-expression-console) nella *Amazon CloudWatch User Guide*.

Puoi anche impostare un allarme su un parametro che stai monitorando dalla sezione **Metrics** (Parametri). Nella scheda **Graphed metrics** (Parametri nel grafico), seleziona l'icona **Create alarm** (Crea allarme) nella colonna **Actions** (Operazioni). L'icona **Create alarm** (Crea allarme) è rappresentata come una piccola campana. Per ulteriori informazioni e opzioni di notifica, consulta [Creazione di un CloudWatch allarme basato su un'espressione matematica metrica](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Create-alarm-on-metric-math-expression.html) e [Notifica agli utenti delle modifiche agli allarmi](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Notify_Users_Alarm_Changes.html) nella *Amazon CloudWatch * User Guide.

In alternativa, puoi utilizzare [GetMetricData](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html)ed [PutMetricAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html)eseguire calcoli utilizzando la matematica metrica e creare allarmi in base all'output.

# Sovrascrivere i valori di previsione mediante operazioni pianificate
<a name="predictive-scaling-overriding-forecast-capacity"></a>

Talvolta, potrebbero essere disponibili ulteriori informazioni sui requisiti futuri dell'applicazione che il calcolo del forecast non è in grado di prendere in considerazione. Ad esempio, i calcoli del forecast potrebbero sottovalutare la capacità necessaria per un evento di marketing imminente. È possibile utilizzare le operazioni pianificate per sostituire temporaneamente il forecast nei periodi di tempo futuri. Le operazioni pianificate possono essere eseguite su base periodica o in una data e un'ora specifiche in cui si manifestino variazioni della domanda una tantum. 

Ad esempio, è possibile creare un'operazione pianificata con una capacità minima superiore a quella prevista. In fase di runtime, Dimensionamento automatico Amazon EC2 aggiorna la capacità minima del gruppo con scalabilità automatica. Poiché il dimensionamento predittivo ottimizza la capacità, viene osservata un'azione pianificata con una capacità minima superiore ai valori di forecast. Ciò fa sì che la capacità non sia inferiore al previsto. Per interrompere la sostituzione del forecast, utilizza una seconda operazione pianificata per riportare la capacità minima all'impostazione originale.

La procedura seguente descrive le fasi per sostituire il forecast nei periodi di tempo futuri. 

**Topics**
+ [Fase 1: analizza i dati di serie temporali (opzionale)](#analyzing-time-series-data)
+ [Fase 2: creazione di due operazioni pianificate](#scheduling-capacity)

**Importante**  
Questo argomento presuppone che si stia cercando di sostituire la previsione per passare a una capacità superiore a quella prevista. *Se è necessario ridurre temporaneamente la capacità senza interferenze dovute a una politica di scalabilità predittiva, utilizza invece la modalità di sola previsione.* In modalità di sola previsione, la scalabilità predittiva continuerà a generare previsioni, ma non aumenterà automaticamente la capacità. È quindi possibile monitorare l'utilizzo delle risorse e ridurre manualmente le dimensioni del gruppo in base alle esigenze. Per ulteriori informazioni sul ridimensionamento manuale, vedere. [Dimensionamento manuale per Dimensionamento automatico Amazon EC2](ec2-auto-scaling-scaling-manually.md) 

## Fase 1: analizza i dati di serie temporali (opzionale)
<a name="analyzing-time-series-data"></a>

Inizia analizzando i dati delle serie temporali dei forecast. Si tratta di un passaggio facoltativo, ma è utile se desideri comprendere i dettagli del forecast.

1. **Recupero del forecast**

   Dopo aver creato il forecast, puoi avviare una query per un periodo di tempo specifico nel forecast. L'obiettivo della query è ottenere lo scenario completo dei dati delle serie temporali per un periodo di tempo specifico. 

   La query può includere fino a due giorni di dati di forecast futuro. Se utilizzi il dimensionamento predittivo per un certo periodo di tempo, puoi anche accedere ai dati dei forecast precedenti. Tuttavia, la durata massima tra l'ora di inizio e di fine è 30 giorni. 

   Per ottenere la previsione utilizzando il [get-predictive-scaling-forecast](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/get-predictive-scaling-forecast.html) AWS CLI comando, fornite i seguenti parametri nel comando: 
   + Inserisci il nome del gruppo con scalabilità automatica nel parametro `--auto-scaling-group-name`. 
   + Inserisci il nome della policy nel parametro `--policy-name`. 
   + Inserisci l'ora di inizio nel parametro `--start-time` affinché restituisca solo i dati di forecast per il periodo di tempo o dopo l'intervallo di tempo specificato.
   + Inserisci l'ora di fine nel parametro `--end-time` affinché restituisca solo i dati di forecast per il periodo di tempo precedente all'intervallo di tempo specificato. 

   ```
   aws autoscaling get-predictive-scaling-forecast --auto-scaling-group-name my-asg \
       --policy-name cpu40-predictive-scaling-policy \
       --start-time "2021-05-19T17:00:00Z" \
       --end-time "2021-05-19T23:00:00Z"
   ```

   Se riuscito, il comando restituirà dati simili a quelli dell'esempio seguente: 

   ```
   {
       "LoadForecast": [
           {
               "Timestamps": [
                   "2021-05-19T17:00:00+00:00",
                   "2021-05-19T18:00:00+00:00",
                   "2021-05-19T19:00:00+00:00",
                   "2021-05-19T20:00:00+00:00",
                   "2021-05-19T21:00:00+00:00",
                   "2021-05-19T22:00:00+00:00",
                   "2021-05-19T23:00:00+00:00"
               ],
               "Values": [
                   153.0655799339254,
                   128.8288551285919,
                   107.1179447150675,
                   197.3601844551528,
                   626.4039934516954,
                   596.9441277518481,
                   677.9675713779869
               ],
               "MetricSpecification": {
                   "TargetValue": 40.0,
                   "PredefinedMetricPairSpecification": {
                       "PredefinedMetricType": "ASGCPUUtilization"
                   }
               }
           }
       ],
       "CapacityForecast": {
           "Timestamps": [
               "2021-05-19T17:00:00+00:00",
               "2021-05-19T18:00:00+00:00",
               "2021-05-19T19:00:00+00:00",
               "2021-05-19T20:00:00+00:00",
               "2021-05-19T21:00:00+00:00",
               "2021-05-19T22:00:00+00:00",
               "2021-05-19T23:00:00+00:00"
           ],
           "Values": [
               2.0,
               2.0,
               2.0,
               2.0,
               4.0,
               4.0,
               4.0
           ]
       },
       "UpdateTime": "2021-05-19T01:52:50.118000+00:00"
   }
   ```

   La risposta include due forecast: `LoadForecast` e `CapacityForecast`. `LoadForecast` mostra il forecast del carico orario.`CapacityForecast` mostra i valori di forecast per la capacità necessaria su base oraria per gestire il carico previsto pur mantenendo un `TargetValue` di 40,0 (40% utilizzo medio della CPU).

1. **Identificazione del periodo di tempo di destinazione**

   Identifica l'ora o le ore in cui deve avvenire la variazione della domanda una tantum. Ricorda che le date e le ore mostrate nel forecast sono in UTC.

## Fase 2: creazione di due operazioni pianificate
<a name="scheduling-capacity"></a>

Ora crea quindi due operazioni pianificate per un periodo di tempo specifico in cui l'applicazione avrà un carico superiore a quello previsto. Ad esempio, se è previsto un evento di marketing che genererà traffico nel tuo sito per un periodo di tempo limitato, puoi pianificare un'operazione singola per aggiornare la capacità minima all'ora di inizio prevista. Quindi, pianifica un'altra operazione per riportare la capacità minima all'impostazione originale al termine dell'evento. 

**Come creare due operazioni pianificate per eventi singoli (console)**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)e scegli **Auto Scaling** Groups dal pannello di navigazione.

1. Seleziona la casella di controllo accanto al gruppo con dimensionamento automatico.

   Si aprirà un riquadro diviso nella parte inferiore della pagina. 

1. Nella scheda **Automatic scaling (Dimensionamento automatico)** scegliere **Create scheduled action (Crea operazione pianificata)** in **Scheduled actions (Operazioni pianificate)**.

1. Inserisci le seguenti impostazioni per le operazioni programmate:

   1. In **Name (Nome)** specifica un nome per l'operazione pianificata.

   1. In **Min**, inserisci la nuova capacità minima per il gruppo con scalabilità automatica. I **Min** devono essere minori o uguali alla dimensione massima del gruppo. Se il tuo valore per **Min** è superiore alla dimensione massima del gruppo, dovrai aggiornare **Max**. 

   1. In **Recurrence (Ricorrenza)**, scegli **Once (Una volta)**.

   1. In **Time zone (Fuso orario)**, scegli un fuso orario. Se non sceglierai alcun fuso orario, verrà utilizzato `ETC/UTC` per impostazione predefinita.

   1. Definisci il valore: **Specific start time (Ora di inizio specifica)**. 

1. Scegli **Create** (Crea).

   La console visualizza le operazioni programmate per il gruppo con scalabilità automatica. 

1. Configura una seconda operazione programmata per ripristinare l'impostazione originale della capacità minima alla fine dell'evento. Il dimensionamento predittivo può dimensionare la capacità solo quando il valore impostato per **Min** è inferiore ai valori di forecast.

**Come creare due operazioni pianificate per eventi singoli (AWS CLI)**  
Per utilizzare il AWS CLI per creare le azioni pianificate, usa il comando [put-scheduled-update-group-action](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scheduled-update-group-action.html). 

Ad esempio, definiamo una pianificazione che mantenga una capacità minima di tre istanze il 19 maggio alle 17:00 per otto ore. I comandi seguenti mostrano come implementare questo scenario.

Il primo comando [put-scheduled-update-group-action](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scheduled-update-group-action.html) indica ad Amazon EC2 Auto Scaling di aggiornare la capacità minima del gruppo Auto Scaling specificato alle 17:00 UTC del 19 maggio 2021. 

```
aws autoscaling put-scheduled-update-group-action --scheduled-action-name my-event-start \
  --auto-scaling-group-name my-asg --start-time "2021-05-19T17:00:00Z" --minimum-capacity 3
```

Il secondo comando indica ad Amazon EC2 Auto Scaling di impostare la capacità minima del gruppo su una alle 1:00 UTC del 20 maggio 2021. 

```
aws autoscaling put-scheduled-update-group-action --scheduled-action-name my-event-end \
  --auto-scaling-group-name my-asg --start-time "2021-05-20T01:00:00Z" --minimum-capacity 1
```

Dopo aver aggiunto queste operazioni pianificate al gruppo Auto Scaling, Amazon EC2 Auto Scaling esegue le seguenti operazioni: 
+ Alle 17:00 UTC del 19 maggio 2021, viene eseguita la prima operazione pianificata. Se il gruppo include meno di tre istanze, il gruppo si dimensiona su tre istanze. Durante questo periodo e per le otto ore successive, Amazon EC2 Auto Scaling può continuare a essere aumentato orizzontalmente, se la capacità prevista è superiore alla capacità effettiva o se è in atto una policy di dimensionamento dinamico. 
+ All' 01:00 UTC del 20 maggio 2021, viene eseguita la seconda operazione pianificata. Questo restituisce la capacità minima all'impostazione originale alla fine dell'evento.

### Dimensionamento in base a pianificazioni ricorrenti
<a name="scheduling-recurring-actions"></a>

Per sostituire il forecast per lo stesso periodo di tempo ogni settimana, crea due operazioni pianificate e fornisci la logica di data e ora utilizzando un'espressione cron. 

Il formato dell'espressione cron è costituito da cinque campi separati da spazi: [Minute] [Hour] [Day\$1of\$1Month] [Month\$1of\$1Year] [Day\$1of\$1Week]. I campi possono contenere tutti i valori consentiti, inclusi i caratteri speciali. 

Ad esempio, la seguente espressione cron campi esegue un'operazione ogni giorno alle 06:30. L'asterisco viene utilizzato come carattere jolly per abbinare tutti i valori di un campo.

```
30 6 * * 2
```

### Consulta anche
<a name="scheduling-scaling-see-also"></a>

Per ulteriori informazioni su come creare, elencare, modificare ed eliminare azioni programmate, vedi [Dimensionamento programmato per Dimensionamento automatico Amazon EC2](ec2-auto-scaling-scheduled-scaling.md).

# Politica di scalabilità predittiva avanzata che utilizza metriche personalizzate
<a name="predictive-scaling-customized-metric-specification"></a>

In una policy di dimensionamento predittivo, puoi utilizzare parametri predefiniti o personalizzati. I parametri personalizzati sono utili quando i parametri predefiniti (CPU, I/O di rete e numero di richieste di Application Load Balancer) non descrivono sufficientemente il carico dell'applicazione.

Quando crei una politica di scalabilità predittiva con metriche personalizzate, puoi specificare altre CloudWatch metriche fornite da AWS oppure puoi specificare metriche che definisci e pubblichi tu stesso. Puoi anche utilizzare la matematica metrica per aggregare e trasformare le metriche esistenti in una nuova serie temporale che non viene tracciata automaticamente. AWS Quando si combinano valori nei dati, ad esempio calcolando nuove somme o medie si parla di *aggregazione*. I dati risultanti sono chiamati *aggregato*.

La sezione seguente contiene le best practice e alcuni esempi di come costruire la struttura JSON per la policy. 

**Topics**
+ [Best practice](#custom-metrics-best-practices)
+ [Prerequisiti](#custom-metrics-prerequisites)
+ [Costruzione di JSON per i parametri personalizzati](construct-json-custom-metrics.md)
+ [Considerazioni sulle metriche personalizzate in una politica di scalabilità predittiva](custom-metrics-troubleshooting.md)
+ [Limitazioni](#custom-metrics-limitations)

## Best practice
<a name="custom-metrics-best-practices"></a>

Le seguenti best practice consentono di utilizzare i parametri personalizzati in modo più efficace:
+ Per la specifica del parametro del carico, il parametro più utile è un parametro che rappresenta il carico su un gruppo con scalabilità automatica nel suo complesso, indipendentemente dalla capacità del gruppo.
+ Per la specifica del parametro di dimensionamento, il parametro più utile da dimensionare è un parametro di velocità effettiva o utilizzo medio per istanza.
+ Il parametro di dimensionamento deve essere inversamente proporzionale alla capacità. Cioè, se il numero di istanze nel gruppo con scalabilità automatica aumenta, il parametro di dimensionamento dovrebbe diminuire approssimativamente della stessa proporzione. Per garantire che il dimensionamento predittivo si comporti come previsto, anche il parametro del carico e il parametro di ridimensionamento devono essere fortemente correlati tra loro. 
+ L'utilizzo di destinazione deve corrispondere al tipo di parametro di dimensionamento. Per una configurazione di policy che utilizza l'utilizzo della CPU, questa è una percentuale di destinazione. Per una configurazione di policy che utilizza la velocità effettiva, ad esempio il numero di richieste o messaggi, si tratta del numero di richieste o messaggi di destinazione per istanza durante un intervallo di un minuto.
+ Se questi suggerimenti non vengono seguiti, i valori futuri previsti della serie temporale probabilmente non saranno corretti. Per verificare che i dati siano corretti, puoi visualizzare i valori previsti nella console Dimensionamento automatico Amazon EC2. In alternativa, dopo aver creato la politica di scalabilità predittiva, ispeziona `CapacityForecast` gli oggetti restituiti da una `LoadForecast` chiamata all'API. [GetPredictiveScalingForecast](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_GetPredictiveScalingForecast.html)
+ Ti suggeriamo vivamente di configurare il dimensionamento predittivo in Forecast only (solo Forecast), in modo da poter valutare il Forecast prima che il dimensionamento predittivo inizi attivamente la capacità di dimensionamento.

## Prerequisiti
<a name="custom-metrics-prerequisites"></a>

Per aggiungere parametri personalizzati alla tua policy di dimensionamento predittivo, devi disporre delle autorizzazioni `cloudwatch:GetMetricData`.

Per specificare le tue metriche anziché le metriche AWS fornite da te, devi prima pubblicarle su. CloudWatch Per ulteriori informazioni, consulta [Pubblicazione di metriche personalizzate](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) nella *Amazon CloudWatch User Guide*. 

Quando pubblichi i tuoi parametri, assicurati di pubblicare i punti dati con una frequenza minima di cinque minuti. Amazon EC2 Auto Scaling recupera i CloudWatch punti dati in base alla durata del periodo necessario. Ad esempio, la specifica dei parametri di carico utilizza parametri orari per misurare il carico dell'applicazione. CloudWatch utilizza i dati metrici pubblicati per fornire un unico valore di dati per ogni periodo di un'ora aggregando tutti i punti dati con timestamp che rientrano in ogni periodo di un'ora. 

# Costruzione di JSON per i parametri personalizzati
<a name="construct-json-custom-metrics"></a>

La sezione seguente contiene esempi su come configurare la scalabilità predittiva da cui interrogare i dati. CloudWatch Esistono due metodi diversi per configurare questa opzione e il metodo scelto influisce sul formato utilizzato per costruire il JSON per la policy di scalabilità predittiva. Quando si utilizza la formula per i parametri, il formato del JSON varia ulteriormente in base alla formula eseguita.

1. Per creare una policy che ottenga i dati direttamente da altre CloudWatch metriche fornite da AWS o da metriche su cui pubblichi, consulta. CloudWatch [Esempio di policy di dimensionamento predittivo con parametri di carico e dimensionamento personalizzati (AWS CLI)](#custom-metrics-ex1)

1. Per creare una policy in grado di interrogare più CloudWatch metriche e utilizzare espressioni matematiche per creare nuove serie temporali basate su tali metriche, consulta. [Utilizzare le espressioni matematiche del parametro](using-math-expression-examples.md)

## Esempio di policy di dimensionamento predittivo con parametri di carico e dimensionamento personalizzati (AWS CLI)
<a name="custom-metrics-ex1"></a>

Per creare una politica di scalabilità predittiva con metriche di carico e scalabilità personalizzate con AWS CLI, memorizza gli argomenti per in un file JSON denominato. `--predictive-scaling-configuration` `config.json`

Inizi ad aggiungere parametri personalizzati sostituendo i valori sostituibili nell'esempio seguente con quelli dei tuoi parametri e del tuo obiettivo di destinazione.

```
{
  "MetricSpecifications": [
    {
      "TargetValue": 50,
      "CustomizedScalingMetricSpecification": {
        "MetricDataQueries": [
          {
            "Id": "scaling_metric",
            "MetricStat": {
              "Metric": {
                "MetricName": "MyUtilizationMetric",
                "Namespace": "MyNameSpace",
                "Dimensions": [
                  {
                    "Name": "MyOptionalMetricDimensionName",
                    "Value": "MyOptionalMetricDimensionValue"
                  }
                ]
              },
              "Stat": "Average"
            }
          }
        ]
      },
      "CustomizedLoadMetricSpecification": {
        "MetricDataQueries": [
          {
            "Id": "load_metric",
            "MetricStat": {
              "Metric": {
                "MetricName": "MyLoadMetric",
                "Namespace": "MyNameSpace",
                "Dimensions": [
                  {
                    "Name": "MyOptionalMetricDimensionName",
                    "Value": "MyOptionalMetricDimensionValue"
                  }
                ]
              },
              "Stat": "Sum"
            }
          }
        ]
      }
    }
  ]
}
```

Per ulteriori informazioni, consulta il riferimento [MetricDataQuery](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_MetricDataQuery.html)all'*API Amazon EC2 Auto Scaling*.

**Nota**  
Di seguito sono riportate alcune risorse aggiuntive che possono aiutarti a trovare nomi di metriche, namespace, dimensioni e statistiche relative alle metriche: CloudWatch   
Per informazioni sui parametri disponibili per AWS i servizi, consulta i [AWS servizi che pubblicano CloudWatch metriche](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html) nella *Amazon CloudWatch User* Guide.
[Per ottenere il nome esatto della metrica, lo spazio dei nomi e le dimensioni (se applicabili) di una CloudWatch metrica con, consulta list-metrics. AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudwatch/list-metrics.html) 

Per creare questo criterio, esegui il [put-scaling-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scaling-policy.html)comando utilizzando il file JSON come input, come illustrato nell'esempio seguente.

```
aws autoscaling put-scaling-policy --policy-name my-predictive-scaling-policy \
  --auto-scaling-group-name my-asg --policy-type PredictiveScaling \
  --predictive-scaling-configuration file://config.json
```

In caso di esito positivo, questo comando restituisce l'Amazon Resource Name (ARN) della policy.

```
{
  "PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:2f4f5048-d8a8-4d14-b13a-d1905620f345:autoScalingGroupName/my-asg:policyName/my-predictive-scaling-policy",
  "Alarms": []
}
```

# Utilizzare le espressioni matematiche del parametro
<a name="using-math-expression-examples"></a>

La sezione seguente fornisce informazioni ed esempi di policy di scalabilità predittiva che mostrano come utilizzare la formula dei parametri nella policy. 

**Topics**
+ [Comprendere la matematica dei parametri](#custom-metrics-metric-math)
+ [Esempio di policy di dimensionamento predittivo che combina parametri utilizzando la formula dei parametri (AWS CLI)](#custom-metrics-ex2)
+ [Esempio di politica di scalabilità predittiva da utilizzare in uno blue/green scenario di distribuzione ()AWS CLI](#custom-metrics-ex3)

## Comprendere la matematica dei parametri
<a name="custom-metrics-metric-math"></a>

Se tutto ciò che vuoi fare è aggregare i dati metrici esistenti, la matematica metrica ti consente di risparmiare lo sforzo e il costo della pubblicazione di un'altra CloudWatch metrica su. CloudWatch Puoi utilizzare qualsiasi metrica AWS fornita e puoi anche utilizzare le metriche che definisci come parte delle tue applicazioni. Ad esempio, potresti calcolare il backlog della coda di Amazon SQS per istanza. È possibile eseguire questa operazione prendendo il numero approssimativo di messaggi disponibili per il recupero dalla coda e dividendo tale numero per la capacità operativa del gruppo con scalabilità automatica.

Per ulteriori informazioni, consulta [Using metric Math](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html) nella *Amazon CloudWatch User Guide*. 

Se si sceglie di utilizzare un'espressione matematica dei parametri nella policy di dimensionamento predittivo, considerare i seguenti punti:
+ Le operazioni di matematica dei parametri utilizzano i punti dati della combinazione univoca di nome del parametro, namespace e coppie di parametri chiave/valore delle dimensioni. 
+ Puoi utilizzare qualsiasi operatore aritmetico (\$1 - \$1/^), funzione statistica (come AVG o SUM) o altra funzione che supporti. CloudWatch 
+ È possibile utilizzare i parametri e i risultati di altre espressioni matematiche nelle formule dell'espressione matematica. 
+ Le espressioni matematiche dei parametri possono essere costituite da aggregazioni diverse. Tuttavia, per il risultato finale dell'aggregazione è una best practice utilizzare `Average` per il parametro di dimensionamento e `Sum` per il parametro del carico.
+ Qualsiasi espressione utilizzata in una specifica dei parametri deve restituire una singola serie temporale.

Per utilizzare i parametri matematici, procedi come segue:
+ Scegli una o più metriche. CloudWatch Quindi, crea l'espressione. Per ulteriori informazioni, consulta [Using metric Math](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html) nella *Amazon CloudWatch User Guide*. 
+ Verifica che l'espressione matematica della metrica sia valida utilizzando la CloudWatch console o l'API. CloudWatch [GetMetricData](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html)

## Esempio di policy di dimensionamento predittivo che combina parametri utilizzando la formula dei parametri (AWS CLI)
<a name="custom-metrics-ex2"></a>

A volte, invece di specificare direttamente il parametro, potrebbe essere necessario prima elaborarne i dati in qualche modo. Ad esempio, potresti avere un'applicazione che estrae il lavoro da una coda Amazon SQS e potresti utilizzare il numero di elementi nella coda come policy di dimensionamento predittivo. Il numero di messaggi nella coda non definisce esclusivamente il numero di istanze necessarie. Pertanto, è necessario più lavoro per creare un parametro che si può utilizzare per calcolare il backlog per istanza. Per ulteriori informazioni, consulta [Policy di scalabilità basata su Amazon SQS](as-using-sqs-queue.md).

Di seguito viene illustrato un esempio di policy di dimensionamento predittivo per questo scenario. Specifica i parametri di dimensionamento e del carico basati sul parametro `ApproximateNumberOfMessagesVisible` di Amazon SQS, ovvero il numero di messaggi disponibili per il recupero dalla coda. Utilizza anche il parametro `GroupInServiceInstances`di Amazon EC2 Auto Scaling e un'espressione matematica per calcolare il backlog per istanza del parametro di dimensionamento.

```
aws autoscaling put-scaling-policy --policy-name my-sqs-custom-metrics-policy \
  --auto-scaling-group-name my-asg --policy-type PredictiveScaling \
  --predictive-scaling-configuration file://config.json
{
  "MetricSpecifications": [
    {
      "TargetValue": 100,
      "CustomizedScalingMetricSpecification": {
        "MetricDataQueries": [
          {
            "Label": "Get the queue size (the number of messages waiting to be processed)",
            "Id": "queue_size",
            "MetricStat": {
              "Metric": {
                "MetricName": "ApproximateNumberOfMessagesVisible",
                "Namespace": "AWS/SQS",
                "Dimensions": [
                  {
                    "Name": "QueueName",
                    "Value": "my-queue"
                  }
                ]
              },
              "Stat": "Sum"
            },
            "ReturnData": false
          },
          {
            "Label": "Get the group size (the number of running instances)",
            "Id": "running_capacity",
            "MetricStat": {
              "Metric": {
                "MetricName": "GroupInServiceInstances",
                "Namespace": "AWS/AutoScaling",
                "Dimensions": [
                  {
                    "Name": "AutoScalingGroupName",
                    "Value": "my-asg"
                  }
                ]
              },
              "Stat": "Sum"
            },
            "ReturnData": false
          },
          {
            "Label": "Calculate the backlog per instance",
            "Id": "scaling_metric",
            "Expression": "queue_size / running_capacity",
            "ReturnData": true
          }
        ]
      },
      "CustomizedLoadMetricSpecification": {
        "MetricDataQueries": [
          {
            "Id": "load_metric",
            "MetricStat": {
              "Metric": {
                "MetricName": "ApproximateNumberOfMessagesVisible",
                "Namespace": "AWS/SQS",
                "Dimensions": [
                  {
                    "Name": "QueueName",
                    "Value": "my-queue"
                  }
                ],
              },
              "Stat": "Sum"
            },
            "ReturnData": true
          }
        ]
      }
    }
  ]
}
```

L'esempio restituisce l'ARN della policy.

```
{
  "PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:2f4f5048-d8a8-4d14-b13a-d1905620f345:autoScalingGroupName/my-asg:policyName/my-sqs-custom-metrics-policy",
  "Alarms": []
}
```

## Esempio di politica di scalabilità predittiva da utilizzare in uno blue/green scenario di distribuzione ()AWS CLI
<a name="custom-metrics-ex3"></a>

Un'espressione di ricerca fornisce un'opzione avanzata in cui è possibile eseguire query per un parametro da più gruppi Auto Scaling ed eseguire espressioni matematiche su di essi. Ciò è particolarmente utile per blue/green le implementazioni. 

**Nota**  
Un'*implementazione blu/verde* è un metodo di implementazione in cui si creano due gruppi Auto Scaling separati ma identici. Solo uno dei gruppi riceve il traffico di produzione. Il traffico utente viene inizialmente indirizzato al gruppo con scalabilità automatica precedente ("blu"), mentre un nuovo gruppo ("verde") viene utilizzato per testare e valutare una nuova versione di un'applicazione o di un servizio. Il traffico utente viene spostato sul gruppo con scalabilità automatica verde dopo che una nuova implementazione è stata testata e accettata. È quindi possibile eliminare il gruppo blu dopo che l'implementazione ha avuto esito positivo.

Quando vengono creati nuovi gruppi di Auto Scaling come parte di un' blue/green implementazione, la cronologia delle metriche di ciascun gruppo può essere inclusa automaticamente nella politica di scalabilità predittiva senza che sia necessario modificarne le specifiche metriche. Per ulteriori informazioni, consulta [Utilizzo delle politiche di scalabilità predittiva di EC2 Auto Scaling con implementazioni Blue/Green sul](https://aws.amazon.com/blogs/compute/retaining-metrics-across-blue-green-deployment-for-predictive-scaling/) blog di Compute. AWS 

Di seguito viene illustrato un esempio di policy che mostra come eseguire questa operazione. In questo esempio, la policy utilizza il parametro `CPUUtilization` emesso da Amazon EC2. Utilizza il parametro `GroupInServiceInstances`di Dimensionamento automatico Amazon EC2 e un'espressione matematica per calcolare il valore del parametro di dimensionamento per istanza. Definisce inoltre una specifica del parametro di capacità per ottenere il parametro `GroupInServiceInstances`.

L'espressione di ricerca trova `CPUUtilization` delle istanze in più gruppi Auto Scaling in base ai criteri di ricerca specificati. Se successivamente crei un nuovo gruppo con scalabilità automatica che soddisfi gli stessi criteri di ricerca, `CPUUtilization` delle istanze nel nuovo gruppo con scalabilità automatica viene automaticamente incluso.

```
aws autoscaling put-scaling-policy --policy-name my-blue-green-predictive-scaling-policy \
  --auto-scaling-group-name my-asg --policy-type PredictiveScaling \
  --predictive-scaling-configuration file://config.json
{
  "MetricSpecifications": [
    {
      "TargetValue": 25,
      "CustomizedScalingMetricSpecification": {
        "MetricDataQueries": [
          {
            "Id": "load_sum",
            "Expression": "SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\"CPUUtilization\" ASG-myapp', 'Sum', 300))",
            "ReturnData": false
          },
          {
            "Id": "capacity_sum",
            "Expression": "SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\"GroupInServiceInstances\" ASG-myapp', 'Average', 300))",
            "ReturnData": false
          },
          {
            "Id": "weighted_average",
            "Expression": "load_sum / capacity_sum",
            "ReturnData": true
          }
        ]
      },
      "CustomizedLoadMetricSpecification": {
        "MetricDataQueries": [
          {
            "Id": "load_sum",
            "Expression": "SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\"CPUUtilization\" ASG-myapp', 'Sum', 3600))"
          }
        ]
      },
      "CustomizedCapacityMetricSpecification": {
        "MetricDataQueries": [
          {
            "Id": "capacity_sum",
            "Expression": "SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\"GroupInServiceInstances\" ASG-myapp', 'Average', 300))"
          }
        ]
      }
    }
  ]
}
```

L'esempio restituisce l'ARN della policy.

```
{
  "PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:2f4f5048-d8a8-4d14-b13a-d1905620f345:autoScalingGroupName/my-asg:policyName/my-blue-green-predictive-scaling-policy",
  "Alarms": []
}
```

# Considerazioni sulle metriche personalizzate in una politica di scalabilità predittiva
<a name="custom-metrics-troubleshooting"></a>

Se si verifica un problema durante l'utilizzo di parametri personalizzati, si consiglia di procedere come segue:
+ Se viene restituito un messaggio di errore, leggi il messaggio e risolvi il problema segnalato, se possibile. 
+ Se si verifica un problema quando tenti di utilizzare un'espressione di ricerca in uno scenario di blue/green distribuzione, assicurati innanzitutto di aver compreso come creare un'espressione di ricerca che cerchi una corrispondenza parziale anziché una corrispondenza esatta. Inoltre, verifica che la query trovi solo i gruppi Auto Scaling che eseguono l'applicazione specifica. Per ulteriori informazioni sulla sintassi delle espressioni di ricerca, consulta la sintassi delle [espressioni di CloudWatch ricerca](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/search-expression-syntax.html) nella *Amazon CloudWatch User Guide*. 
+ Se non hai convalidato un'espressione in anticipo, il [put-scaling-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scaling-policy.html)comando la convalida quando crei la tua politica di scalabilità. Tuttavia, esiste la possibilità che questo comando non riesca a identificare la causa esatta degli errori rilevati. Per risolvere i problemi, risolvete gli errori che ricevete in risposta a una richiesta al comando. [get-metric-data](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudwatch/get-metric-data.html) È inoltre possibile risolvere i problemi relativi all'espressione dalla console. CloudWatch 
+ Quando visualizzi i grafici **Load** (Carico) e **Capacity** (Capacità) nella console, il grafico **Capacity** (Capacità) potrebbe non mostrare alcun dato. Per garantire che i grafici dispongano di dati completi, assicurati di abilitare in modo coerente i parametri di gruppo per i gruppi Auto Scaling. Per ulteriori informazioni, consulta [Abilitazione dei parametri del gruppo con scalabilità automatica (console)](ec2-auto-scaling-metrics.md#as-enable-group-metrics).
+ La specifica del parametro della capacità è utile solo per le implementazioni blu/verdi quando si dispone di applicazioni eseguite in diversi gruppi Auto Scaling nel corso del loro ciclo di vita. Questo parametro personalizzato consente di fornire la capacità totale di più gruppi Auto Scaling. Il dimensionamento predittivo utilizza questo strumento per mostrare i dati cronologici nel grafico **Capacità** nella console.
+ Devi specificare `false` per `ReturnData` se `MetricDataQueries` specifica la funzione SEARCH() da sola senza una funzione matematica come SUM(). Questo perché le espressioni di ricerca possono restituire più serie temporali e una specifica del parametro basata su un'espressione può restituire solo una serie temporale.
+ Tutti i parametri coinvolti in un'espressione di ricerca devono avere la stessa risoluzione.

## Limitazioni
<a name="custom-metrics-limitations"></a>
+ Puoi eseguire query su punti dati con un massimo di 10 parametri in un'unica specifica del parametro.
+ Ai fini di questo limite, un'espressione conta come un parametro.