

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

# Scalabilità dei nodi di replica per Valkey o Redis OSS (modalità cluster disabilitata)
<a name="Scaling.RedisReplGrps"></a>

Un cluster Valkey o Redis OSS con nodi di replica (chiamato *gruppo di replica* nell'API/CLI) offre un'elevata disponibilità tramite la replica con Multi-AZ con failover automatico abilitato. Un cluster con nodi di replica è una raccolta logica di un massimo di sei nodi Valkey o Redis OSS in cui un nodo, il primario, è in grado di soddisfare richieste di lettura e scrittura. Tutti gli altri nodi nel cluster sono repliche di sola lettura del nodo primario. I dati scritti sul cluster primario vengono replicati in modo asincrono su tutte le repliche di lettura nel cluster. Poiché Valkey o Redis OSS (modalità cluster disabilitata) non supportano il partizionamento dei dati su più cluster, ogni nodo di un gruppo di replica Valkey o Redis OSS (modalità cluster disabilitata) contiene l'intero set di dati della cache. I cluster Valkey o Redis OSS (modalità cluster abilitata) supportano il partizionamento dei dati su un massimo di 500 shard.

Per modificare la capacità dei dati per il cluster, è necessario prima dimensionarlo verso l'alto a un nodo più grande o verso il basso a un nodo più piccolo.

Per modificare la capacità di lettura del cluster, aggiungere più repliche di lettura (fino a un massimo di 5) o rimuoverle.

Il processo ElastiCache di scalabilità è progettato per fare il massimo sforzo per conservare i dati esistenti e richiede una replica efficace di Valkey o Redis OSS. Per i cluster Valkey o Redis OSS con repliche, si consiglia di rendere disponibile una memoria sufficiente per Valkey o Redis OSS. 

**Topics**
+ [Scalabilità dei cluster Valkey o Redis OSS con repliche](#Scaling.RedisReplGrps.ScaleUp)
+ [Ridimensionamento dei cluster Valkey o Redis OSS con repliche](#Scaling.RedisReplGrps.ScaleDown)
+ [Aumento della capacità di lettura](#Scaling.RedisReplGrps.ScaleOut)
+ [Diminuzione della capacità di lettura](#Scaling.RedisReplGrps.ScaleIn)

**Argomenti correlati**
+ [Alta disponibilità utilizzando gruppi di replica](Replication.md)
+ [Replica: modalità cluster Valkey e Redis OSS disabilitata o abilitata](Replication.Redis-RedisCluster.md)
+ [Riduzione al minimo dei tempi di inattività ElastiCache utilizzando Multi-AZ con Valkey e Redis OSS](AutoFailover.md)
+ [Garantire la disponibilità di memoria sufficiente per creare un'istantanea Valkey o Redis OSS](BestPractices.BGSAVE.md)

**Topics**
+ [Scalabilità dei cluster Valkey o Redis OSS con repliche](#Scaling.RedisReplGrps.ScaleUp)
+ [Ridimensionamento dei cluster Valkey o Redis OSS con repliche](#Scaling.RedisReplGrps.ScaleDown)
+ [Aumento della capacità di lettura](#Scaling.RedisReplGrps.ScaleOut)
+ [Diminuzione della capacità di lettura](#Scaling.RedisReplGrps.ScaleIn)

## Scalabilità dei cluster Valkey o Redis OSS con repliche
<a name="Scaling.RedisReplGrps.ScaleUp"></a>

Amazon ElastiCache fornisce supporto per console, CLI e API per scalare il gruppo di replica Valkey o Redis OSS (modalità cluster disabilitata). 

Quando viene avviato il processo di scalabilità verticale, effettua le seguenti operazioni: ElastiCache 

1. Avvia un nuovo gruppo di replica utilizzando il nuovo tipo di nodo.

1. Copia tutti i dati da un nodo primario corrente al nuovo nodo primario.

1. Sincronizza le nuove repliche di lettura con il nuovo nodo primario.

1. Aggiorna le voci DNS in modo che puntino ai nuovi nodi. Per questo motivo non è necessario aggiornare gli endpoint nell'applicazione. Per Valkey 7.2 e versioni successive o Redis OSS 5.0.5 e versioni successive, puoi scalare i cluster abilitati al failover automatico mentre il cluster continua a rimanere online e a soddisfare le richieste in arrivo. Nella versione 4.0.10 e precedenti di Redis OSS, è possibile notare una breve interruzione delle operazioni di lettura e scrittura sulle versioni precedenti dal nodo primario durante l'aggiornamento della voce DNS. 

1. Elimina i nodi precedenti (CLI/API: gruppo di replica). Noterai una breve interruzione (pochi secondi) di letture e scritture dai vecchi nodi perché le connessioni ai vecchi nodi verranno disconnesse.

La durata di questo processo dipende dal tipo di nodo e dalla quantità di dati presenti nel cluster.

Come illustrato nella tabella seguente, l'operazione di scalabilità verticale di Valkey o Redis OSS è bloccata se è pianificato un aggiornamento del motore per la prossima finestra di manutenzione del cluster.


**Operazioni Valkey o Redis OSS bloccate**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonElastiCache/latest/dg/Scaling.RedisReplGrps.html)

Se hai un'operazione in sospeso che ti blocca, puoi svolgere una delle seguenti operazioni.
+ Pianifica l'operazione di scale-up di Valkey o Redis OSS per la prossima finestra di manutenzione deselezionando la **casella di controllo Applica immediatamente** (uso CLI:, uso API:). `--no-apply-immediately` `ApplyImmediately=false`
+ Attendi la finestra di manutenzione successiva (o successiva) per eseguire l'operazione di scalabilità di Valkey o Redis OSS.
+ Aggiungi l'aggiornamento del motore Valkey o Redis OSS a questa modifica del cluster selezionando la casella di controllo **Applica immediatamente** (uso CLI:`--apply-immediately`, uso API:). `ApplyImmediately=true` In questo modo si sblocca l'operazione di dimensionamento verso l'alto per eseguire immediatamente l'aggiornamento automatico del motore.

Le sezioni seguenti descrivono come scalare il cluster Valkey o Redis OSS con le repliche utilizzando la ElastiCache console, l'API e l'API.AWS CLI ElastiCache 

**Importante**  
Se il tuo gruppo di parametri utilizza `reserved-memory` la memoria per il sovraccarico di Valkey o Redis OSS, prima di iniziare il ridimensionamento assicurati di disporre di un gruppo di parametri personalizzato che riservi la quantità di memoria corretta per il nuovo tipo di nodo. In alternativa, è possibile modificare un gruppo di parametri personalizzato in modo che utilizzi `reserved-memory-percent` e il gruppo di parametri per il nuovo cluster.  
Se stai utilizzando `reserved-memory-percent`, questa operazione non è necessaria.   
Per ulteriori informazioni, consulta [Gestione della memoria riservata per Valkey e Redis OSS](redis-memory-management.md).

### Scalabilità di un cluster Valkey o Redis OSS con repliche (Console)
<a name="Scaling.RedisReplGrps.ScaleUp.CON"></a>

Il tempo necessario per dimensionare l'alto a un tipo di nodo più grande varia a seconda del tipo di nodo e della quantità di dati nel cluster corrente.

Il seguente processo ridimensiona il cluster con repliche dal tipo di nodo corrente a un nuovo tipo di nodo più grande utilizzando la console. ElastiCache Durante questo processo, si potrebbe verificare una breve interruzione di letture e scritture per altre versioni del nodo primario mentre la voce DNS viene aggiornata. Si potrebbe verificare un tempo di inattività inferiore al secondo per nodi in esecuzione su versioni 5.0.6 e superiore a qualche secondo per versioni precedenti. 

**Per scalare il cluster Valkey o Redis OSS con repliche (console)**

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

1. Dal pannello di navigazione, scegli i cluster **Valkey o i cluster **Redis** OSS**

1. Nell'elenco di cluster, scegliere quello da dimensionare. Questo cluster deve eseguire il motore Valkey o Redis OSS e non il motore Valkey o Redis OSS in cluster.

1. Scegli **Modifica**.

1. Nella procedura guidata **Modify Cluster (Modifica cluster)**:

   1. Scegliere il tipo di nodo a cui dimensionare dall'elenco **Node type (Tipo di nodo)**. Si noti che non tutti i tipi di nodo sono disponibili per il dimensionamento.

   1. Se stai utilizzando `reserved-memory` per gestire la tua memoria, dall'elenco **Parameter Group (Gruppo di parametri)**, seleziona il gruppo di parametri personalizzati che riserva la quantità corretta di memoria per il nuovo tipo di nodo.

1. Per eseguire subito il processo di dimensionamento verso l'alto, scegliere la casella **Apply immediately (Applica immediatamente)**. Se non viene selezionata la casella **Apply immediately (Applica immediatamente)**, il processo di dimensionamento verso l'alto viene eseguito nel corso della successiva finestra di manutenzione del cluster.

1. Scegli **Modifica**.

1. Quando lo stato del cluster cambia da *modifica in corso* a *disponibile*, il cluster è stato dimensionato a un nuovo tipo di nodo. Non è necessario aggiornare gli endpoint nell'applicazione.

### Scalabilità di un gruppo di replica Valkey o Redis OSS ()AWS CLI
<a name="Scaling.RedisReplGrps.ScaleUp.CLI"></a>

La procedura seguente ridimensiona il gruppo di replica dal tipo di nodo corrente a un nuovo tipo più grande di nodo utilizzando l'AWS CLI. Durante questo processo, ElastiCache aggiorna le voci DNS in modo che puntino ai nuovi nodi. Per questo motivo non è necessario aggiornare gli endpoint nell'applicazione. Per Valkey 7.2 e versioni successive o Redis OSS 5.0.5 e versioni successive, puoi scalare i cluster abilitati al failover automatico mentre il cluster continua a rimanere online e a soddisfare le richieste in arrivo. Sulla versione 4.0.10 e precedenti, si potrebbe verificare una breve interruzione di letture e scritture su versioni precedenti dal nodo primario mentre la voce DNS viene aggiornata.

Il tempo necessario per passare a un tipo di nodo più grande varia a seconda del tipo di nodo e della quantità di dati nel cluster corrente.

**Per scalare un Valkey o Redis OSS Replication Group ()AWS CLI**

1. Determina a quali tipi di nodi puoi scalare eseguendo il AWS CLI`list-allowed-node-type-modifications` comando con il seguente parametro.
   + `--replication-group-id` = il nome del gruppo di replica. Utilizzare questo parametro per descrivere un gruppo di replica particolare piuttosto che tutti i gruppi di replica.

   Per Linux, macOS o Unix:

   ```
   aws elasticache list-allowed-node-type-modifications \
   	    --replication-group-id my-repl-group
   ```

   Per Windows:

   ```
   aws elasticache list-allowed-node-type-modifications ^
   	    --replication-group-id my-repl-group
   ```

   L'output di questa operazione è simile al seguente (in formato JSON).

   ```
   {
   	    "ScaleUpModifications": [
   	        "cache.m3.2xlarge", 
   	        "cache.m3.large", 
   	        "cache.m3.xlarge", 
   	        "cache.m4.10xlarge", 
   	        "cache.m4.2xlarge", 
   	        "cache.m4.4xlarge", 
   	        "cache.m4.large", 
   	        "cache.m4.xlarge", 
   	        "cache.r3.2xlarge", 
   	        "cache.r3.4xlarge", 
   	        "cache.r3.8xlarge", 
   	        "cache.r3.large", 
   	        "cache.r3.xlarge"
   	    ]
   	}
   ```

   Per ulteriori informazioni, consulta [list-allowed-node-type-modifications](https://docs.aws.amazon.com/cli/latest/reference/elasticache/list-allowed-node-type-modifications.html) nella *documentazione di riferimento AWS CLI*.

1. Ridimensiona il gruppo di replica corrente fino al nuovo tipo di nodo utilizzando il AWS CLI`modify-replication-group` comando con i seguenti parametri.
   + `--replication-group-id` : il nome del gruppo di replica.
   + `--cache-node-type`— il nuovo tipo di nodo più grande dei cluster in questo gruppo di replica. Questo valore deve essere uno dei tipi di istanza restituiti dal `list-allowed-node-type-modifications` comando nel passaggio precedente.
   + `--cache-parameter-group-name` – [Facoltativo] Utilizzare questo parametro se si usa `reserved-memory` per gestire la memoria prenotata del cluster. Specificare un gruppo di parametri di cache personalizzato che riserva la quantità di memoria corretta per il nuovo tipo di nodo. Se si sta utilizzando `reserved-memory-percent` è possibile omettere questo parametro.
   + `--apply-immediately` : Consente di applicare immediatamente il dimensionamento verso l'alto. Per posporre l'operazione di dimensionamento verso l'alto alla finestra di manutenzione successiva, utilizzare `--no-apply-immediately`.

   Per Linux, macOS o Unix:

   ```
   aws elasticache modify-replication-group \
   	    --replication-group-id my-repl-group \
   	    --cache-node-type cache.m3.xlarge \
   	    --cache-parameter-group-name redis32-m3-2xl \
   	    --apply-immediately
   ```

   Per Windows:

   ```
   aws elasticache modify-replication-group ^
   	    --replication-group-id my-repl-group ^
   	    --cache-node-type cache.m3.xlarge ^
   	    --cache-parameter-group-name redis32-m3-2xl \
   	    --apply-immediately
   ```

   L'output di questo comando è simile al seguente (in formato JSON).

   ```
   {
   	"ReplicationGroup": {
   		"Status": "available",
   		"Description": "Some description",
   		"NodeGroups": [{
   			"Status": "available",
   			"NodeGroupMembers": [{
   					"CurrentRole": "primary",
   					"PreferredAvailabilityZone": "us-west-2b",
   					"CacheNodeId": "0001",
   					"ReadEndpoint": {
   						"Port": 6379,
   						"Address": "my-repl-group-001.8fdx4s.0001.usw2.cache.amazonaws.com"
   					},
   					"CacheClusterId": "my-repl-group-001"
   				},
   				{
   					"CurrentRole": "replica",
   					"PreferredAvailabilityZone": "us-west-2c",
   					"CacheNodeId": "0001",
   					"ReadEndpoint": {
   						"Port": 6379,
   						"Address": "my-repl-group-002.8fdx4s.0001.usw2.cache.amazonaws.com"
   					},
   					"CacheClusterId": "my-repl-group-002"
   				}
   			],
   			"NodeGroupId": "0001",
   			"PrimaryEndpoint": {
   				"Port": 6379,
   				"Address": "my-repl-group.8fdx4s.ng.0001.usw2.cache.amazonaws.com"
   			}
   		}],
   		"ReplicationGroupId": "my-repl-group",
   		"SnapshotRetentionLimit": 1,
   		"AutomaticFailover": "disabled",
   		"SnapshotWindow": "12:00-13:00",
   		"SnapshottingClusterId": "my-repl-group-002",
   		"MemberClusters": [
   			"my-repl-group-001",
   			"my-repl-group-002"
   		],
   		"PendingModifiedValues": {}
   	}
   }
   ```

   Per ulteriori informazioni, consulta [modify-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/modify-replication-group.html) nella *documentazione di riferimento AWS CLI*.

1. Se avete utilizzato il `--apply-immediately` parametro, monitorate lo stato del gruppo di replica utilizzando il AWS CLI`describe-replication-group` comando con il seguente parametro. Mentre lo stato è ancora impostato su *modifica in corso*, si potrebbe verificare un tempo di inattività inferiore al secondo per nodi in esecuzione su versioni 5.0.6 e successive e una breve interruzione di letture e scritture per versioni precedenti dal nodo primario mentre la voce DNS viene aggiornata.
   + `--replication-group-id` = il nome del gruppo di replica. Utilizzare questo parametro per descrivere un gruppo di replica particolare piuttosto che tutti i gruppi di replica.

   Per Linux, macOS o Unix:

   ```
   aws elasticache describe-replication-groups \
   	    --replication-group-id my-replication-group
   ```

   Per Windows:

   ```
   aws elasticache describe-replication-groups ^
   	    --replication-group-id my-replication-group
   ```

   Per ulteriori informazioni, consulta [describe-replication-groups](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-replication-groups.html) nella *documentazione di riferimento AWS CLI*.

### Scalabilità di un gruppo di replica (API) Valkey o Redis OSS ElastiCache
<a name="Scaling.RedisReplGrps.ScaleUp.API"></a>

Il seguente processo ridimensiona il gruppo di replica dal tipo di nodo corrente a un nuovo tipo di nodo più grande utilizzando l'API. ElastiCache Per Valkey 7.2 e versioni successive o Redis OSS 5.0.5 e versioni successive, puoi scalare i cluster abilitati al failover automatico mentre il cluster continua a rimanere online e a soddisfare le richieste in arrivo. Nella versione Redis OSS 4.0.10 e precedenti, è possibile notare una breve interruzione delle operazioni di lettura e scrittura sulle versioni precedenti dal nodo primario durante l'aggiornamento della voce DNS.

La quantità di tempo necessaria per passare a un tipo di nodo più grande varia a seconda del tipo di nodo e della quantità di dati nel cluster corrente.

**Per scalare un Valkey o un Redis OSS Replication Group (API) ElastiCache**

1. Determina a quali tipi di nodi puoi scalare utilizzando l'`ListAllowedNodeTypeModifications`azione ElastiCache API con il seguente parametro.
   + `ReplicationGroupId` : il nome del gruppo di replica. Utilizzare questo parametro per descrivere un gruppo di replica specifico piuttosto che tutti i gruppi di replica.

   ```
   https://elasticache.us-west-2.amazonaws.com/
   	   ?Action=ListAllowedNodeTypeModifications
   	   &ReplicationGroupId=MyReplGroup
   	   &Version=2015-02-02
   	   &SignatureVersion=4
   	   &SignatureMethod=HmacSHA256
   	   &Timestamp=20150202T192317Z
   	   &X-Amz-Credential=<credential>
   ```

   Per ulteriori informazioni, [ListAllowedNodeTypeModifications](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ListAllowedNodeTypeModifications.html) consulta *Amazon ElastiCache API Reference*.

1. Scala il tuo attuale gruppo di replica fino al nuovo tipo di nodo utilizzando l'azione `ModifyReplicationGroup` ElastiCache API e con i seguenti parametri.
   + `ReplicationGroupId` = il nome del gruppo di replica.
   + `CacheNodeType`— il nuovo tipo di nodo più grande dei cluster in questo gruppo di replica. Questo valore deve essere uno dei tipi di istanza restituiti dall'`ListAllowedNodeTypeModifications`azione nel passaggio precedente.
   + `CacheParameterGroupName` – [Facoltativo] Utilizzare questo parametro se si usa `reserved-memory` per gestire la memoria prenotata del cluster. Specificare un gruppo di parametri di cache personalizzato che riserva la quantità di memoria corretta per il nuovo tipo di nodo. Se si sta utilizzando `reserved-memory-percent` è possibile omettere questo parametro.
   + `ApplyImmediately` : Impostato su `true` permette di applicare immediatamente il processo di dimensionamento verso il basso. Per posporre il processo di dimensionamento verticale alla successiva finestra di manutenzione, utilizzare `ApplyImmediately``=false`.

   ```
   https://elasticache.us-west-2.amazonaws.com/
   	   ?Action=ModifyReplicationGroup
   	   &ApplyImmediately=true
   	   &CacheNodeType=cache.m3.2xlarge
   	   &CacheParameterGroupName=redis32-m3-2xl
   	   &ReplicationGroupId=myReplGroup
   	   &SignatureVersion=4
   	   &SignatureMethod=HmacSHA256
   	   &Timestamp=20141201T220302Z
   	   &Version=2014-12-01
   	   &X-Amz-Algorithm=&AWS;4-HMAC-SHA256
   	   &X-Amz-Date=20141201T220302Z
   	   &X-Amz-SignedHeaders=Host
   	   &X-Amz-Expires=20141201T220302Z
   	   &X-Amz-Credential=<credential>
   	   &X-Amz-Signature=<signature>
   ```

   Per ulteriori informazioni, [ModifyReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroup.html) consulta *Amazon ElastiCache API Reference*.

1. Se lo hai utilizzato `ApplyImmediately``=true`, monitora lo stato del gruppo di replica utilizzando l'`DescribeReplicationGroups`azione ElastiCache API con i seguenti parametri. Quando lo stato cambia da *modifica in corso* a *disponibile*, puoi iniziare a scrivere sul nuovo gruppo di replica ingrandito.
   + `ReplicationGroupId` = il nome del gruppo di replica. Utilizzare questo parametro per descrivere un gruppo di replica particolare piuttosto che tutti i gruppi di replica.

   ```
   https://elasticache.us-west-2.amazonaws.com/
   	   ?Action=DescribeReplicationGroups
   	   &ReplicationGroupId=MyReplGroup
   	   &Version=2015-02-02
   	   &SignatureVersion=4
   	   &SignatureMethod=HmacSHA256
   	   &Timestamp=20150202T192317Z
   	   &X-Amz-Credential=<credential>
   ```

   Per ulteriori informazioni, [DescribeReplicationGroups](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeReplicationGroups.html) consulta *Amazon ElastiCache API Reference*.

## Ridimensionamento dei cluster Valkey o Redis OSS con repliche
<a name="Scaling.RedisReplGrps.ScaleDown"></a>

Le sezioni seguenti illustrano come ridimensionare un cluster Valkey o Redis OSS (modalità cluster disabilitata) con nodi di replica fino a un tipo di nodo più piccolo. La garanzia che il nuovo tipo di nodo più piccolo sia abbastanza grande da accogliere tutti i dati e la gestione associata è molto importante per il successo. Per ulteriori informazioni, consulta [Garantire la disponibilità di memoria sufficiente per creare un'istantanea Valkey o Redis OSS](BestPractices.BGSAVE.md).

**Nota**  
Per i cluster che eseguono il tipo di nodo r6gd, è possibile dimensionare solo le dimensioni dei nodi all'interno della famiglia di nodi r6gd.

**Importante**  
Se il tuo gruppo di parametri utilizza `reserved-memory` la memoria per il sovraccarico di Valkey o Redis OSS, prima di iniziare il ridimensionamento assicurati di disporre di un gruppo di parametri personalizzato che riservi la giusta quantità di memoria per il nuovo tipo di nodo. In alternativa, è possibile modificare un gruppo di parametri personalizzato in modo che utilizzi `reserved-memory-percent` e il gruppo di parametri per il nuovo cluster.  
Se stai utilizzando `reserved-memory-percent`, questa operazione non è necessaria.   
Per ulteriori informazioni, consulta [Gestione della memoria riservata per Valkey e Redis OSS](redis-memory-management.md).

**Topics**

### Ridimensionamento di un cluster Valkey o Redis OSS con repliche (Console)
<a name="Scaling.RedisReplGrps.ScaleDown.CON"></a>

Il seguente processo ridimensiona il cluster Valkey o Redis OSS con nodi di replica su un tipo di nodo più piccolo utilizzando la console. ElastiCache 

**Per ridimensionare un cluster Valkey o Redis OSS con nodi di replica (console)**

1. Verificare che il dimensionamento a un tipo di nodo più piccolo sia adeguato ai dati e all'overhead. 

1. Se il tuo gruppo di parametri utilizza `reserved-memory` la memoria per il sovraccarico di Valkey o Redis OSS, assicurati di disporre di un gruppo di parametri personalizzato per mettere da parte la quantità di memoria corretta per il nuovo tipo di nodo.

   In alternativa, puoi modificare un gruppo di parametri personalizzato per utilizzare `reserved-memory-percent`. Per ulteriori informazioni, consulta [Gestione della memoria riservata per Valkey e Redis OSS](redis-memory-management.md).

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

1. Nell'elenco dei cluster, scegliere quello da diminuire. Questo cluster deve eseguire il motore Valkey o Redis OSS e non il motore Valkey o Redis OSS in cluster.

1. Scegli **Modifica**.

1. Nella procedura guidata **Modify Cluster (Modifica cluster)**:

   1. Scegliere il tipo di nodo che si desidera diminuire dall'elenco **Node type (Tipo di nodo)**.

   1. Se stai utilizzando `reserved-memory` per gestire la tua memoria, dall'elenco **Parameter Group (Gruppo di parametri)**, seleziona il gruppo di parametri personalizzati che riserva la quantità corretta di memoria per il nuovo tipo di nodo.

1. Per eseguire subito il processo di dimensionamento, scegliere la casella **Apply immediately (Applica immediatamente)**. Se non viene selezionata la casella **Apply immediately (Applica immediatamente)**, il processo di dimensionamento viene eseguito nel corso della successiva finestra di manutenzione del cluster.

1. Scegli **Modifica**.

1. Quando lo stato del cluster cambia da *modifica in corso* a *disponibile*, il cluster è stato dimensionato a un nuovo tipo di nodo. Non è necessario aggiornare gli endpoint nell'applicazione.

### Ridimensionamento di un gruppo di replica Valkey o Redis OSS ()AWS CLI
<a name="Scaling.RedisReplGrps.ScaleUp.CLI"></a>

La procedura seguente ridimensiona il gruppo di replica dal tipo di nodo corrente a un nuovo tipo di nodo di minori dimensioni utilizzando l'AWS CLI. Durante questo processo, ElastiCache aggiorna le voci DNS in modo che puntino ai nuovi nodi. Per questo motivo non è necessario aggiornare gli endpoint nell'applicazione. Per Valkey 7.2 o versioni successive o Redis OSS 5.0.5 e versioni successive, puoi scalare i cluster abilitati al failover automatico mentre il cluster continua a rimanere online e a soddisfare le richieste in arrivo. Sulla versione 4.0.10 e precedenti, si potrebbe verificare una breve interruzione di letture e scritture su versioni precedenti dal nodo primario mentre la voce DNS viene aggiornata.

Tuttavia, le letture dai cluster di replica di lettura continuano senza interruzioni.

La quantità di tempo necessaria per la scalabilità a un tipo di nodo più piccolo varia a seconda del tipo di nodo e della quantità di dati nel cluster corrente.

**Per ridimensionare un Valkey o Redis OSS Replication Group ()AWS CLI**

1. Determina a quali tipi di nodi puoi ridimensionare eseguendo il AWS CLI`list-allowed-node-type-modifications` comando con il seguente parametro.
   + `--replication-group-id` : il nome del gruppo di replica. Utilizzare questo parametro per descrivere un gruppo di replica particolare piuttosto che tutti i gruppi di replica.

   Per Linux, macOS o Unix:

   ```
   aws elasticache list-allowed-node-type-modifications \
   	    --replication-group-id my-repl-group
   ```

   Per Windows:

   ```
   aws elasticache list-allowed-node-type-modifications ^
   	    --replication-group-id my-repl-group
   ```

   L'output di questa operazione è simile al seguente (in formato JSON).

   ```
   {
   	    "ScaleDownModifications": [
   	        "cache.m3.2xlarge", 
   	        "cache.m3.large", 
   	        "cache.m3.xlarge", 
   	        "cache.m4.10xlarge", 
   	        "cache.m4.2xlarge", 
   	        "cache.m4.4xlarge", 
   	        "cache.m4.large", 
   	        "cache.m4.xlarge", 
   	        "cache.r3.2xlarge", 
   	        "cache.r3.4xlarge", 
   	        "cache.r3.8xlarge", 
   	        "cache.r3.large", 
   	        "cache.r3.xlarge"
   	    ]
   	}
   ```

   Per ulteriori informazioni, consulta [list-allowed-node-type-modifications](https://docs.aws.amazon.com/cli/latest/reference/elasticache/list-allowed-node-type-modifications.html) nella *documentazione di riferimento AWS CLI*.

1. Ridimensiona il gruppo di replica corrente fino al nuovo tipo di nodo utilizzando il AWS CLI`modify-replication-group` comando con i seguenti parametri.
   + `--replication-group-id` : il nome del gruppo di replica.
   + `--cache-node-type`— il nuovo tipo di nodo più piccolo dei cluster in questo gruppo di replica. Questo valore deve essere uno dei tipi di istanza restituiti dal `list-allowed-node-type-modifications` comando nel passaggio precedente.
   + `--cache-parameter-group-name` – [Facoltativo] Utilizzare questo parametro se si usa `reserved-memory` per gestire la memoria prenotata del cluster. Specificare un gruppo di parametri di cache personalizzato che riserva la quantità di memoria corretta per il nuovo tipo di nodo. Se si sta utilizzando `reserved-memory-percent` è possibile omettere questo parametro.
   + `--apply-immediately` : Consente di applicare immediatamente il dimensionamento verso l'alto. Per posporre l'operazione di dimensionamento verso l'alto alla finestra di manutenzione successiva, utilizzare `--no-apply-immediately`.

   Per Linux, macOS o Unix:

   ```
   aws elasticache modify-replication-group \
   	    --replication-group-id my-repl-group \
   	    --cache-node-type cache.t2.small  \
   	    --cache-parameter-group-name redis32-m3-2xl \
   	    --apply-immediately
   ```

   Per Windows:

   ```
   aws elasticache modify-replication-group ^
   	    --replication-group-id my-repl-group ^
   	    --cache-node-type cache.t2.small  ^
   	    --cache-parameter-group-name redis32-m3-2xl \
   	    --apply-immediately
   ```

   L'output di questo comando è simile al seguente (in formato JSON).

   ```
   {"ReplicationGroup": {
   	        "Status": "available", 
   	        "Description": "Some description", 
   	        "NodeGroups": [
   	            {
   	                "Status": "available", 
   	                "NodeGroupMembers": [
   	                    {
   	                        "CurrentRole": "primary", 
   	                        "PreferredAvailabilityZone": "us-west-2b", 
   	                        "CacheNodeId": "0001", 
   	                        "ReadEndpoint": {
   	                            "Port": 6379, 
   	                            "Address": "my-repl-group-001.8fdx4s.0001.usw2.cache.amazonaws.com"
   	                        }, 
   	                        "CacheClusterId": "my-repl-group-001"
   	                    }, 
   	                    {
   	                        "CurrentRole": "replica", 
   	                        "PreferredAvailabilityZone": "us-west-2c", 
   	                        "CacheNodeId": "0001", 
   	                        "ReadEndpoint": {
   	                            "Port": 6379, 
   	                            "Address": "my-repl-group-002.8fdx4s.0001.usw2.cache.amazonaws.com"
   	                        }, 
   	                        "CacheClusterId": "my-repl-group-002"
   	                    }
   	                ], 
   	                "NodeGroupId": "0001", 
   	                "PrimaryEndpoint": {
   	                    "Port": 6379, 
   	                    "Address": "my-repl-group.8fdx4s.ng.0001.usw2.cache.amazonaws.com"
   	                }
   	            }
   	        ], 
   	        "ReplicationGroupId": "my-repl-group", 
   	        "SnapshotRetentionLimit": 1, 
   	        "AutomaticFailover": "disabled", 
   	        "SnapshotWindow": "12:00-13:00", 
   	        "SnapshottingClusterId": "my-repl-group-002", 
   	        "MemberClusters": [
   	            "my-repl-group-001", 
   	            "my-repl-group-002", 
   	        ], 
   	        "PendingModifiedValues": {}
   	    }
   	}
   ```

   Per ulteriori informazioni, consulta [modify-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/modify-replication-group.html) nella *documentazione di riferimento AWS CLI*.

1. Se avete utilizzato il `--apply-immediately` parametro, monitorate lo stato del gruppo di replica utilizzando il AWS CLI`describe-replication-group` comando con il seguente parametro. Quando lo stato cambia da *modifica in corso* a *disponibile*, puoi iniziare a scrivere sul nuovo gruppo di replica ridotto.
   + `--replication-group-id` : il nome del gruppo di replica. Utilizzare questo parametro per descrivere un gruppo di replica particolare piuttosto che tutti i gruppi di replica.

   Per Linux, macOS o Unix:

   ```
   aws elasticache describe-replication-group \
   	    --replication-group-id my-replication-group
   ```

   Per Windows:

   ```
   aws elasticache describe-replication-groups ^
   	    --replication-group-id my-replication-group
   ```

   Per ulteriori informazioni, consulta [describe-replication-groups](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-replication-groups.html) nella *documentazione di riferimento AWS CLI*.

### Ridimensionamento di un gruppo di replica (API) Valkey o Redis OSS ElastiCache
<a name="Scaling.RedisReplGrps.ScaleDown.API"></a>

Il seguente processo ridimensiona il gruppo di replica dal tipo di nodo corrente a un nuovo tipo di nodo più piccolo utilizzando l'API. ElastiCache Durante questo processo, ElastiCache aggiorna le voci DNS in modo che puntino ai nuovi nodi. Per questo motivo non è necessario aggiornare gli endpoint nell'applicazione. Per Valkey 7.2 e versioni successive o Redis OSS 5.0.5 e versioni successive, puoi scalare i cluster abilitati al failover automatico mentre il cluster continua a rimanere online e a soddisfare le richieste in arrivo. Nella versione 4.0.10 e precedenti di Redis OSS, è possibile notare una breve interruzione delle operazioni di lettura e scrittura sulle versioni precedenti dal nodo primario durante l'aggiornamento della voce DNS. Tuttavia, le letture dai cluster di replica di lettura continuano senza interruzioni.

La quantità di tempo necessaria per la scalabilità a un tipo di nodo più piccolo varia a seconda del tipo di nodo e della quantità di dati nel cluster corrente.

**Per ridimensionare un Valkey o Redis OSS Replication Group (API) ElastiCache**

1. Determina a quali tipi di nodi puoi ridimensionare utilizzando l'`ListAllowedNodeTypeModifications`azione ElastiCache API con il seguente parametro.
   + `ReplicationGroupId` : il nome del gruppo di replica. Utilizzare questo parametro per descrivere un gruppo di replica specifico piuttosto che tutti i gruppi di replica.

   ```
   https://elasticache.us-west-2.amazonaws.com/
   	   ?Action=ListAllowedNodeTypeModifications
   	   &ReplicationGroupId=MyReplGroup
   	   &Version=2015-02-02
   	   &SignatureVersion=4
   	   &SignatureMethod=HmacSHA256
   	   &Timestamp=20150202T192317Z
   	   &X-Amz-Credential=<credential>
   ```

   Per ulteriori informazioni, [ListAllowedNodeTypeModifications](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ListAllowedNodeTypeModifications.html) consulta *Amazon ElastiCache API Reference*.

1. Scala il tuo attuale gruppo di replica fino al nuovo tipo di nodo utilizzando l'azione `ModifyReplicationGroup` ElastiCache API e con i seguenti parametri.
   + `ReplicationGroupId` = il nome del gruppo di replica.
   + `CacheNodeType`— il nuovo tipo di nodo più piccolo dei cluster in questo gruppo di replica. Questo valore deve essere uno dei tipi di istanza restituiti dall'`ListAllowedNodeTypeModifications`azione nel passaggio precedente.
   + `CacheParameterGroupName` – [Facoltativo] Utilizzare questo parametro se si usa `reserved-memory` per gestire la memoria prenotata del cluster. Specificare un gruppo di parametri di cache personalizzato che riserva la quantità di memoria corretta per il nuovo tipo di nodo. Se si sta utilizzando `reserved-memory-percent` è possibile omettere questo parametro.
   + `ApplyImmediately` - Impostato su `true` permette di applicare immediatamente il processo di dimensionamento verso il basso. Per posporre il processo di dimensionamento verso il basso alla successiva finestra di manutenzione, utilizzare `ApplyImmediately``=false`.

   ```
   https://elasticache.us-west-2.amazonaws.com/
   	   ?Action=ModifyReplicationGroup
   	   &ApplyImmediately=true
   	   &CacheNodeType=cache.m3.2xlarge
   	   &CacheParameterGroupName=redis32-m3-2xl
   	   &ReplicationGroupId=myReplGroup
   	   &SignatureVersion=4
   	   &SignatureMethod=HmacSHA256
   	   &Timestamp=20141201T220302Z
   	   &Version=2014-12-01
   	   &X-Amz-Algorithm=&AWS;4-HMAC-SHA256
   	   &X-Amz-Date=20141201T220302Z
   	   &X-Amz-SignedHeaders=Host
   	   &X-Amz-Expires=20141201T220302Z
   	   &X-Amz-Credential=<credential>
   	   &X-Amz-Signature=<signature>
   ```

   Per ulteriori informazioni, [ModifyReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroup.html) consulta *Amazon ElastiCache API Reference*.

1. Se lo hai utilizzato `ApplyImmediately``=true`, monitora lo stato del gruppo di replica utilizzando l'`DescribeReplicationGroups`azione ElastiCache API con i seguenti parametri. Quando lo stato cambia da *modifica in corso* a *disponibile*, puoi iniziare a scrivere sul nuovo gruppo di replica ridotto.
   + `ReplicationGroupId` : il nome del gruppo di replica. Utilizzare questo parametro per descrivere un gruppo di replica particolare piuttosto che tutti i gruppi di replica.

   ```
   https://elasticache.us-west-2.amazonaws.com/
   	   ?Action=DescribeReplicationGroups
   	   &ReplicationGroupId=MyReplGroup
   	   &Version=2015-02-02
   	   &SignatureVersion=4
   	   &SignatureMethod=HmacSHA256
   	   &Timestamp=20150202T192317Z
   	   &X-Amz-Credential=<credential>
   ```

   Per ulteriori informazioni, [DescribeReplicationGroups](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeReplicationGroups.html) consulta *Amazon ElastiCache API Reference*.

## Aumento della capacità di lettura
<a name="Scaling.RedisReplGrps.ScaleOut"></a>

Per aumentare la capacità di lettura, aggiungi repliche di lettura (fino a un massimo di cinque) al tuo gruppo di replica Valkey o Redis OSS.

Puoi scalare la capacità di lettura del cluster Valkey o Redis OSS utilizzando la ElastiCache console, l'o l'API.AWS CLI ElastiCache Per ulteriori informazioni, consulta [Aggiungere una replica di lettura per Valkey o Redis OSS (modalità cluster disabilitata)](Replication.AddReadReplica.md).

## Diminuzione della capacità di lettura
<a name="Scaling.RedisReplGrps.ScaleIn"></a>

Per ridurre la capacità di lettura, elimina una o più repliche di lettura dal cluster Valkey o Redis OSS con repliche (chiamate *gruppo di replica nell'API/CLI*). Se il cluster ha abilitata la funzione Multi-AZ con failover automatico, non puoi eliminare l'ultima replica di lettura senza prima disabilitare la funzione Multi-AZ. Per ulteriori informazioni, consulta [Modifica di un gruppo di replica](Replication.Modify.md).

Per ulteriori informazioni, consulta [Eliminazione di una replica di lettura per Valkey o Redis OSS (modalità cluster disabilitata)](Replication.RemoveReadReplica.md).