This project provides a way to bootstrap the whole infrastructure needed to run bankstart in AWS. The following components will be used:
- AWS VPC
- AWS Subnet (2x private , 2x public)
- AWS EIP (1 public IP)
- AWS NAT Gateway (1x)
- AWS ALB (LoadBalancer for microservices)
- AWS Route53 (Hosted Zone and A record)
- AWS CloudFront
- AWS AppSync
- AWS Cognito
- AWS Lambda
- AWS S3 (website and mobile app)
- AWS ECR
- AWS ECS
- AWS DynamoDB
- AWS IAM and Policies
- AWS Certificate Manager
Name | Version |
---|---|
terraform | 1.1.x |
aws | 3.46.x |
terraform init
terraform plan -var-file dev.tfvars
terraform apply -var-file dev.tfvars -auto-approve
terraform destroy -var-file dev.tfvars -auto-approve
We use workspaces to define different variables for different environments [dev, prod]
terraform workspace new dev
terraform workspace new prod
terraform workspace list
terraform workspace select dev
region = "ap-southeast-1"
namespace = "bankstart"
cert_name = "bankfastdemo.com"
hosted_zone_name = "bankfastdemo.com"
web_bucket_name = "staticwebcontent"
pool_name = "users"
api_name = "api"