I tried to perform an elastic resize using AWS CloudFormation for my Amazon Redshift cluster. However, it performed a classic resize instead. Why is this happening?
Resolution
Important: If you resized the cluster using the Amazon Redshift console, it isn't registered in the AWS CloudFormation template. Instead, use the AWS CloudFormation template to be sure that the numberofNodes parameter gets updated. Otherwise, Amazon Redshift might perform a classic resize, despite meeting the resize requirements. Amazon Redshift behaves this way when there are no changes to the node count since the last resize.
Amazon Redshift performs a classic resize if any of these requirements aren't met:
- Only the numberofNodes parameter is modified.
- For dc2.large or ds2.xlarge node types, you can only double the node count or decrease the node count by half of the original cluster.
- For dc2.8xlarge or ds2.8xlarge node types, you can resize up to two times the original node count, or resize down to half of the original node count. For example, you can resize a 16 node cluster to any size that is between 8 and 32 nodes.
- The number of nodes cannot exceed the number of slices. The number of slices are determined when the Amazon Redshift cluster is launched. For example, if you launch a cluster with two dc2.large nodes, then there are four slices of the cluster. Therefore, you'll only be able to increase your node count to four nodes when using elastic resize.
If your Amazon Redshift cluster performed a classic resize, investigate the following areas:
- Check the Amazon Redshift console to confirm the actual number of nodes in your cluster. Verify whether it matches the numberofNodes parameter in your AWS CloudFormation template.
- Use the DescribeClusters API to retrieve information from AWS CloudTrail and determine root cause analysis. Look for the elasticResizeNumberOfNodeOptions parameter in the AWS CloudTrail logs to verify whether your Amazon Redshift cluster is eligible for an elastic resize. If the parameter does not list an option to update node count, it confirms that the cluster slices failed to meet the elastic resize requirements.
Note: Before updating the node count for your Amazon Redshift cluster, use the DescribeNodeConfigurationOptions API. The DescribeNodeConfigurationOptions API can help you determine the appropriate node configurations for an elastic resize such as node count and type.
Related information
How do I resize an Amazon Redshift cluster?
Overview of managing clusters in Amazon Redshift