Deployment on AWS using Terraform

This guide outlines the customization process for Terraform configurations to deploy the WEKA cluster on AWS. It is designed for system engineers with expertise in AWS and Terraform. Start by creating a file and adapting it to your AWS deployment requirements. Once configured to your preferences, proceed to apply the changes.

If you are new to AWS and Terraform, refer to theDetailed deployment tutorial: WEKA on AWS using Terraform.

Create a file

Before you begin

The Terraform must be installed on the workstation used for the deployment. Check the minimum required Terraform version specified in the Terraform-AWS-WEKA module under the Requirements section).


  1. Review the Terraform-AWS-WEKA example and use it as a reference for creating the according to your deployment specifics on AWS.

  2. Tailor the file to create SMB-W or NFS protocol clusters by adding the relevant code snippet. Adjust parameters like the number of gateways, instance types, domain name, and share naming:

  • SMB-W

smb_protocol_gateways_number = 3
smb_protocol_gateway_instance_type = "c5.2xlarge" 
smbw_enabled = true
smb_domain_name = "CUSTOMER_DOMAIN"
smb_share_name = "SPECIFY_SMB_SHARE_NAMING"
smb_setup_protocol = true
  • NFS

nfs_protocol_gateways_number = 1
nfs_protocol_gateway_instance_type = "c5.2xlarge"
nfs_setup_protocol = true
  1. Add WEKA POSIX clients (optional): If needed, add WEKA POSIX clients to support your workload by incorporating the specified variables into the file:

clients_number = 2
client_instance_type = "c5.2xlarge"

Apply the file

Once you complete the settings, apply it: Run terraform apply

Create a dedicated Cluster Admin username and password

When deploying a WEKA cluster on the cloud using Terraform, a default username (admin) is automatically generated, and Terraform creates the password. Both the username and password are stored in the AWS Secrets Manager. This user facilitates communication between the cloud and the WEKA cluster, particularly during scale-up and scale-down operations.

As a best practice, it’s recommended to create a dedicated local user in the WEKA cluster with the Cluster Admin role. This user will serve as a service account for cloud-cluster communications.


  1. Create a local user with the Cluster Admin role in the WEKA cluster.

  2. In the AWS Secrets Manager, navigate to Secretes.

  3. Update the weka_username and weka_password services with the username and password of the newly created local user.

  4. Validate the changes by checking the execution results and ensuring they pass successfully.

If you change the password for the default username in the WEKA cluster, ensure to update the password in the weka_password service within AWS Secrets Manager.

Related topic

Manage users using the GUI

Last updated