The Superblocks Terraform module for AWS deploys the data plane as an ECS Fargate service and configures all the required infrastructure to expose it to end users in Superblocks.
Deploy with Terraform
Follow the steps below to deploy the data plane on ECS Fargate using Terraform.Install prerequisites
- Install Terraform
- Install AWS CLI and configure AWS Credentials file
Do not use root user credentials when deploying the data plane. To learn more about best practices for managing access keys, visit the AWS docs here.
Create Terraform file
To get started, navigate to the Setup Wizard to generate asuperblocks_agent_key.
We recommend following secret management best practices such as using environment variables, encrypted files, or a secret store to securely pass the
superblocks_agent_key into your Terraform code.If you use the EU Superblocks instance, also set
superblocks_agent_data_domain = “eu.superblocks.com”.aws ec2 describe-vpcs or navigate to your VPC in the AWS management console. Alternatively, if you want your agent to access data across multiple VPCs, update the module to create a new VPC then set up VPC peering between the newly configured VPC and existing AWS VPCs. To update the module to create a new VPC, set the following variable.
For more details on configuring VPC peering see Connect VPCs using VPC peering.
For all available configuration options, see the Terraform registry.
Initialize and apply Terraform
Note, the Terraform script may fail if you have reached your AWS Service Limits. For more information on managing your AWS account limits, visit Managing AWS Service Quotas.
Billable services
The Terraform module makes use of the following AWS services. Be aware of the pricing associated with these.- VPC - Network where all cloud resources reside (may be additional cost depending on settings and connecting VPN)
- ECS Fargate - ECS cluster, service, and task to run the data plane container
- Application Load Balancer - ALB to front the Fargate service
- Route 53 - Hosted zone and record for DNS (optional)

