Skip to content

sunilkumarald/Deploying-highly-available-app-on-AWS-using-Terraform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

High Availability Web Application Infrastructure

This Terraform project deploys a highly available web application infrastructure on AWS.

Architecture

  • 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

Prerequisites

  • Terraform >= 1.0.0
  • AWS account and credentials
  • AWS CLI configured

Module Structure

.
├── 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

Usage

  1. Initialize Terraform:
terraform init
  1. Review the changes:
terraform plan
  1. Apply the configuration:
terraform apply

Variables

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

Outputs

Name Description
alb_dns_name ALB DNS name
asg_name Auto Scaling Group name

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages