¿Por qué no puedo desescalar verticalmente mi clúster de ElastiCache?

Última actualización: 28-06-2022

¿Por qué no puedo desescalar verticalmente mi clúster de Amazon ElastiCache?

Resolución

Si no puede desescalar verticalmente el clúster, compruebe lo siguiente:

Tamaño de datos de la caché

Es posible que el nuevo tipo de nodo no tenga memoria suficiente para almacenar datos de la caché. Cada nodo de ElastiCache tiene una cantidad de memoria dedicada reservada para el motor de Redis. Por ejemplo, el tipo de nodo cache.m5.xlarge tiene 12,93 GiB de almacenamiento. De forma predeterminada, ElastiCache reserva el 25 % de la memoria total para tareas administrativas como la sincronización completa y la creación de instantáneas. Puede cambiar este porcentaje mediante el parámetro reserved-memory-percent.

Para obtener una lista de tipos de nodos y cantidades de almacenamiento, consulte los precios de Amazon ElastiCache.

Mediante el nodo cache.m5.xlarge como ejemplo, el motor de Redis puede usar 9,69 GiB (maxmemory) para mantener el espacio de claves. La memoria restante se mantiene como memoria de reserva. El tipo de nodo actual utiliza toda la memoria disponible para los datos. El nuevo tipo de nodo proporciona menos de 9,69 GiB de memoria. Por lo tanto, la desescalada vertical falla.

Utilice el comando info memory para verificar el uso de memoria que se muestra en los parámetros used_memory y maxmemory del nodo. Tenga en cuenta que el comando info memory muestra la memoria en “GB”. La página de precios de Amazon ElastiCache muestra la memoria en “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

Si no hay suficiente memoria disponible en el nodo, reduzca los datos de la caché. O bien, elija un tipo de nodo que tenga más capacidad.

Tipos de nodos disponibles

Determine qué tipos de nodos puede seleccionar de su tipo de nodo actual al escalar o desescalar verticalmente. Puedes usar la llamada a la API ListAllowedNodeTypeModifications para hacerlo. Esta llamada a la API enumera todos los tipos de nodos disponibles a los que puede escalar el tipo de nodo actual del grupo de replicación o clúster de Redis.

Para ver los tipos de nodos disponibles para su clúster de Redis, ejecute la llamada a la API ListAllowedNodeTypeModifications desde la interfaz de la línea de comandos de AWS (AWS CLI). La lista resultante muestra los tipos de nodos a los que puede escalar.

Nota: Si recibe errores mientras ejecuta los comandos de AWS CLI, asegúrese de que está utilizando la versión más reciente de dicha interfaz.

$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: El tiempo que lleva escalar a un tipo de nodo más pequeño depende del tipo de nodo y de la cantidad de datos del clúster de caché actual.


¿Le resultó útil este artículo?


¿Necesita asistencia técnica o con la facturación?