Menu
Amazon ElastiCache
User Guide (API Version 2015-02-02)

Scaling Down Redis Clusters with Replicas

The following sections walks you through how to scale a Redis (cluster mode disabled) cache cluster with replica nodes down to a smaller node type. Ensuring that the new, smaller node type is large enough to accommodate all the data and overhead is very important to success. For more information, see Ensuring You Have Sufficient Memory to Create a Redis Snapshot.

Important

If your parameter group uses reserved-memory to set aside memory for Redis overhead, before you begin scaling be sure you have a custom parameter group that reserves the correct amount of memory for your new node type. Alternatively, you can modify a custom parameter group so that it uses reserved-memory-percent and use that parameter group for your new cluster.

If you're using reserved-memory-percent this is not necessary.

For more information, see Managing Reserved Memory (Redis).

Scaling Down a Redis Cluster with Replicas (Console)

The following process scales your Redis cluster with replica nodes to a smaller node type using the ElastiCache console.

To scale down a Redis cluster with replica nodes (console)

  1. Ensure that the smaller node type is adequate for your data and overhead needs. For more information, see Ensuring You Have Sufficient Memory to Create a Redis Snapshot.

  2. If your parameter group uses reserved-memory to set aside memory for Redis overhead, ensure that you have a custom parameter group that will set aside the correct amount of memory for your new node type.

    Alternatively, you can modify your custom parameter group to use reserved-memory-percent. For more information, see Managing Reserved Memory (Redis).

  3. Sign in to the AWS Management Console and open the ElastiCache console at https://console.aws.amazon.com/elasticache/.

  4. Take a snapshot of the cluster’s primary node. For details on how to take a snapshot, see Creating a Manual Backup (Console).

  5. Restore from this snapshot specifying the new node type for the new cluster. For more information, see Restoring From a Backup (Console).

    Alternatively, you can launch a new cluster using the new node type and seeding it from the snapshot. For more information see Seeding a New Cluster with an Externally Created Backup (Redis).

  6. In your application, update the endpoints to the new cluster's endpoints. For more information, see Finding the Endpoints for a Redis (cluster mode disabled) Cluster (Console).

  7. Delete the old cluster. For more information, see Deleting a Replication Group (Console).

  8. If you no longer need it, delete the snapshot. For more information, see Deleting a Backup (Console).

Tip

If you don't mind being unable to use your replication group while it is being created or restored, you can eliminate the need to update the endpoints in your application by deleting the old cluster right after taking the snapshot and re-using the old cluster's name for the new cluster.

Scaling Down a Redis Replication Group (AWS CLI)

The following process scales your Redis replication group to a smaller node type using the AWS CLI.

To scale down a Redis replication group (AWS CLI)

  1. Ensure that the smaller node type is adequate for your data and overhead needs. For more information, see Selecting Your Redis Node Size.

  2. If your parameter group uses reserved-memory to set aside memory for Redis overhead, ensure that you have a custom parameter group that will set aside the correct amount of memory for your new node type.

    Alternatively, you can modify your custom parameter group to use reserved-memory-percent. For more information, see Managing Reserved Memory (Redis).

  3. Create a snapshot of your existing Redis node. For instructions, see Creating a Manual Backup (AWS CLI).

  4. Restore from the snapshot using the new, smaller node type as the new node type and, if needed, the new parameter group. For more information, see Restoring From a Backup (AWS CLI).

  5. In your application, update the endpoints to the new cache cluster's endpoints. For more information, see Finding the Endpoints for Replication Groups (AWS CLI).

  6. Delete your old replication group. For more information, see Deleting a Replication Group (AWS CLI).

  7. If you no longer need it, delete the snapshot. For more information, see Deleting a Backup (AWS CLI).

Tip

If you don't mind being unable to use your replication group while it is being created or restored, you can eliminate the need to update the endpoints in your application by deleting the old replication group right after taking the snapshot and re-using the old replication group's name for the new replication group.

Scaling Down a Redis Replication Group (ElastiCache API)

The following process scales your Redis replication group to a smaller node type using the ElastiCache API.

To scale down a Redis replication group (ElastiCache API)

  1. Ensure that the smaller node type is adequate for your data and overhead needs. For more information, see Selecting Your Redis Node Size.

  2. If your parameter group uses reserved-memory to set aside memory for Redis overhead, ensure that you have a custom parameter group that will set aside the correct amount of memory for your new node type.

    Alternatively, you can modify your custom parameter group to use reserved-memory-percent. For more information, see Managing Reserved Memory (Redis).

  3. Create a snapshot of your existing Redis cache cluster. For instructions, see Creating a Manual Backup (ElastiCache API).

  4. Restore from the snapshot using the new, smaller node type as the new node type and, if needed, the new parameter group. For more information, see Restoring From a Backup (ElastiCache API).

  5. In your application, update the endpoints to the new cache cluster's endpoints. For more information, see Finding Endpoints (ElastiCache API).

  6. Delete your old replication group. For more information, see Deleting a Replication Group (ElastiCache API).

  7. If you no longer need it, delete the snapshot. For more information, see Deleting a Backup (ElastiCache API).

Tip

If you don't mind being unable to use your replication group while it is being created or restored, you can eliminate the need to update the endpoints in your application by deleting the old replication group right after taking the snapshot and re-using the old replication group's name for the new replication group.