Search code examples
amazon-web-servicesresizeamazon-redshiftupgradesnapshot

Resize from one-node redshift cluster to two-nodes using snapshots


I have an amazon redshift cluster with only one node (dc2.large type). Now, I want to scale to two nodes and am considering the best way to go (by best I mean as fast as possible).

From the documentation there are about two options:

  1. Unload & Copy from S3
    • I've tried this, but it just takes too long, since I have ~ 207021000 records. Also, I would then still need to do some loading / copying for the data tracked during the copy time
  2. Using snapshots
    • This sounds as a good solution for this case. It's not that slow and I can do it with less overhead. The only issue is that if you try to restore a cluster from snapshot, you cannot change the number of nodes (at least not using aws management console)

Is there a way to use a snapshot, but on the same time also change the number of nodes? Or is the unload/copy to/from S3 the only way to do it?


Solution

  • You cannot change the number of nodes when restoring a snapshot.

    If you wish to change the number of nodes, then simply tell Redshift to resize the cluster. There is no need to export the data or take a manual snapshot.

    See: Resizing Clusters in Amazon Redshift