This Terraform project deploys a highly available web application infrastructure on AWS.
- VPC with public subnets across multiple AZs
- Application Load Balancer (ALB)
- Auto Scaling Group (ASG) with EC2 instances
- Security Groups for ALB and EC2 instances
- Terraform >= 1.0.0
- AWS account and credentials
- AWS CLI configured
.
├── main.tf # Main configuration file
├── variables.tf # Input variables
├── outputs.tf # Output values
├── terraform.tf # Terraform settings
├── providers.tf # Provider configurations
├── modules/
│ ├── vpc/ # VPC and networking
│ ├── alb/ # Application Load Balancer
│ └── asg/ # Auto Scaling Group
- Initialize Terraform:
terraform init- Review the changes:
terraform plan- Apply the configuration:
terraform apply| Name | Description | Type | Default |
|---|---|---|---|
| project_name | Project name prefix | string | "ha-webapp" |
| vpc_cidr | VPC CIDR block | string | "10.0.0.0/16" |
| public_subnet_cidrs | Public subnet CIDR blocks | list(string) | ["10.0.1.0/24", "10.0.2.0/24"] |
| instance_type | EC2 instance type | string | "t3.micro" |
| min_size | Minimum ASG size | number | 2 |
| max_size | Maximum ASG size | number | 4 |
| Name | Description |
|---|---|
| alb_dns_name | ALB DNS name |
| asg_name | Auto Scaling Group name |