Perché non riesco a ridurre il cluster ElastiCache?

Ultimo aggiornamento: 28/06/2022

Perché non riesco a ridurre il mio cluster Amazon ElastiCache?

Risoluzione

Se non riesci a ridurre il tuo cluster, verifica quanto segue:

Dimensione dei dati della cache

Il nuovo tipo di nodo potrebbe non disporre di memoria sufficiente per archiviare i dati della cache. Ogni nodo ElastiCache ha una quantità di memoria dedicata riservata al motore Redis. Ad esempio, il tipo di nodo cache.m5.xlarge ha 12,93 GiB di spazio di archiviazione. Per impostazione predefinita, ElastiCache riserva il 25% della memoria totale per attività amministrative come la sincronizzazione completa e la creazione di snapshot. È possibile modificare questo valore utilizzando il parametro reserved-memory-percent.

Per un elenco dei tipi di nodi e delle quantità di archiviazione, consulta la pagina dei prezzi di Amazon ElastiCache.

Usando il nodo cache.m5.xlarge come esempio, il motore Redis può usare 9,69 GiB (maxmemory) per contenere lo spazio delle chiavi. La memoria rimanente viene mantenuta come memoria di riserva. Il tipo di nodo corrente utilizza tutta la memoria disponibile per i dati. Il nuovo tipo di nodo fornisce meno di 9,69 GiB di memoria. Quindi, la riduzione fallisce.

Utilizza il comando info memory per verificare l'utilizzo della memoria mostrato nei parametri used_memory e maxmemory per il nodo. Nota che il comando info memory mostra la memoria in "GB", mentre la pagina dei prezzi di Amazon ElastiCache mostra la memoria in "GiB".

test.xm4oz6.ng.0001.use1.cache.amazonaws.com:6379> info memory
# Memory
used_memory:5579416
used_memory_human:5.32M
used_memory_rss:11218944
used_memory_rss_human:10.70M
used_memory_peak:5856480
used_memory_peak_human:5.59M
maxmemory:10418941287
maxmemory_human:9.70G

Se non c'è abbastanza memoria disponibile sul nodo, riduci i dati della cache, oppure scegli un tipo di nodo con una maggiore capacità.

Tipi di nodo disponibili

Determina quali tipi di nodi puoi selezionare dal tipo di nodo corrente durante il dimensionamento verso l'alto (aumento) e verso il basso (riduzione). Puoi utilizzare la chiamata API ListAllowedNodeTypeModifications per eseguire questa operazione. Questa chiamata API elenca tutti i tipi di nodi disponibili a cui è possibile dimensionare il tipo di nodo corrente del cluster Redis o del gruppo di replica.

Per visualizzare i tipi di nodi disponibili per il cluster Redis, esegui la chiamata API ListAllowedNodeTypeModifications dall'interfaccia della linea di comando AWS (AWS CLI). L'elenco risultante mostra i tipi di nodi ai quali è possibile dimensionare.

Nota:se ricevi un messaggio di errore durante l'esecuzione dei comandi di AWS CLI, assicurati di utilizzare la versione più recente di AWS CLI.

$aws elasticache list-allowed-node-type-modifications --replication-group-id checkout-cache-test

{
  "ScaleUpModifications": [
    "cache.r4.16xlarge",
    "cache.r5.12xlarge",
    "cache.r5.24xlarge",
    "cache.r5.4xlarge"
  ],
  "ScaleDownModifications": [
    "cache.m3.2xlarge",
    "cache.m3.large",
    "cache.m3.medium",
    "cache.m3.xlarge",
    "cache.m4.2xlarge",
    "cache.m4.4xlarge",
    "cache.m4.large",
    "cache.m4.xlarge",
    "cache.r3.2xlarge",
    "cache.r3.large",
    "cache.r3.xlarge",
    "cache.r4.2xlarge",
    "cache.r4.large",
    "cache.r4.xlarge",
    "cache.t2.medium",
    "cache.t2.micro",
    "cache.t2.small",
    "cache.t3.medium",
    "cache.t3.micro",
    "cache.t3.small"
  ]
}

Nota: il tempo necessario per il dimensionamento a un tipo di nodo più piccolo dipende dal tipo di nodo e dalla quantità di dati nel cluster di cache corrente.


Questo articolo è stato utile?


Hai bisogno di supporto tecnico o per la fatturazione?