How do I troubleshoot errors that occur when I change my ElastiCache for Redis node type?

4 minute read
0

I want to troubleshoot errors that occur when I change my Amazon ElastiCache for Redis node type.

Short description

The following are common causes of errors that occur when you change your ElastiCache for Redis node type:

  • Insufficient memory on the target node type
  • Insufficient capacity
  • Insufficient elastic network interfaces or IP addresses
  • The specified node type isn't available in the Availability Zone
  • The Redis engine version doesn't support the targeted node type
  • The ApplyImmediately parameter is set to false
  • Heavy node utilization

Resolution

Note: You can use ElastiCache events and AWS CloudTrail for further insights and to view error messages.

Insufficient memory on the target node type

If you have insufficient memory on the target node type, then the following error message appears:

"Failed to scale down to cache node type Replication Group <replication_group_name> because the node has insufficient memory. Please select a different node type or reduce current memory usage and retry."

This error occurs when BytesUsedForCache metric is higher than the max capacity for your target node type.

To resolve this error, make sure that the new node type is large enough to accommodate all your data and the required Redis overhead. Also, make sure that the current total memory usage displayed in the BytesUsedForCache metric is lower than the max capacity of your target node type.

Note: By default, each cache node has 25% of its memory reserved for non-data use and background writes. This amount is set in the reserved-memory-percent parameter. This reserved memory reduces the maximum memory used for cache data to 75% of its available memory for data storage. For more information, see Redis node-type specific parameters. To modify this amount, create a custom parameter group. If you set the reserve-memory-percent to 0, then cluster operations such as snapshots might fail. For more information, see Why can't I scale down my ElastiCache cluster?

Insufficient capacity

The InsufficientCacheClusterCapacity error indicates that ElastiCache can't allocate as many instances from a given Availability Zone as requested. For more information, see the InsufficientCacheClusterCapacity section on Amazon ElastiCache error messages.

Insufficient elastic network interfaces or IP addresses

If you have insufficient elastic network interfaces or IP addresses, then the following error message appears:

"Failed to modify the cache node type to Replication Group <replication_group_name> due to insufficient Elastic Network Interface or free IP address. Please verify your network limits and retry."

To resolve this error, make sure that you have an appropriate capacity for your elastic network interfaces or IP addresses. To increase your limit, use service quotas. For more information, see How do I get more elastic network interfaces if I've reached the limit in an AWS Region? Also, make sure that the subnets that are used by the cluster have enough free IP addresses.

The specified node type isn't available in the Availability Zone

If you use a node type that isn't supported in a specific Availability Zone, then the following InvalidParameterValue error message appears:

"Specified node type <node_type> is not available in AZ <availability_zone>"

For more information on available node types, see Why can't I scale down my ElastiCache cluster?

To list available node types, use the list-allowed-node-type-modifications API. If any node type is unavailable in specific Availability Zones, then those node types aren't displayed in the list-allowed-node-type-modifications API output. Nodes that don't appear in this output also don't appear in the dropdown menu when you modify a cluster through the AWS Management Console.

The Redis engine version doesn't support the target node type

Some node types require newer versions of the Redis engine. For more information, see Supported node types. To resolve this error, upgrade the Redis engine version before you upgrade the node type.

The ApplyImmediately parameter is set to false

If the ApplyImmediately parameter is set to false, then node changes in the replication group are applied on the next maintenance reboot or failure reboot. If you need changes to occur immediately, then set the ApplyImmediately parameter to true.

Note: How long the node type change takes depends on the node type and how much data is in your cluster. It's a best practice to perform the upgrade when the traffic to the cluster is at the lowest.

Heavy node utilization

A heavy workload on the cluster during modification might interfere with ElastiCache workflows. It's a best practice to initiate a node modification during low data traffic hours.

AWS OFFICIAL
AWS OFFICIALUpdated 5 days ago