AWS Terraform deployment

Information specific to CiviForm Terraform deploy scripts for AWS.

For general information, see Terraform deploy system.

Infrastructure

Created for CiviForm app:

  • VPC

  • Load balancer

  • Internet Gateway

  • NAT Gateway

  • Fargate ECS cluster

  • RDS with Postgres

  • S3 bucket

Connected services

  • SES

  • Secrets Manager

Supporting Infrastructure:

  • S3 bucket for Terraform backend state

  • Cloudwatch export for logs

Code and examples (AWS)

The code that manages deployment can be found here.

Our staging environment is at staging-aws.civiform.dev.

Config for the staging environment is here.

Troubleshooting

After running the setup or deploy script, you can login to the AWS ECS console to check the status of CiviForm. Make sure to select correct region in the top right corner.

You should see Cluster with app_preffix-civiform name. Click on it and go to Tasks tab. If everything is going well you should see a task in the Running state.

Inspecting task config

You can see the task configuration by clicking on the Task definition tab, finding the latest revision, and opening the JSON tab.

Inspecting logs

You can see the logs on the task page by clicking into the specific task and selecting Logs.

Logs are also available in Cloudwatch. Search for app_prefix-civiformlogs group.

Last updated