- Aurora DB - MANUAL
- S3 Buckets - MANUAL
- ACM - Certificate - MANUAL
- Security Group
- VPC - Virtual Private Cloud
- Subnets
- ECR - Elastic Container Repository
- ECS Cluster
- CloudWatch log Group
- ECS Task Definition - 2gb RAM, 1024 CPU
- IAM Role
- ALB - Application Load Balancer
- ALB Target Group
- ALB Listener - HTTP/HTTPS
- ECS Service -
[TODO] Create diagram
- Create a
terraform.tfvars
file with your preferred configuration inside/main
folder - Create a
.env.backend
file with your AWS credentials for storing the terraform state inside/main
folder. This is useful for having the state in the cloud when working in teams. - Make sure you have created the manual resources
- Terraform State: Make sure you created an S3 bucket or a folder inside a bucket to only store the state of your terraform instances.
- Task Definition Enviroments: Make sure you created a S3 bucket with all your envs to make the cluster work. Remember to paste your bucket name and file to the task definition section.
- Certificate Manager: Make sure you have your HTTPS certificate created and pasted the ARN to the Load Balancer HTTPS section.
- Aurora DB: Create your DB instance manually if necessary.
- Run the scripts
terraform init -backend-config=.env.backend
terraform plan
terraform apply