Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
8883407
Initial commit
pratpatt1992 Mar 25, 2026
ff4e059
2nd commit
pratpatt1992 Mar 25, 2026
074a2bb
Update EC2 instance type for AWS Free Tier
pratikpattanaik1992 Apr 20, 2026
edaa446
Updating AMi to Amazon linux 2 ami
pratikpattanaik1992 Apr 20, 2026
2d1b84f
update aws region for free tier
pratikpattanaik1992 Apr 20, 2026
816ee59
Update AMi name for free tier
pratikpattanaik1992 Apr 20, 2026
ad75382
update instace to t3.micro
pratikpattanaik1992 Apr 20, 2026
038e760
Update EC2 instance type to t3.small
pratikpattanaik1992 Apr 21, 2026
954c3ad
create security groups
pratikpattanaik1992 Apr 22, 2026
23db94d
update security group
pratikpattanaik1992 Apr 22, 2026
ee80d16
update security group tf
pratikpattanaik1992 Apr 22, 2026
9958efc
update default vpc
pratikpattanaik1992 Apr 22, 2026
d152a65
update tf to add security group
pratikpattanaik1992 Apr 22, 2026
fdfd515
Adding security group module
pratikpattanaik1992 Apr 23, 2026
74b83e2
updating ingress and egress rules
pratikpattanaik1992 Apr 24, 2026
4322d2e
removing old rules
pratikpattanaik1992 Apr 24, 2026
dbf1458
updating security group to allow all ingress
pratikpattanaik1992 Apr 24, 2026
02918c3
remove all ingress access
pratikpattanaik1992 Apr 24, 2026
b43f835
Create a DEV VPC
pratikpattanaik1992 Apr 24, 2026
6f4ccf0
Add Load Balancer
pratikpattanaik1992 Apr 25, 2026
d9fbfb2
Add Load Balancer
pratikpattanaik1992 Apr 25, 2026
e1870f6
update ALB
pratikpattanaik1992 Apr 25, 2026
e3e748c
remove ALB
pratikpattanaik1992 Apr 25, 2026
e1617b4
delete ALB
pratikpattanaik1992 Apr 25, 2026
bcd6169
remove VPC
pratikpattanaik1992 Apr 25, 2026
2664048
updating EC2 name
pratikpattanaik1992 Apr 25, 2026
b46ac01
Add ALB
pratikpattanaik1992 Apr 25, 2026
46674f2
Add ALB
pratikpattanaik1992 Apr 25, 2026
9c4855b
Update ALB
pratikpattanaik1992 Apr 25, 2026
175d69d
Add autoscaling
pratikpattanaik1992 Apr 25, 2026
808e62b
remove target group attachment
pratikpattanaik1992 Apr 25, 2026
60e5efd
Update Autoscaling
pratikpattanaik1992 Apr 25, 2026
d1fc6a6
Update ALB and Autoscaling
pratikpattanaik1992 Apr 25, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
142 changes: 136 additions & 6 deletions main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,152 @@ data "aws_ami" "app_ami" {

filter {
name = "name"
values = ["bitnami-tomcat-*-x86_64-hvm-ebs-nami"]
values = ["al2023-ami-2023.11.20260413.0-kernel-6.1-x86_64"]
}

filter {
name = "virtualization-type"
values = ["hvm"]
}

owners = ["979382823631"] # Bitnami
owners = ["137112412989"] # Amazon
}

