I want to know how elastic resize works and what best practices to use.
Resolution
How elastic resize works
Note: If you receive errors when you run AWS Command Line Interface (AWS CLI) commands, then see Troubleshooting errors for the AWS CLI. Also, make sure that you're using the most recent AWS CLI version.
Elastic resize is available only for Amazon Redshift clusters that use the EC2-VPC platform.
An elastic resize often requires less time to complete than a classic resize. If you experience data skew in your cluster, then perform a classic resize.
If you initiate an elastic resize operation in Amazon Redshift, then wait until the resize operation completes before you perform another resize operation or cluster reboot. If you perform an elastic resize, then you can upgrade to RA3 reserved nodes to scale compute and storage.
You can elastic resize the target node type when it's the same as the existing node type or when the target node type is different from the existing node type.
To check whether the target node type is the same as the source node type, open the Amazon Redshift console. In the navigation pane, choose Clusters to see the node type under each cluster name.
To get more information about your Amazon Redshift cluster, run the following describe-clusters AWS CLI command:
aws redshift describe-clusters --region aa-example-1
Note: Replace aa-example-1 with your cluster's AWS Region.
Elastic resize best practices
If you perform an elastic resize on your cluster, then use the following best practices:
- Turn on automated snapshots or create a manual snapshot before you resize your cluster.
Note: By default, Amazon Redshift indefinitely retains manual snapshots, even after you delete your cluster. However, Amazon Redshift deletes automated snapshots at the end of the retention period.
- Before you resize your cluster, run the VACUUM command to clean up tables after a load or incremental updates. Elastic resize doesn't automatically delete rows that are marked for deletion.
- Make sure that the new node configuration has enough storage for existing data.
- To get node configuration options for a resize operation, run the following describe-node-configuration-options AWS CLI command:
aws redshift describe-node-configuration-options --action-type resize-cluster --cluster-identifier cluster_name --region aa-example-1
Note: Replace cluster_name with your cluster's name and aa-example-1 with your cluster's AWS Region.
- To specify node configuration changes, run the following resize-cluster AWS CLI command:
aws redshift resize-cluster --cluster-identifier cluster_name --cluster-type multi-node --node-type target_node_type --number-of-nodes number_of_target_nodes --no-classic --region aa-example-1
Note: Replace cluster_name with your cluster's name, target_node_type with your target node type, number_of_target_nodes with your number of target nodes, and aa-example-1 with your cluster's Region.
- If your snapshot doesn't complete within a few minutes, and your elastic resize fails, then check that your cluster snapshot completed and is in available state.
Related information
How do I resize an Amazon Redshift cluster?
Scale your Amazon Redshift clusters up and down in minutes to get the performance you need, when you need it