Desidero risolvere i problemi di un cluster autoprogettato Amazon ElastiCache che non può essere ridotto verticalmente.
Risoluzione
Se non riesci a ridurre verticalmente il cluster autoprogettato, verifica quanto segue:
Dimensione dei dati della cache
Ogni nodo ElastiCache ha una quantità dedicata di memoria riservata al motore Redis e il nuovo tipo di nodo potrebbe non disporre di memoria sufficiente per archiviare i dati della cache. 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. Per modificare questa quantità, aggiorna il parametro reserved-memory-percent. Per un elenco dei tipi di nodi e delle quantità di spazio di archiviazione, consulta Prezzi di Amazon ElastiCache.
Per verificare l'utilizzo della memoria nei parametri dei nodi used_memory e maxmemory, usa il comando info memory:
Nota: il comando info memory mostra la memoria in GB. 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
Per risolvere il problema della mancanza di memoria disponibile sul nodo, riduci i dati della cache o scegli un tipo di nodo con una capacità maggiore.
Tipi di nodi disponibili
Nota: se ricevi messaggi di errore durante l'esecuzione dei comandi dell'interfaccia della linea di comando AWS (AWS CLI), consulta la sezione Troubleshoot AWS CLI errors. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
Per determinare quali sono i tipi di nodi a cui è possibile passare dal tipo di nodo corrente in caso di aumento o di riduzione verticale del cluster, esegui l'API ListAllowedNodeTypeModifications.
Per visualizzare i tipi di nodi disponibili a cui il cluster Redis autoprogettato può scalare, esegui il comando ListAllowedNodeTypeModifications:
$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 passare a un tipo di nodo più piccolo dipende dal tipo di nodo e dalla quantità di dati nel cluster di cache corrente.
Informazioni correlate
Managing reserved memory
Scaling down Redis cache clusters (AWS CLI)