resource "aws_instance" "web" {
ami = data.aws_ami.app_ami.id
instance_type = "t3.nano"
# resource "aws_instance" "blog" {
# ami = data.aws_ami.app_ami.id
# instance_type = var.instance_type
# subnet_id = module.blog_vpc.public_subnets[0]
# vpc_security_group_ids = [module.blog_sg.security_group_id]

# tags = {
# Name = "HelloWorld"
# }
# }

# data "aws_vpc" "blog" {
# default = true
# }

module "blog_vpc" {
source = "terraform-aws-modules/vpc/aws"

name = "dev"
cidr = "10.0.0.0/16"

azs = ["us-east-1a", "us-east-1b", "us-east-1c"]
private_subnets = ["10.0.1.0/24", "10.0.2.0/24", "10.0.3.0/24"]
public_subnets = ["10.0.101.0/24", "10.0.102.0/24", "10.0.103.0/24"]

enable_nat_gateway = true


tags = {
Terraform = "true"
Environment = "dev"
}
}

module "blog_sg" {
source = "terraform-aws-modules/security-group/aws"
version = "5.3.1"
name = "blog_new"

# vpc_id = data.aws_vpc.blog.id
vpc_id = module.blog_vpc.vpc_id

ingress_rules = ["http-80-tcp","https-443-tcp"]
ingress_cidr_blocks = ["0.0.0.0/0"]

egress_rules = ["all-all"]
egress_cidr_blocks = ["0.0.0.0/0"]
}


module "blog_alb" {
source = "terraform-aws-modules/alb/aws"
version = "~> 6.0"
name = "blog-alb"
load_balancer_type = "application"
vpc_id = module.blog_vpc.vpc_id
subnets = module.blog_vpc.public_subnets
security_groups = [module.blog_sg.security_group_id]
target_groups = [
{
name_prefix = "blog-"
backend_protocol = "HTTP"
backend_port = 80
target_type = "instance"
}
]
http_tcp_listeners = [
{
port = 80
protocol = "HTTP"
target_group_index = 0
}
]
tags = {
Name = "HelloWorld"
Environment = "dev"
}
}

# resource "aws_lb_target_group_attachment" "blog" {
# target_group_arn = aws_lb_target_group.blog.arn
# target_id = aws_instance.blog.id
# port = 80
# }

module "blog_autoscaling" {
source = "terraform-aws-modules/autoscaling/aws"
version = "6.5.2"
name = "blog"
min_size = 1
max_size = 2
vpc_zone_identifier = module.blog_vpc.public_subnets
target_group_arns = module.blog_alb.target_group_arns
security_groups = [module.blog_sg.security_group_id]
instance_type = var.instance_type
image_id = data.aws_ami.app_ami.id
}


# resource "aws_security_group" "blog" {
# name = "blog"
# description = "Allow http and https in. Allow everything out"

# tags = {
# terraform = "true"
# }

# vpc_id = data.aws_vpc.default.id
# }

# resource "aws_security_group_rule" "blog_http_in" {
# type = "ingress"
# from_port = 80
# to_port = 80
# protocol = "tcp"
# cidr_blocks = ["0.0.0.0/0"]

# security_group_id = aws_security_group.blog.id
# }

# resource "aws_security_group_rule" "blog_https_in" {
# type = "ingress"
# from_port = 443
# to_port = 443
# protocol = "tcp"
# cidr_blocks = ["0.0.0.0/0"]

# security_group_id = aws_security_group.blog.id
# }

# resource "aws_security_group_rule" "blog_everything_out" {
# type = "egress"
# from_port = 0
# to_port = 0
# protocol = -1
# cidr_blocks = ["0.0.0.0/0"]

# security_group_id = aws_security_group.blog.id
# }
12 changes: 6 additions & 6 deletions outputs.tf
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#output "instance_ami" {
# value = aws_instance.web.ami
#}
# output "instance_ami" {
# value = aws_instance.blog.ami
# }

#output "instance_arn" {
# value = aws_instance.web.arn
#}
# output "instance_arn" {
# value = aws_instance.blog.arn
# }
2 changes: 1 addition & 1 deletion providers.tf
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ terraform {
}

provider "aws" {
region = "us-west-2"
region = "us-east-1"
}
Empty file added test.tf
Empty file.
8 changes: 4 additions & 4 deletions variables.tf
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#variable "instance_type" {
# description = "Type of EC2 instance to provision"
# default = "t3.nano"
#}
variable "instance_type" {
description = "Type of EC2 instance to provision"
default = "t3.small"
}