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

Scaling Down Single-Node Redis Clusters

The ElastiCache process for scaling your Redis cluster down is completely manual and makes no attempt at data retention other than what you do.

The following sections walks you through how to scale a single-node Redis cluster down to a smaller node type. Ensuring that the new, smaller node type is large enough to accommodate all the data and Redis overhead is important to the long term success of your new Redis cluster. For more information, see Ensuring You Have Sufficient Memory to Create a Redis Snapshot.

Scaling Down a Single-Node Redis Cluster (Console)

The following procedure walks you through scaling your single-node Redis cluster down to a smaller node type using the ElastiCache console.

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).

To scale down your single-node Redis cluster (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. 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 and, if necessary, a parameter group that will reserve the correct amount of memory. For more information, see Restoring From a Backup (Console).

    Alternatively, you can launch a new cluster using the new node type and parameter group, 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 Cluster (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 your cluster being unavailable 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 Single-Node Redis Cache Cluster (AWS CLI)

The following procedure walks you through scaling your single-node Redis cache cluster down to a smaller node type using the AWS CLI.

To scale down a single-node Redis cache cluster (AWS CLI)

  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. Create a snapshot of your existing Redis cache cluster. For instructions, see Creating a Manual Backup (AWS CLI).

  4. Restore from the snapshot using the new, smaller node type as the cache cluster's 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 Endpoints for Nodes and Clusters (AWS CLI).

  6. Delete your old cache cluster. For more information, see Deleting a Cache Cluster (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 your cache cluster being unavailable while it is being created or restored, you can eliminate the need to update the endpoints in your application by deleting the old cache cluster right after taking the snapshot and re-using the old cache cluster's name for the new cache cluster.

Scaling Down a Single-Node Redis (cluster mode disabled) Cache Cluster (ElastiCache API)

The following procedure walks you through scaling your single-node Redis cache cluster down to a smaller node type using the ElastiCache API.

To scale down a single-node Redis cache cluster (ElastiCache API)

  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. 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 cache cluster's 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 for Nodes and Clusters (ElastiCache API).

  6. Delete your old cache cluster. For more information, see Deleting a Cache Cluster (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 your cache cluster being unavailable while it is being created or restored, you can eliminate the need to update the endpoints in your application by deleting the old cache cluster right after taking the snapshot and re-using the old cache cluster's name for the new cache cluster.