

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à.

# Utilizzo di Auto Scaling con i shard
<a name="AutoScaling-Using-Shards"></a>

Con s AutoScaling puoi utilizzare le politiche ElastiCache di tracciamento e pianificazione con il tuo motore Valkey o Redis OSS. 

Di seguito vengono forniti dettagli sul tracciamento degli obiettivi e sulle politiche pianificate e su come applicarle utilizzando e. Console di gestione AWS AWS CLI APIs

**Topics**
+ [Policy di dimensionamento con monitoraggio degli obiettivi](AutoScaling-Scaling-Policies-Target.md)
+ [Aggiunta di una policy di dimensionamento](AutoScaling-Scaling-Adding-Policy-Shards.md)
+ [Registrare un target scalabile](AutoScaling-Scaling-Registering-Policy-CLI.md)
+ [Definizione di una policy di dimensionamento](AutoScaling-Scaling-Defining-Policy-API.md)
+ [Disabilitazione dell'attività di riduzione orizzontale](AutoScaling-Scaling-Disabling-Scale-in.md)
+ [Applicazione di una policy di dimensionamento](AutoScaling-Scaling-Applying-a-Scaling-Policy.md)
+ [Modifica di una policy di dimensionamento](AutoScaling-Scaling-Editing-a-Scaling-Policy.md)
+ [Eliminazione di una policy di dimensionamento](AutoScaling-Scaling-Deleting-a-Scaling-Policy.md)
+ [Utilizzo CloudFormation per le politiche di Auto Scaling](AutoScaling-with-Cloudformation-Shards.md)
+ [Dimensionamento pianificato](AutoScaling-with-Scheduled-Scaling-Shards.md)

# Policy di dimensionamento con monitoraggio degli obiettivi
<a name="AutoScaling-Scaling-Policies-Target"></a>

Con le politiche di scalabilità del tracciamento degli obiettivi, si seleziona una metrica e si imposta un valore obiettivo. ElastiCache per Valkey e Redis OSS Auto Scaling crea e gestisce gli allarmi che attivano CloudWatch la politica di scalabilità e calcola la regolazione della scalabilità in base alla metrica e al valore target. La policy di dimensionamento aggiunge o rimuove partizioni in base alle necessità, per mantenere il parametro al valore di destinazione specificato o vicino a esso. Oltre a mantenere il parametro vicino al valore di destinazione, una policy di dimensionamento di monitoraggio dei target si adatta anche alle fluttuazioni del parametro dovute a un modello di carico fluttuante e riduce al minimo le fluttuazioni rapide nella capacità del parco istanze. 

Ad esempio, si consideri una policy di dimensionamento che utilizza la media predefinita`ElastiCachePrimaryEngineCPUUtilization`Metrica con il valore di destinazione configurato. Tale policy può mantenere l'utilizzo della CPU al valore di destinazione specificato o vicino al valore di destinazione specificato.

## Metriche predefinite
<a name="AutoScaling-Scaling-Criteria-predfined-metrics"></a>

Una metrica predefinita è una struttura che fa riferimento a un nome, una dimensione e una statistica () specifici di una determinata metrica. `average` CloudWatch La policy di dimensionamento automatico definisce le seguenti metriche predefinite per il cluster:


****  

| Nome parametro predefinito | CloudWatch Nome parametro | CloudWatch Dimensione metrica | Tipi di istanza non idonei  | 
| --- | --- | --- | --- | 
| ElastiCachePrimaryEngineCPUUtilization |  `EngineCPUUtilization`  |  ReplicationGroupId, Ruolo = primario  | Nessuno | 
| ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage |  `DatabaseCapacityUsageCountedForEvictPercentage`  |  Metriche del gruppo di replica OSS Valkey o Redis  | Nessuno | 
| ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage |  `DatabaseMemoryUsageCountedForEvictPercentage`  |  Metriche del gruppo di replica Valkey o Redis OSS  | R6gd | 

I tipi di istanza dei livelli di dati non possono utilizzare `ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage`, poiché questi tipi di istanza archiviano i dati in memoria e in SSD. Il caso d'uso previsto per le istanze dei livelli di dati è avere il 100% di utilizzo della memoria e riempire l'SSD in base alle esigenze.

## Criteri Auto Scaling per le partizioni
<a name="AutoScaling-Scaling-Criteria"></a>

Quando il servizio rileva che la metrica predefinita è uguale o superiore all'impostazione di Target, aumenta automaticamente la capacità degli shard. ElastiCache per Valkey e Redis OSS ridimensiona gli shard del cluster in base a un conteggio pari al più grande tra due numeri: la variazione percentuale rispetto a Target e il 20% degli shard attuali. Per quanto riguarda la scalabilità in entrata, ElastiCache non verrà eseguita automaticamente a meno che il valore della metrica complessivo non sia inferiore al 75 percento del Target definito. 

Per un esempio di scala orizzontale, se hai 50 frammenti e
+ se Target viola del 30 percento, si ElastiCache ridimensiona orizzontalmente del 30 percento, il che si traduce in 65 shard per cluster. 
+ se Target viene violato del 10%, per impostazione predefinita viene ElastiCache ridimensionato almeno del 20%, il che si traduce in 60 shard per cluster. 

Ad esempio, se hai selezionato un valore Target del 60 percento, ElastiCache non verrà eseguito lo scaling automatico finché la metrica non sarà inferiore o uguale al 45 percento (25 percento inferiore al 60 percento del Target).

## Considerazioni su Auto Scaling
<a name="AutoScaling-Scaling-Considerations"></a>

Tieni a mente le seguenti considerazioni:
+ Una policy di dimensionamento di monitoraggio obiettivi presuppone che essa debba eseguire un dimensionamento orizzontale quando il parametro specificato supera il valore di destinazione. Non è possibile utilizzare una politica di ridimensionamento del tracciamento degli obiettivi per la scalabilità orizzontale quando la metrica specificata è inferiore al valore target. ElastiCache for Valkey e Redis OSS ridimensiona gli shard con una deviazione minima del 20% rispetto alla destinazione degli shard esistenti nel cluster.
+ Una policy di dimensionamento di monitoraggio obiettivi non esegue il dimensionamento quando il parametro specificato non dispone di dati sufficienti. Non esegue la riduzione orizzontale perché l’insufficienza di dati non viene interpretata come basso utilizzo. 
+ Potrebbero esserci delle differenze tra il valore di destinazione e i punti di dati dei parametri reali. Questo perché ElastiCache Auto Scaling agisce sempre in modo conservativo arrotondando verso l'alto o verso il basso quando determina la quantità di capacità da aggiungere o rimuovere. In questo modo si impedisce l'aggiunta di capacità insufficiente o la rimozione di capacità eccessiva. 
+ Per garantire la disponibilità delle applicazioni, il servizio aumenta in proporzione al parametro il più veloce possibile, ma si riduce in modo più conservativo. 
+ È possibile disporre di più politiche di scalabilità di tracciamento degli obiettivi per un cluster ElastiCache for Valkey e Redis OSS, a condizione che ciascuna di esse utilizzi una metrica diversa. L'intenzione di ElastiCache Auto Scaling è quella di dare sempre la priorità alla disponibilità, quindi il suo comportamento varia a seconda che le policy di tracciamento di destinazione siano pronte per la scalabilità orizzontale o verticale. Il servizio viene aumentato se una qualsiasi delle policy di monitoraggio obiettivi è pronta per l'aumento, ma viene ridotto solo se tutte le policy di monitoraggio obiettivi (con la porzione di riduzione abilitata) sono pronte per la riduzione. 
+ Non modificate o eliminate gli CloudWatch allarmi gestiti da ElastiCache Auto Scaling per una politica di scalabilità di tracciamento degli obiettivi. ElastiCache Auto Scaling elimina automaticamente gli allarmi quando si elimina la politica di ridimensionamento. 
+ ElastiCache L'Auto Scaling non impedisce di modificare manualmente gli shard del cluster. Queste regolazioni manuali non influiscono sugli CloudWatch allarmi esistenti associati alla politica di scalabilità, ma possono influire sulle metriche che potrebbero attivare questi allarmi. CloudWatch 
+ Questi CloudWatch allarmi gestiti da Auto Scaling sono definiti sulla base della metrica AVG su tutti gli shard del cluster. Quindi, avere frammenti caldi può comportare uno scenario di:
  + ridimensionamento quando non necessario a causa del caricamento su alcuni shard caldi che attiva un allarme CloudWatch 
  + non dimensionare quando richiesto a causa di AVG aggregato su tutti le partizioni che influiscono sull'allarme non violato. 
+ ElastiCache i limiti predefiniti relativi ai nodi per cluster sono ancora validi. Pertanto, quando si opta per il Auto Scaling e se si prevede che i nodi massimi siano superiori al limite di default, è necessario richiedere un aumento del limite a[AWS Restrizioni dei servizi](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)e scegliere il tipo di limite**Nodi per cluster per tipo di istanza**. 
+ Assicurati di avere abbastanza ENIs (interfacce di rete elastiche) disponibili nel tuo VPC, necessarie durante la scalabilità orizzontale. Per ulteriori informazioni, consulta [Interfacce di rete elastiche](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ElasticNetworkInterfaces.html).
+ Se la capacità disponibile non è sufficiente EC2, ElastiCache Auto Scaling non scalerà e verrà ritardato fino a quando la capacità non sarà disponibile.
+ ElastiCache per Redis OSS Auto Scaling durante lo scale-in non rimuoverà gli shard con slot con una dimensione dell'elemento superiore a 256 MB dopo la serializzazione.
+ Durante la scale-in non rimuoverà i frammenti se la memoria disponibile è insufficiente nella configurazione di partizioni risultante.

# Aggiunta di una policy di dimensionamento
<a name="AutoScaling-Scaling-Adding-Policy-Shards"></a>

È possibile aggiungere una politica di scalabilità utilizzando. Console di gestione AWS

**Per aggiungere una policy di Auto Scaling a un cluster ElastiCache for Valkey e Redis OSS**

1. Accedi a Console di gestione AWS e apri la ElastiCache console Amazon all'indirizzo [https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/).

1. Nel pannello di navigazione, scegli **Valkey** o **Redis** OSS. 

1. Scegli il cluster a cui aggiungere una policy (seleziona il nome del cluster e non il pulsante a sinistra del cluster). 

1. Seleziona la scheda **Policy di Auto Scaling**. 

1. Scegli **add dynamic scaling** (Aggiungi dimensionamento automatico). 

1. In **Nome policy**, immetti un nome per la policy. 

1. Per **Dimensione scalabile** scegli **partizioni**. 

1. Per il parametro di destinazione, scegli uno dei seguenti modi:
   + **Utilizzo primario della CPU** per creare una policy basata sull'utilizzo medio della CPU. 
   + **Memoria** per creare una policy basata sulla memoria media del database. 
   + **Capacità** per creare una policy basata sull'utilizzo della capacità database media. La metrica Capacità include l'utilizzo della memoria e di SSD per le istanze dei livelli di dati e l'utilizzo della memoria per tutti gli altri tipi di istanza.

1. Per il valore target, scegli un valore maggiore o uguale a 35 e inferiore o uguale a 70. La scalabilità automatica manterrà questo valore per la metrica target selezionata tra i tuoi shard: ElastiCache 
   + **Utilizzo della CPU primaria**: mantiene il valore target per la metrica `EngineCPUUtilization` sui nodi primari. 
   + **Memoria**: mantiene il valore target per la metrica `DatabaseMemoryUsageCountedForEvictPercentage` 
   + **Capacità** mantiene il valore target per la metrica `DatabaseCapacityUsageCountedForEvictPercentage`,

   Le partizioni del cluster vengono aggiunte o rimosse per tenere il parametro vicino al valore specificato. 

1. (Facoltativo) I periodi di attesa di riduzione o aumento non sono supportati dalla console. Utilizzate il AWS CLI per modificare i valori di cooldown. 

1. Per **Capacità minima**, digita il numero minimo di shard che la policy ElastiCache Auto Scaling deve mantenere. 

1. Per **Capacità massima**, digitare il numero massimo di shard che la policy ElastiCache Auto Scaling deve mantenere. Questo valore deve essere maggiore o uguale a 250.

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

# Registrare un target scalabile
<a name="AutoScaling-Scaling-Registering-Policy-CLI"></a>

Prima di poter utilizzare Auto Scaling con un cluster ElastiCache for Valkey e Redis OSS, è necessario registrare il cluster con auto scaling. ElastiCache Lo fai per definire la dimensione di scalabilità e i limiti da applicare a quel cluster. ElastiCache la scalabilità automatica ridimensiona dinamicamente il cluster lungo la dimensione `elasticache:replication-group:NodeGroups` scalabile, che rappresenta il numero di shard del cluster. 

 **Usando il AWS CLI** 

Per registrare il tuo cluster ElastiCache for Valkey e Redis OSS, usa il [register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html)comando con i seguenti parametri: 
+ `--service-namespace` – Imposta questo valore su `elasticache`
+ `--resource-id`— L'identificatore di risorsa per il cluster. Per questo parametro, il tipo di risorsa è `ReplicationGroup` e l'identificatore univoco è il nome del cluster, ad esempio. `replication-group/myscalablecluster` 
+ `--scalable-dimension`: imposta questo valore su `elasticache:replication-group:NodeGroups`. 
+ `--max-capacity `— Il numero massimo di shard da gestire mediante la scalabilità ElastiCache automatica. Per informazioni sulla relazione tra `--min-capacity`, `--max-capacity` e il numero di partizioni nel cluster, consulta [Capacità minima e massima](AutoScaling-Policies.md#AutoScaling-MinMax). 
+ `--min-capacity `— Il numero minimo di shard da gestire tramite ElastiCache auto scaling. Per informazioni sulla relazione tra `--min-capacity`, `--max-capacity` e il numero di partizioni nel cluster, consulta [Capacità minima e massima](AutoScaling-Policies.md#AutoScaling-MinMax). 

**Example**  
 Nell'esempio seguente, si registra un ElastiCache cluster denominato. `myscalablecluster` La registrazione indica che il cluster deve essere dimensionato dinamicamente per avere da uno a dieci partizioni .   
Per Linux, macOS o Unix:  

```
aws application-autoscaling register-scalable-target \
    --service-namespace elasticache \
    --resource-id replication-group/myscalablecluster \
    --scalable-dimension elasticache:replication-group:NodeGroups \
    --min-capacity 1 \
    --max-capacity 10 \
```
Per Windows:  

```
aws application-autoscaling register-scalable-target ^
    --service-namespace elasticache ^
    --resource-id replication-group/myscalablecluster ^
    --scalable-dimension elasticache:replication-group:NodeGroups ^
    --min-capacity 1 ^
    --max-capacity 10 ^
```

**Utilizzo dell'API**

Per registrare il ElastiCache cluster, utilizzate il [register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html)comando con i seguenti parametri: 
+ ServiceNamespace — Imposta questo valore su elasticache. 
+ resourceID: l'identificatore della risorsa per il cluster. ElastiCache Per questo parametro, il tipo di risorsa è ReplicationGroup e l'identificatore univoco è il nome del cluster, ad esempio. `replication-group/myscalablecluster` 
+ ScalableDimension — Imposta questo valore su. `elasticache:replication-group:NodeGroups` 
+ MinCapacity — Il numero minimo di shard da gestire tramite ElastiCache auto scaling. Per informazioni sulla relazione tra —capacità-min, —capacità-max il numero di repliche nel cluster, consulta.[Capacità minima e massima](AutoScaling-Policies.md#AutoScaling-MinMax).
+ MaxCapacity — Il numero massimo di shard da gestire mediante la scalabilità ElastiCache automatica. Per informazioni sulla relazione tra —capacità-min, —capacità-max il numero di repliche nel cluster, consulta.[Capacità minima e massima](AutoScaling-Policies.md#AutoScaling-MinMax).

**Example**  
Nell'esempio seguente, si registra un ElastiCache cluster denominato `myscalablecluster` con l'API Application Auto Scaling. Questa registrazione indica che il cluster database deve essere dimensionato dinamicamente per avere da uno a 5 repliche .   

```
POST / HTTP/1.1
Host: autoscaling.us-east-2.amazonaws.com
Accept-Encoding: identity
Content-Length: 219
X-Amz-Target: AnyScaleFrontendService.RegisterScalableTarget
X-Amz-Date: 20160506T182145Z
User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8
Content-Type: application/x-amz-json-1.1
Authorization: AUTHPARAMS
{
    "ServiceNamespace": "elasticache",
    "ResourceId": "replication-group/myscalablecluster",
    "ScalableDimension": "elasticache:replication-group:NodeGroups",
    "MinCapacity": 1,
    "MaxCapacity": 5
}
```

# Definizione di una policy di dimensionamento
<a name="AutoScaling-Scaling-Defining-Policy-API"></a>

Una configurazione della policy di dimensionamento di monitoraggio degli obiettivi è rappresentata da un blocco JSON in cui sono definiti i valori dei parametri e della destinazione. Puoi salvare una configurazione della policy di dimensionamento come un blocco JSON in un file di testo. Si utilizza quel file di testo quando si richiama l'API AWS CLI Application Auto Scaling. Per ulteriori informazioni sulla sintassi della configurazione della policy, consulta [TargetTrackingScalingPolicyConfiguration](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_TargetTrackingScalingPolicyConfiguration.html) in Application Auto Scaling API Reference. 

Le seguenti opzioni sono disponibili per definire una configurazione di una policy di dimensionamento con monitoraggio degli obiettivi. 

**Topics**
+ [Utilizzo di un parametro di default](#AutoScaling-Scaling-Predefined-Metric)
+ [Utilizzo di un parametro personalizzato](#AutoScaling-Scaling-Custom-Metric)
+ [Utilizzo di periodi di attesa](#AutoScaling-Scaling-Cooldown-periods)

## Utilizzo di un parametro di default
<a name="AutoScaling-Scaling-Predefined-Metric"></a>

Utilizzando metriche predefinite, puoi definire rapidamente una politica di scalabilità del tracciamento del target per un cluster ElastiCache for Valkey e Redis OSS che funziona con il tracciamento del target in Auto Scaling. ElastiCache 

Attualmente, ElastiCache supporta le seguenti metriche predefinite in Auto NodeGroup Scaling: 
+ **ElastiCachePrimaryEngineCPUUtilization**— Il valore medio della `EngineCPUUtilization` metrica in tutti i nodi primari del CloudWatch cluster.
+ **ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage**— Il valore medio della `DatabaseMemoryUsageCountedForEvictPercentage` metrica in CloudWatch tutti i nodi primari del cluster.
+ **ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage**— Il valore medio della `ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage` metrica in CloudWatch tutti i nodi primari del cluster.

Per ulteriori informazioni sulle metriche `EngineCPUUtilization`, `DatabaseMemoryUsageCountedForEvictPercentage` e `DatabaseCapacityUsageCountedForEvictPercentage`, consultare [Monitoraggio dell'utilizzo con CloudWatch Metrics](CacheMetrics.md). Per utilizzare un parametro di default nella policy di dimensionamento, crea una configurazione di monitoraggio degli obiettivi per la policy di dimensionamento. La configurazione deve includere un `PredefinedMetricSpecification` per il parametro di default e un TargetValue per il valore di destinazione del parametro. 

**Example**  
L'esempio seguente descrive una tipica configurazione delle policy per il ridimensionamento del target-tracking per un cluster ElastiCache for Valkey e Redis OSS. In questa configurazione, la metrica `ElastiCachePrimaryEngineCPUUtilization` predefinita viene utilizzata per regolare il cluster in base a un utilizzo medio della CPU del 40% su tutti i nodi primari del cluster.   

```
{
    "TargetValue": 40.0,
    "PredefinedMetricSpecification":
    {
        "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization"
    }
}
```

## Utilizzo di un parametro personalizzato
<a name="AutoScaling-Scaling-Custom-Metric"></a>

 Utilizzando dei parametri personalizzati, è possibile definire una policy di dimensionamento di monitoraggio degli obiettivi che soddisfi i requisiti personalizzati. È possibile definire un parametro personalizzato in base a qualsiasi parametro ElastiCache che si modifichi in proporzione al dimensionamento. Non tutte le ElastiCache metriche funzionano per il tracciamento degli obiettivi. Il parametro deve essere un parametro di utilizzo valido e deve descrivere quanto è impegnata un'istanza. Il valore del parametro deve aumentare o diminuire in proporzione al numero di partizioni nel cluster. Questo aumento o riduzione proporzionale è necessario per utilizzare i dati del parametro per aumentare orizzontalmente in modo proporzionale il numero di repliche . 

**Example**  
Il seguente esempio descrive una configurazione di monitoraggio degli obiettivi per una policy di dimensionamento. In questa configurazione, una metrica personalizzata regola un ElastiCache cluster Redis OSS in base a un utilizzo medio della CPU del 50% su tutti gli shard di un cluster denominato. `my-db-cluster` 

```
{
    "TargetValue": 50,
    "CustomizedMetricSpecification":
    {
        "MetricName": "EngineCPUUtilization",
        "Namespace": "AWS/ElastiCache",
        "Dimensions": [
            {
                "Name": "ReplicationGroup","Value": "my-db-cluster"
            },
            {
                "Name": "Role","Value": "PRIMARY"
            }
        ],
        "Statistic": "Average",
        "Unit": "Percent"
    }
}
```

## Utilizzo di periodi di attesa
<a name="AutoScaling-Scaling-Cooldown-periods"></a>

È possibile specificare un valore, in secondi, per `ScaleOutCooldown` per aggiungere un periodo di attesa per il dimensionamento orizzontale del cluster. Allo stesso modo, è possibile aggiungere un valore, in secondi, per `ScaleInCooldown` per aggiungere un periodo di attesa per la riduzione del cluster. Per ulteriori informazioni, consulta [TargetTrackingScalingPolicyConfiguration](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_TargetTrackingScalingPolicyConfiguration.html)l'Application Auto Scaling API Reference. 

 Il seguente esempio descrive una configurazione di monitoraggio degli obiettivi per una policy di dimensionamento. In questa configurazione, la metrica `ElastiCachePrimaryEngineCPUUtilization` predefinita viene utilizzata ElastiCache per regolare un cluster Redis OSS in base a un utilizzo medio della CPU del 40% su tutti i nodi primari di quel cluster. La configurazione fornisce un tempo di raffreddamento di riduzione orizzontale di 10 minuti e un tempo di raffreddamento di aumento di 5 minuti. 

```
{
    "TargetValue": 40.0,
    "PredefinedMetricSpecification":
    {
        "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization"
    },
    "ScaleInCooldown": 600,
    "ScaleOutCooldown": 300
}
```

# Disabilitazione dell'attività di riduzione orizzontale
<a name="AutoScaling-Scaling-Disabling-Scale-in"></a>

È possibile impedire la scalabilità della configurazione della policy di scalabilità target-tracking nel cluster disabilitando l'attività di scalabilità in ingresso. La disabilitazione delle attività di riduzione orizzontale impedisce alla policy di dimensionamento di eliminare le partizioni, consentendo tuttavia alla policy di dimensionamento di crearle in base alle esigenze. 

È possibile specificare un valore booleano per `DisableScaleIn` per abilitare o disabilitare l'attività di riduzione orizzontale per il cluster. Per ulteriori informazioni, consulta [TargetTrackingScalingPolicyConfiguration](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_TargetTrackingScalingPolicyConfiguration.html)l'Application Auto Scaling API Reference. 

Il seguente esempio descrive una configurazione di monitoraggio degli obiettivi per una policy di dimensionamento. In questa configurazione, la metrica `ElastiCachePrimaryEngineCPUUtilization` predefinita regola un cluster ElastiCache per Valkey e Redis OSS in base a un utilizzo medio della CPU del 40% su tutti i nodi primari di quel cluster. La configurazione disabilita l'attività di riduzione per la policy di dimensionamento. 

```
{
    "TargetValue": 40.0,
    "PredefinedMetricSpecification":
    {
        "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization"
    },
    "DisableScaleIn": true
}
```

# Applicazione di una policy di dimensionamento
<a name="AutoScaling-Scaling-Applying-a-Scaling-Policy"></a>

Dopo aver registrato il cluster con la scalabilità automatica ElastiCache di Valkey e Redis OSS e aver definito una politica di scalabilità, applichi la politica di scalabilità al cluster registrato. Per applicare una policy di scalabilità a un cluster ElastiCache for Redis OSS, puoi utilizzare AWS CLI o l'API Application Auto Scaling. 

## Applicazione di una politica di scalabilità utilizzando AWS CLI
<a name="AutoScaling-Scaling-Applying-a-Scaling-Policy-CLI"></a>

Per applicare una politica di scalabilità al cluster ElastiCache for Valkey e Redis OSS, utilizza il [put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html)comando con i seguenti parametri: 
+ **—policy-name**– Il nome della policy di dimensionamento. 
+ **—policy-type**— Impostare questo valore su`TargetTrackingScaling`. 
+ **--resource-id — L'identificatore della risorsa**. Per questo parametro, il tipo di risorsa è `ReplicationGroup` e l'identificatore univoco è il nome del cluster, ad esempio. `replication-group/myscalablecluster` 
+ **—service-namespace**— Impostare questo valore su`elasticache`. 
+ **—scalable-dimension**— Impostare questo valore su`elasticache:replication-group:NodeGroups`. 
+ **-- target-tracking-scaling-policy -configuration — La configurazione** della policy di scalabilità target-tracking da utilizzare per il cluster. 

Nell'esempio seguente, si applica una politica di scalabilità di tracciamento della destinazione denominata `myscalablepolicy` a un cluster ElastiCache for Valkey e Redis OSS denominato auto scaling. `myscalablecluster` ElastiCache Per fare ciò, usa la configurazione della policy salvata in un file denominato `config.json`. 

Per Linux, macOS o Unix:

```
aws application-autoscaling put-scaling-policy \
    --policy-name myscalablepolicy \
    --policy-type TargetTrackingScaling \
    --resource-id replication-group/myscalablecluster \
    --service-namespace elasticache \
    --scalable-dimension elasticache:replication-group:NodeGroups \
    --target-tracking-scaling-policy-configuration file://config.json
```

Per Windows:

```
aws application-autoscaling put-scaling-policy ^
    --policy-name myscalablepolicy ^
    --policy-type TargetTrackingScaling ^
    --resource-id replication-group/myscalablecluster ^
    --service-namespace elasticache ^
    --scalable-dimension elasticache:replication-group:NodeGroups ^
    --target-tracking-scaling-policy-configuration file://config.json
```

## Applicazione di una policy di dimensionamento con l'API
<a name="AutoScaling-Scaling-Applying-a-Scaling-Policy-API"></a>

Per applicare una politica di scalabilità al cluster ElastiCache for Valkey e Redis OSS, utilizza il [PutScalingPolicy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html) AWS CLI comando con i seguenti parametri: 
+ **—policy-name**– Il nome della policy di dimensionamento. 
+ **--resource-id — L'identificatore della risorsa**. Per questo parametro, il tipo di risorsa è `ReplicationGroup` e l'identificatore univoco è il nome del cluster, ad esempio. `replication-group/myscalablecluster` 
+ **—service-namespace**— Impostare questo valore su`elasticache`. 
+ **—scalable-dimension**— Impostare questo valore su`elasticache:replication-group:NodeGroups`. 
+ **-- target-tracking-scaling-policy -configuration — La configurazione** della policy di scalabilità target-tracking da utilizzare per il cluster. 

Nell'esempio seguente, si applica una politica di scalabilità di tracciamento della destinazione denominata `myscalablepolicy` a un ElastiCache cluster denominato `myscalablecluster` auto ElastiCache scaling. Si utilizza una policy di configurazione in base al parametro di default `ElastiCachePrimaryEngineCPUUtilization`. 

```
POST / HTTP/1.1
Host: autoscaling.us-east-2.amazonaws.com
Accept-Encoding: identity
Content-Length: 219
X-Amz-Target: AnyScaleFrontendService.PutScalingPolicy
X-Amz-Date: 20160506T182145Z
User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8
Content-Type: application/x-amz-json-1.1
Authorization: AUTHPARAMS
{
    "PolicyName": "myscalablepolicy",
    "ServiceNamespace": "elasticache",
    "ResourceId": "replication-group/myscalablecluster",
    "ScalableDimension": "elasticache:replication-group:NodeGroups",
    "PolicyType": "TargetTrackingScaling",
    "TargetTrackingScalingPolicyConfiguration": {
        "TargetValue": 40.0,
        "PredefinedMetricSpecification":
        {
            "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization"
        }
    }
}
```

# Modifica di una policy di dimensionamento
<a name="AutoScaling-Scaling-Editing-a-Scaling-Policy"></a>

È possibile modificare una politica di scalabilità utilizzando Console di gestione AWS l'API AWS CLI Application Auto Scaling. 

## Modifica di una politica di scalabilità utilizzando il Console di gestione AWS
<a name="AutoScaling-Scaling-Editing-a-Scaling-Policy-CON"></a>

**Per modificare una policy di Auto Scaling per un cluster ElastiCache for Valkey e Redis OSS**

1. Accedi a Console di gestione AWS e apri la ElastiCache console Amazon all'indirizzo [https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/).

1. Nel pannello di navigazione, scegli il motore appropriato. 

1. Scegli il cluster a cui aggiungere una policy (seleziona il nome del cluster e non il pulsante a sinistra del cluster). 

1. Seleziona la scheda **Policy di Auto Scaling**. 

1. In **Policy di dimensionamento** scegli il pulsante a sinistra della policy di Auto Scaling su cui eseguire la modifica, quindi scegli **Modify** (Modifica). 

1. Apportare le modifiche necessarie alla policy.

1. Scegli **Modifica**.

## Modifica di una politica di scalabilità utilizzando l'API AWS CLI and
<a name="AutoScaling-Scaling-Editing-a-Scaling-Policy-CLI"></a>

Puoi utilizzare l' AWS CLI API Application Auto Scaling per modificare una policy di scaling nello stesso modo in cui applichi una policy di scaling: 
+ Quando si utilizza il AWS CLI, specificare il nome della politica che si desidera modificare nel parametro. `--policy-name` Specifica i nuovi valori per i parametri che desideri modificare. 
+ Quando si utilizza l'API Application Auto Scaling, specificare il nome della policy da modificare nel parametro `PolicyName`. Specifica i nuovi valori per i parametri che desideri modificare. 

Per ulteriori informazioni, consulta [Applicazione di una policy di dimensionamento](AutoScaling-Scaling-Applying-a-Scaling-Policy.md).

# Eliminazione di una policy di dimensionamento
<a name="AutoScaling-Scaling-Deleting-a-Scaling-Policy"></a>

È possibile eliminare una politica di scalabilità utilizzando Console di gestione AWS l'API AWS CLI Application Auto Scaling. 

## Eliminazione di una politica di scalabilità utilizzando il Console di gestione AWS
<a name="AutoScaling-Scaling-Editing-a-Scaling-Policy-CON"></a>

**Per eliminare una policy di Auto Scaling per un cluster ElastiCache per Redis OSS**

1. Accedi a Console di gestione AWS e apri la ElastiCache console Amazon all'indirizzo [https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/).

1. Nel pannello di navigazione, scegli **Valkey** o **Redis** OSS. 

1. Scegli il cluster a cui aggiungere una policy (seleziona il nome del cluster e non il pulsante a sinistra del cluster). 

1. Seleziona la scheda **Policy di Auto Scaling**. 

1. Nella sezione **Scaling Policies (Policy di Scaling)**, scegliere la policy di Auto Scaling e successivamente **Delete** (Elimina). 

## Eliminazione di una politica di scalabilità utilizzando il AWS CLI
<a name="AutoScaling-Scaling-Deleting-a-Scaling-Policy-CLI"></a>

Per eliminare una politica di scalabilità dal cluster ElastiCache for Valkey e Redis OSS, utilizza il [delete-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/delete-scaling-policy.html) AWS CLI comando con i seguenti parametri: 
+ **—policy-name**– Il nome della policy di dimensionamento. 
+ **--resource-id — L'identificatore della risorsa**. Per questo parametro, il tipo di risorsa è `ReplicationGroup` e l'identificatore univoco è il nome del cluster, ad esempio. `replication-group/myscalablecluster` 
+ **—service-namespace**— Impostare questo valore su`elasticache`. 
+ **—scalable-dimension**— Impostare questo valore su`elasticache:replication-group:NodeGroups`. 

Nell'esempio seguente, si elimina una politica di scalabilità di tracciamento degli obiettivi denominata `myscalablepolicy` da un cluster denominato. `myscalablecluster` 

Per Linux, macOS o Unix:

```
aws application-autoscaling delete-scaling-policy \
    --policy-name myscalablepolicy \
    --resource-id replication-group/myscalablecluster \
    --service-namespace elasticache \
    --scalable-dimension elasticache:replication-group:NodeGroups
```

Per Windows:

```
aws application-autoscaling delete-scaling-policy ^
    --policy-name myscalablepolicy ^
    --resource-id replication-group/myscalablecluster ^
    --service-namespace elasticache ^
    --scalable-dimension elasticache:replication-group:NodeGroups
```

## Eliminazione di una policy di dimensionamento usando l’ API
<a name="AutoScaling-Scaling-Deleting-a-Scaling-Policy-API"></a>

Per eliminare una politica di scalabilità dal cluster ElastiCache for Valkey e Redis OSS, utilizza il comando con i [DeleteScalingPolicy](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/delete-scaling-policy.html) AWS CLI seguenti parametri: 
+ **—policy-name**– Il nome della policy di dimensionamento. 
+ **--resource-id — L'identificatore della risorsa**. Per questo parametro, il tipo di risorsa è `ReplicationGroup` e l'identificatore univoco è il nome del cluster, ad esempio. `replication-group/myscalablecluster` 
+ **—service-namespace**— Impostare questo valore su`elasticache`. 
+ **—scalable-dimension**— Impostare questo valore su`elasticache:replication-group:NodeGroups`. 

Nell'esempio seguente, si elimina una politica di scalabilità di tracciamento degli obiettivi denominata `myscalablepolicy` da un cluster denominato. `myscalablecluster` 

```
POST / HTTP/1.1
Host: autoscaling.us-east-2.amazonaws.com
Accept-Encoding: identity
Content-Length: 219
X-Amz-Target: AnyScaleFrontendService.DeleteScalingPolicy
X-Amz-Date: 20160506T182145Z
User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8
Content-Type: application/x-amz-json-1.1
Authorization: AUTHPARAMS
{
    "PolicyName": "myscalablepolicy",
    "ServiceNamespace": "elasticache",
    "ResourceId": "replication-group/myscalablecluster",
    "ScalableDimension": "elasticache:replication-group:NodeGroups"
}
```

# Utilizzo CloudFormation per le politiche di Auto Scaling
<a name="AutoScaling-with-Cloudformation-Shards"></a>

Questo frammento mostra come creare una politica di tracciamento degli obiettivi e applicarla a una [AWS::ElastiCache::ReplicationGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html)risorsa che utilizza la risorsa. [AWS::ApplicationAutoScaling::ScalableTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html) Utilizza le funzioni intrinseche [Fn::Join](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-join.html) e [Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) per costruire la proprietà `ResourceId` con il nome logico della risorsa `AWS::ElastiCache::ReplicationGroup` specificata nello stesso modello. 

```
ScalingTarget:
   Type: 'AWS::ApplicationAutoScaling::ScalableTarget'
   Properties:
     MaxCapacity: 3
     MinCapacity: 1
     ResourceId: !Sub replication-group/${logicalName}
     ScalableDimension: 'elasticache:replication-group:NodeGroups'
     ServiceNamespace: elasticache
     RoleARN: !Sub "arn:aws:iam::${AWS::AccountId}:role/aws-service-role/elasticache.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_ElastiCacheRG"

  ScalingPolicy:
    Type: "AWS::ApplicationAutoScaling::ScalingPolicy"
    Properties:
      ScalingTargetId: !Ref ScalingTarget
      ServiceNamespace: elasticache
      PolicyName: testpolicy
      PolicyType: TargetTrackingScaling
      ScalableDimension: 'elasticache:replication-group:NodeGroups'
      TargetTrackingScalingPolicyConfiguration:
        PredefinedMetricSpecification:
          PredefinedMetricType: ElastiCachePrimaryEngineCPUUtilization
        TargetValue: 40
```

# Dimensionamento pianificato
<a name="AutoScaling-with-Scheduled-Scaling-Shards"></a>

Il dimensionamento basato su una pianificazione consente di dimensionare le applicazioni in relazione alle variazioni di domanda prevedibili. Per utilizzare il ridimensionamento pianificato, si creano azioni pianificate, che indicano ElastiCache a Valkey e Redis OSS di eseguire attività di scalabilità in momenti specifici. Quando si crea un'azione pianificata, si specifica un cluster esistente, quando deve avvenire l'attività di scalabilità, la capacità minima e la capacità massima. È possibile creare operazioni pianificate sia una tantum che ricorrenti. 

 È possibile creare un'azione pianificata solo per i cluster già esistenti. Non è possibile creare operazioni pianificate contemporaneamente alla creazione di un cluster.

Per ulteriori informazioni sulla terminologia per la creazione, la gestione ed l'eliminazione di azioni pianificate, consulta [I comandi comunemente utilizzati per creazione, la gestione ed eliminazione](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html#scheduled-scaling-commonly-used-commands) 

**Per creare in base a una pianificazione ricorrente:**

1. Accedi a Console di gestione AWS e apri la ElastiCache console Amazon all'indirizzo [https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/).

1. Nel pannello di navigazione, scegli **Valkey** o **Redis** OSS. 

1. Scegli il cluster a cui desideri aggiungere una policy. 

1. Scegli **Gestione delle policy di Auto Scaling** dal dropdown **Operazioni**. 

1. Seleziona la scheda **Policy di Auto Scaling**.

1. Nella sezione **Policy di Auto Scaling** viene visualizzata la finestra di dialogo**Aggiungi policy di dimensionamento** Scegli **Dimensionamento pianificato**.

1. In **Nome policy**, immetti un nome per la policy. 

1. Per **Dimensione scalabile**, scegliere **Partizioni**. 

1. Per **Obiettivi delle partizioni**, scegliere il valore. 

1. Per **Ricorrenza**, scegli **Ricorrente**. 

1. Per **Frequenza**, scegli il rispettivo valore. 

1. Per **Data di inizio** e **Ora di inizio**, scegli il momento in cui la policy entrerà in vigore. 

1. Scegli **Aggiungi policy**. 

**Per creare un'operazione pianificata una tantum**

1. Accedi a Console di gestione AWS e apri la ElastiCache console Amazon all'indirizzo [https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/).

1. Nel pannello di navigazione, scegli **Valkey** o **Redis** OSS. 

1. Scegli il cluster a cui desideri aggiungere una policy. 

1. Scegli **Gestione delle policy di Auto Scaling** dal dropdown **Operazioni**. 

1. Seleziona la scheda **Policy di Auto Scaling**.

1. Nella sezione **Policy di Auto Scaling** viene visualizzata la finestra di dialogo**Aggiungi policy di dimensionamento** Scegli **Dimensionamento pianificato**.

1. In **Nome policy**, immetti un nome per la policy. 

1. Per **Dimensione scalabile**, scegliere **Partizioni**. 

1. Per **Obiettivi delle partizioni**, scegliere il valore. 

1. Per **Ricorrenza**, scegli **Una volta**. 

1. Per **Data di inizio** e **Ora di inizio**, scegli il momento in cui la policy entrerà in vigore. 

1. Per **Data di fine** scegli la data fino a quando la policy sarà in vigore. 

1. Scegli **Aggiungi policy**. 

**Per eliminare un'operazione pianificata**

1. Accedi a Console di gestione AWS e apri la ElastiCache console Amazon all'indirizzo [https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/).

1. Nel pannello di navigazione, scegli **Valkey** o **Redis** OSS. 

1. Scegli il cluster a cui desideri aggiungere una policy. 

1. Scegli **Gestione delle policy di Auto Scaling** dal dropdown **Operazioni**. 

1. Scegli la scheda **Policy di Auto Scaling**.

1. Nella sezione **Policy di Auto Scaling**, scegli la policy di Auto Scaling e successivamente **Elimina** dalla finestra di dialogo **Azioni**.

**Per gestire il dimensionamento pianificato tramite AWS CLI **

Utilizzate la seguente scalabilità automatica delle applicazioni: APIs
+ [put-scheduled-action](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/put-scheduled-action.html) 
+ [describe-scheduled-actions](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/describe-scheduled-actions.html) 
+ [delete-scheduled-action](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/delete-scheduled-action.html) 

## Utilizza CloudFormation per creare un'operazione pianificata
<a name="AutoScaling-with-Cloudformation-Declare-Scheduled-Action"></a>

Questo frammento mostra come creare una policy di tracciamento degli obiettivi e applicarla a una [AWS::ElastiCache::ReplicationGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html)risorsa che utilizza la [AWS::ApplicationAutoScaling::ScalableTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html)risorsa. Utilizza le funzioni intrinseche [Fn::Join](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-join.html) e [Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) per costruire la proprietà `ResourceId` con il nome logico della risorsa `AWS::ElastiCache::ReplicationGroup` specificata nello stesso modello. 

```
ScalingTarget:
   Type: 'AWS::ApplicationAutoScaling::ScalableTarget'
   Properties:
     MaxCapacity: 3
     MinCapacity: 1
     ResourceId: !Sub replication-group/${logicalName}
     ScalableDimension: 'elasticache:replication-group:NodeGroups'
     ServiceNamespace: elasticache
     RoleARN: !Sub "arn:aws:iam::${AWS::AccountId}:role/aws-service-role/elasticache.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_ElastiCacheRG"
     ScheduledActions:
       - EndTime: '2020-12-31T12:00:00.000Z'
         ScalableTargetAction:
           MaxCapacity: '5'
           MinCapacity: '2'
         ScheduledActionName: First
         Schedule: 'cron(0 18 * * ? *)'
```