Secoda (on-premise) (AWS x Terraform)

This documentation applies to our ECS Fargate deployment option with terraform.

ECS Fargate (with EFS, RDS)

on-premise/terraform/aws at main ยท secoda/on-premise

Configuration

  1. Decide on the domain for this service in advance. Typically, it is secoda.yourcompany.com. Create a signed certificate in AWS (in ACM) for this domain make sure it is in the AWS_REGION you are going to run the terraform in, and save the ARN somewhere safe.
  2. Receive an invitation to our GitHub repositories. Clone one of the terraform repositories (linked above). cd to the cloned repository.
  3. cp rename.onprem.tfvars onprem.tfvars then fill onprem.tfvars in. If you decide to use a custom certificate, the certificate_arn must be in the same region as your deployment. It should look something like this once filled out:
certificate_arn = "arn:aws:acm:us-east-1:982277954161:certificate/42238321-4205-4798-81ba-56e6d1098933" # Optional, set and fill with the proper arn.
aws_region = "us-east-1" # Replace with your desired region.

Deployment

  1. Fill in administrator keys for AWS_ACCESS_KEY AWS_SECRET_ACCESS_KEY and the region you would like to deploy to AWS_REGION.
# Install terraform
brew install terraform # for MacOS
# Initialize terraform
cd on-premise-terraform
terraform init
AWS_ACCESS_KEY=<YOUR_KEY> AWS_SECRET_ACCESS_KEY=<YOUR_KEY> AWS_REGION=<REGION> terraform apply -var-file="onprem.tfvars"
  1. Type Yes at the prompt.
  2. Once complete, terraform will output the load balancer DNS name. You must create a CNAME record with your DNS provider that points secoda.yourcompany.com to the load balancer DNS name.
  3. Wait about 5 minutes. Then open https://secoda.yourcompany.com to test out the service. It will only listen on HTTPS.
  4. You're done! ๐ŸŽŠ