Search code examples
amazon-web-servicesredisamazon-elasticacheredis-cluster

How to disable cluster mode on a AWS Elasticache Redis


I have an AWS Elasticache with Cluster Mode enabled. Ideally, I just want to "turn off" cluster mode. How can I do this? Additionally, it is desirable to retain the data I currently have.

I have already tried:

  1. Update the Parameter group from default.redis6.x.cluster.on to default.redis6.x, but it gives the error: The parameter cluster-enabled has a different value in the requested parameter group than the current parameter group. This parameter value cannot be changed for a cache cluster.
  2. Backing up the cluster, creating a new instance with cluster mode off, from the backup - Could not accomplish that, when I try to restore from backup, I don't have the option to create with cluster mode disabled. My guess is that not all commands from cluster mode are available on Redis instance, and the backups are not compatible. From the documentation: You can't seed a Redis (cluster mode disabled) cluster from an .rdb file created from a Redis (cluster mode enabled) cluster.

Is there a way to "convert" an Redis cluster arrangement into a Redis with cluster mode disabled?

P.S.: In this other question Enable cluster mode on AWS ElastiCache Redis cluster, the only answer talk about backup and restore, which I tried and didn't work. Besides, I want the opposite, to disable cluster mode.


Solution

  • There is no way to do this using the built-in mechanisms of ElastiCache. You should consider https://developer.redis.com/riot/riot-redis/ which has the capability to copy data between two different clusters. I think it will do exactly what you need.