Deployment on AWS using Terraform

Create a main.tf file

The main Terraform configuration settings are included in the main.tf file. You can create it by following this procedure or using the WEKA Cloud Deployment Manager. See WEKA Cloud Deployment Manager (CDM) User Guide.

Before you begin

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

Procedure

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

  2. Tailor the main.tf 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 main.tf file:

clients_number = 2
client_instance_type = "c5.2xlarge"

Apply the main.tf file

Once you complete the main.tf 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.

Procedure

  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