How to Deploy an AWS Redshift Cluster using Terraform
6 min readJan 29, 2023
Amazon Redshift is a data warehouse product released by Amazon Web Services (AWS) back in 2012, and it is one the most popular products of this cloud computing market leader.
Amazon Redshift is a fully managed, petabyte-scale data warehouse service in the cloud, and it is available in two options:
- Amazon Redshift Cluster: we deploy a provisioned cluster consisting of compute nodes and a leader node. We build a cluster with node types that meet our cost and performance specifications (this story).
- Amazon Redshift Serverless: we deploy a namespace (a collection of database objects and users) and a workgroup (a collection of compute resources). Amazon Redshift Serverless automatically provisions and manages capacity for us. We can specify base data warehouse capacity to select the right price/performance balance for our workloads. We can also specify maximum RPU hours to set cost controls to ensure that costs are predictable. If you want to deploy an Amazon Redshift Serverless in AWS using Terraform, please read this story.
1. Requirements
To deploy an Amazon Redshift Cluster, we will need the following:
- AWS Credentials
- Define AWS and Terraform Providers