This repository contains Terraform code for provisioning infrastructure on AWS.
This Terraform configuration provisions the following resources on AWS:
- Virtual Private Cloud (VPC)
- Internet Gateway
- Custom Route Table
- Subnets in two Availability Zones
- Route Table Associations
- Security Groups for EC2 instances and Application Load Balancer
- Launch Template
- Auto Scaling Group
- Target Group
- Application Load Balancer
- A listner for the Application Load Balancer
- Target Group attachment to Auto Scaling Group
Before running Terraform commands, make sure you have the following prerequisites installed:
- Terraform
- AWS CLI
- AWS Access Key ID and Secret Access Key (configured either through AWS CLI, environment variables, or IAM roles)
-
Clone the repository to your local machine:
git clone https://github.com/guddev99/terraform-aws-infrastructure.git
-
Navigate to the project directory:
cd terraform-aws-infrastructure
-
Initialize Terraform:
terraform init
-
Review and customize the variables in
variables.tf
and other.tf
files as needed. -
Plan the Terraform execution to see what resources will be created, updated, or destroyed:
terraform plan
-
Apply the Terraform configuration to create or update the resources:
terraform apply
-
After you're finished using the resources, you can destroy them:
terraform destroy
Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.