From c8b60a52312195d2d1bd3f8698c1e39f448cb116 Mon Sep 17 00:00:00 2001 From: nilampp Date: Fri, 17 Oct 2025 12:12:27 -0700 Subject: [PATCH 01/25] initial commit --- main.tf | 2 +- outputs.tf | 12 ++++++------ variables.tf | 9 +++++---- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/main.tf b/main.tf index 9b32ce06bb..0bfc354510 100644 --- a/main.tf +++ b/main.tf @@ -16,7 +16,7 @@ data "aws_ami" "app_ami" { resource "aws_instance" "web" { ami = data.aws_ami.app_ami.id - instance_type = "t3.nano" + instance_type = var.instance_type tags = { Name = "HelloWorld" diff --git a/outputs.tf b/outputs.tf index b35171bef1..c429b19b48 100644 --- a/outputs.tf +++ b/outputs.tf @@ -1,7 +1,7 @@ -#output "instance_ami" { -# value = aws_instance.web.ami -#} +output "instance_ami" { + value = aws_instance.web.ami +} -#output "instance_arn" { -# value = aws_instance.web.arn -#} +output "instance_arn" { + value = aws_instance.web.arn +} diff --git a/variables.tf b/variables.tf index c750667e0f..559992c18a 100644 --- a/variables.tf +++ b/variables.tf @@ -1,4 +1,5 @@ -#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.nano" +} From 735f7f42b9cfdcb7ed5dd28d86aa2fb7fa6b7499 Mon Sep 17 00:00:00 2001 From: nilampp Date: Fri, 17 Oct 2025 15:10:00 -0700 Subject: [PATCH 02/25] Update variables.tf --- variables.tf | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/variables.tf b/variables.tf index 559992c18a..60856bc925 100644 --- a/variables.tf +++ b/variables.tf @@ -1,5 +1,4 @@ -variable "instance_type" -{ +variable "instance_type" { description = "Type of EC2 instance to provision" default = "t3.nano" } From 44cad23480c2361c7adc9ec115159dd355a90ad8 Mon Sep 17 00:00:00 2001 From: nilampp Date: Thu, 23 Oct 2025 12:33:35 -0700 Subject: [PATCH 03/25] creating security group --- main.tf | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/main.tf b/main.tf index 0bfc354510..c24320b60b 100644 --- a/main.tf +++ b/main.tf @@ -14,11 +14,43 @@ data "aws_ami" "app_ami" { owners = ["979382823631"] # Bitnami } +data "aws_vpc" "default"{ + default = true +} + resource "aws_instance" "web" { ami = data.aws_ami.app_ami.id - instance_type = var.instance_type + instance_type = "t3.nano" + +vpc_security_group_ids = [aws_security_group.security_group.id] tags = { - Name = "HelloWorld" + Name = "Learning Terraform" } } + +resource "aws_security_group" "security_group"{ + name = "security_group" + description = "Allow HTTP and HTTPS in. Allow everything out" + vpc_id = data.aws_vpc.default.id +} + +resource "aws_security_group_rule" "rule_http_in"{ + type = "ingress" + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr-blocks = ["0.0.0.0/0"] + + security_group_id = aws_security_group.security_group.id +} + +resource "aws_security_group_rule" "rule_http_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.security_group.id +} \ No newline at end of file From f90693b541040e267114ec56dfde18e8f41cd778 Mon Sep 17 00:00:00 2001 From: nilampp Date: Thu, 23 Oct 2025 12:36:01 -0700 Subject: [PATCH 04/25] fixing the syntax --- main.tf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/main.tf b/main.tf index c24320b60b..653fdc54e4 100644 --- a/main.tf +++ b/main.tf @@ -40,7 +40,7 @@ resource "aws_security_group_rule" "rule_http_in"{ from_port = 443 to_port = 443 protocol = "tcp" - cidr-blocks = ["0.0.0.0/0"] + cidr_blocks = ["0.0.0.0/0"] security_group_id = aws_security_group.security_group.id } @@ -50,7 +50,7 @@ resource "aws_security_group_rule" "rule_http_everything_out"{ from_port = 0 to_port = 0 protocol = "-1" - cidr-blocks = ["0.0.0.0/0"] + cidr_blocks = ["0.0.0.0/0"] security_group_id = aws_security_group.security_group.id } \ No newline at end of file From cbf8d0370e30f06b60d87a27829c09379835423f Mon Sep 17 00:00:00 2001 From: nilampp Date: Thu, 23 Oct 2025 15:33:51 -0700 Subject: [PATCH 05/25] use module for security. group --- main.tf | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/main.tf b/main.tf index 653fdc54e4..aa06a79aa5 100644 --- a/main.tf +++ b/main.tf @@ -22,13 +22,27 @@ resource "aws_instance" "web" { ami = data.aws_ami.app_ami.id instance_type = "t3.nano" -vpc_security_group_ids = [aws_security_group.security_group.id] + vpc_security_group_ids = [module.module_security_group.security_group_id] tags = { Name = "Learning Terraform" } } +module "module_security-group" { + source = "terraform-aws-modules/security-group/aws" + version = "5.3.1" + name = "module_security-group" + + vpc_id = data.aws_vpc.default.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] +} + resource "aws_security_group" "security_group"{ name = "security_group" description = "Allow HTTP and HTTPS in. Allow everything out" From 57de1611cd8a3ab710d070709f5ff2a6918de68b Mon Sep 17 00:00:00 2001 From: nilampp Date: Thu, 23 Oct 2025 15:37:37 -0700 Subject: [PATCH 06/25] revert module changes --- main.tf | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/main.tf b/main.tf index aa06a79aa5..d415fc77a5 100644 --- a/main.tf +++ b/main.tf @@ -22,27 +22,13 @@ resource "aws_instance" "web" { ami = data.aws_ami.app_ami.id instance_type = "t3.nano" - vpc_security_group_ids = [module.module_security_group.security_group_id] + vpc_security_group_ids = [aws_security_group.security_group_id] tags = { Name = "Learning Terraform" } } -module "module_security-group" { - source = "terraform-aws-modules/security-group/aws" - version = "5.3.1" - name = "module_security-group" - - vpc_id = data.aws_vpc.default.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] -} - resource "aws_security_group" "security_group"{ name = "security_group" description = "Allow HTTP and HTTPS in. Allow everything out" From b629695ae787dba066b6fd7b984afb43199f2ffa Mon Sep 17 00:00:00 2001 From: nilampp Date: Fri, 24 Oct 2025 10:39:13 -0700 Subject: [PATCH 07/25] fixing vpc security group id --- main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.tf b/main.tf index d415fc77a5..cd62814698 100644 --- a/main.tf +++ b/main.tf @@ -22,7 +22,7 @@ resource "aws_instance" "web" { ami = data.aws_ami.app_ami.id instance_type = "t3.nano" - vpc_security_group_ids = [aws_security_group.security_group_id] + vpc_security_group_ids = [aws_security_group.security_group.id] tags = { Name = "Learning Terraform" From 80fe9eb50cd6b91b0795f056e9a89fdf5ad8b951 Mon Sep 17 00:00:00 2001 From: nilampp Date: Fri, 24 Oct 2025 10:53:20 -0700 Subject: [PATCH 08/25] module security group --- main.tf | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/main.tf b/main.tf index cd62814698..d984848c77 100644 --- a/main.tf +++ b/main.tf @@ -20,15 +20,29 @@ data "aws_vpc" "default"{ resource "aws_instance" "web" { ami = data.aws_ami.app_ami.id - instance_type = "t3.nano" + instance_type = var.instance_type - vpc_security_group_ids = [aws_security_group.security_group.id] + vpc_security_group_ids = [module.module_security_group.security_group_id] tags = { Name = "Learning Terraform" } } +module "module_security_group"{ + name = "module_security_group" + source = "terraform-aws-modules/security-group/aws" + version = "5.3.1" + + vpc_ids = data.aws_vpc.default.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"] +} + resource "aws_security_group" "security_group"{ name = "security_group" description = "Allow HTTP and HTTPS in. Allow everything out" From 2aa9c177ac2161f60b8b4c69a0c6ba33c9aba2fd Mon Sep 17 00:00:00 2001 From: nilampp Date: Fri, 24 Oct 2025 10:54:18 -0700 Subject: [PATCH 09/25] corrected VPC id --- main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.tf b/main.tf index d984848c77..4c3701f01c 100644 --- a/main.tf +++ b/main.tf @@ -34,7 +34,7 @@ module "module_security_group"{ source = "terraform-aws-modules/security-group/aws" version = "5.3.1" - vpc_ids = data.aws_vpc.default.id + vpc_id = data.aws_vpc.default.id ingress_rules = ["http-80-tcp", "https-443-tcp"] ingress_cidr_blocks = ["0.0.0.0/0"] From c30bf1d57392bffdde8499b0f3fe49ef07656a50 Mon Sep 17 00:00:00 2001 From: nilampp Date: Fri, 24 Oct 2025 12:58:26 -0700 Subject: [PATCH 10/25] deleting security groups --- main.tf | 26 -------------------------- 1 file changed, 26 deletions(-) diff --git a/main.tf b/main.tf index 4c3701f01c..29be0fc2d3 100644 --- a/main.tf +++ b/main.tf @@ -42,29 +42,3 @@ module "module_security_group"{ egress_rules = ["all-all"] egress_cidr_blocks = ["0.0.0.0/0"] } - -resource "aws_security_group" "security_group"{ - name = "security_group" - description = "Allow HTTP and HTTPS in. Allow everything out" - vpc_id = data.aws_vpc.default.id -} - -resource "aws_security_group_rule" "rule_http_in"{ - type = "ingress" - from_port = 443 - to_port = 443 - protocol = "tcp" - cidr_blocks = ["0.0.0.0/0"] - - security_group_id = aws_security_group.security_group.id -} - -resource "aws_security_group_rule" "rule_http_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.security_group.id -} \ No newline at end of file From f5c5dfb02b3b800655a1a94f76410b37748119ac Mon Sep 17 00:00:00 2001 From: nilampp Date: Fri, 24 Oct 2025 13:25:56 -0700 Subject: [PATCH 11/25] create new dev vpc --- main.tf | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/main.tf b/main.tf index 29be0fc2d3..8763621c03 100644 --- a/main.tf +++ b/main.tf @@ -18,12 +18,30 @@ data "aws_vpc" "default"{ default = true } +module "module_dev_vpc" { + source = "terraform-aws-modules/vpc/aws" + + name = "dev_vpc" + cidr = "10.0.0.0/16" + + azs = ["us-west-2a", "us-west-2b", "us-west-2c"] + public_subnets = ["10.0.101.0/24", "10.0.102.0/24", "10.0.103.0/24"] + + tags = { + Terraform = "true" + Environment = "dev" + } +} + + resource "aws_instance" "web" { ami = data.aws_ami.app_ami.id instance_type = var.instance_type vpc_security_group_ids = [module.module_security_group.security_group_id] + subnet_id = module.module_dev_vpc.public_subnets[0] + tags = { Name = "Learning Terraform" } @@ -34,7 +52,7 @@ module "module_security_group"{ source = "terraform-aws-modules/security-group/aws" version = "5.3.1" - vpc_id = data.aws_vpc.default.id + vpc_id = module.module_dev_vpc.vpc_id ingress_rules = ["http-80-tcp", "https-443-tcp"] ingress_cidr_blocks = ["0.0.0.0/0"] From c50c807e3cfaa005b2165a21320559214b341a19 Mon Sep 17 00:00:00 2001 From: nilampp Date: Fri, 24 Oct 2025 13:52:56 -0700 Subject: [PATCH 12/25] load balancer --- main.tf | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/main.tf b/main.tf index 8763621c03..2d3db5d3e7 100644 --- a/main.tf +++ b/main.tf @@ -33,7 +33,6 @@ module "module_dev_vpc" { } } - resource "aws_instance" "web" { ami = data.aws_ami.app_ami.id instance_type = var.instance_type @@ -47,6 +46,37 @@ resource "aws_instance" "web" { } } +module "alb" { + source = "terraform-aws-modules/alb/aws" + + name = "dev-alb" + vpc_id = module.module_dev_vpc.vpc_id + subnets = module.module_dev_vpc.public_subnets + security_group = [module_security_group.security_group_id] + + listeners = { + http-tcs-listeners = { + port = 80 + protocol = "HTTP" + target_group_index = 0 + } + } + + target_groups = { + ex-instance = { + name_prefix = "blog" + protocol = "HTTP" + port = 80 + target_type = "instance" + target_id = aws_instance.web.id + } + } + + tags = { + Environment = "dev" + } +} + module "module_security_group"{ name = "module_security_group" source = "terraform-aws-modules/security-group/aws" From 349bded7ea37f63f38aedaf4e78a280029077a3e Mon Sep 17 00:00:00 2001 From: nilampp Date: Fri, 24 Oct 2025 13:55:23 -0700 Subject: [PATCH 13/25] fixed spelling --- main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.tf b/main.tf index 2d3db5d3e7..b911ae6f36 100644 --- a/main.tf +++ b/main.tf @@ -52,7 +52,7 @@ module "alb" { name = "dev-alb" vpc_id = module.module_dev_vpc.vpc_id subnets = module.module_dev_vpc.public_subnets - security_group = [module_security_group.security_group_id] + security_groups = [module_security_group.security_group_id] listeners = { http-tcs-listeners = { From b179648a22860aa5b5c3ad65d48f40fa0ab1b8d6 Mon Sep 17 00:00:00 2001 From: nilampp Date: Fri, 24 Oct 2025 13:57:13 -0700 Subject: [PATCH 14/25] --- main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.tf b/main.tf index b911ae6f36..110893d560 100644 --- a/main.tf +++ b/main.tf @@ -52,7 +52,7 @@ module "alb" { name = "dev-alb" vpc_id = module.module_dev_vpc.vpc_id subnets = module.module_dev_vpc.public_subnets - security_groups = [module_security_group.security_group_id] + security_groups = [module.security_group.security_group_id] listeners = { http-tcs-listeners = { From f0584e4982b06ac59bae7389c3d35e7403301602 Mon Sep 17 00:00:00 2001 From: nilampp Date: Fri, 24 Oct 2025 13:59:04 -0700 Subject: [PATCH 15/25] fixing sg --- main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.tf b/main.tf index 110893d560..765d7051af 100644 --- a/main.tf +++ b/main.tf @@ -52,7 +52,7 @@ module "alb" { name = "dev-alb" vpc_id = module.module_dev_vpc.vpc_id subnets = module.module_dev_vpc.public_subnets - security_groups = [module.security_group.security_group_id] + security_groups = [module.module_security_group.security_group_id] listeners = { http-tcs-listeners = { From 130f5fe246b4a2b932ed6d9f020ff8c37b360176 Mon Sep 17 00:00:00 2001 From: nilampp Date: Fri, 24 Oct 2025 14:11:56 -0700 Subject: [PATCH 16/25] alb target groups --- main.tf | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/main.tf b/main.tf index 765d7051af..3472f06855 100644 --- a/main.tf +++ b/main.tf @@ -47,11 +47,12 @@ resource "aws_instance" "web" { } module "alb" { - source = "terraform-aws-modules/alb/aws" + source = "terraform-aws-modules/alb/aws" + load_balance_type ="application" - name = "dev-alb" - vpc_id = module.module_dev_vpc.vpc_id - subnets = module.module_dev_vpc.public_subnets + name = "dev-alb" + vpc_id = module.module_dev_vpc.vpc_id + subnets = module.module_dev_vpc.public_subnets security_groups = [module.module_security_group.security_group_id] listeners = { @@ -62,15 +63,20 @@ module "alb" { } } - target_groups = { - ex-instance = { + target_groups = [ + { name_prefix = "blog" protocol = "HTTP" port = 80 target_type = "instance" - target_id = aws_instance.web.id + targets ={ + my_target ={ + target_id = aws_instance.web.id + port = 80 + } + } } - } + ] tags = { Environment = "dev" From 6e41929db3031456c0a4e5e41bf30fe0a1ec36b1 Mon Sep 17 00:00:00 2001 From: nilampp Date: Fri, 24 Oct 2025 14:12:46 -0700 Subject: [PATCH 17/25] fixed lb --- main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.tf b/main.tf index 3472f06855..ff9bd08c20 100644 --- a/main.tf +++ b/main.tf @@ -48,7 +48,7 @@ resource "aws_instance" "web" { module "alb" { source = "terraform-aws-modules/alb/aws" - load_balance_type ="application" + load_balancer_type ="application" name = "dev-alb" vpc_id = module.module_dev_vpc.vpc_id From 2f7ed2f9b3bdd3fbaf1a043d8bfdd8e183ab9d9a Mon Sep 17 00:00:00 2001 From: nilampp Date: Fri, 24 Oct 2025 14:56:24 -0700 Subject: [PATCH 18/25] fix alb --- main.tf | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/main.tf b/main.tf index ff9bd08c20..2e340d9a74 100644 --- a/main.tf +++ b/main.tf @@ -55,28 +55,22 @@ module "alb" { subnets = module.module_dev_vpc.public_subnets security_groups = [module.module_security_group.security_group_id] - listeners = { - http-tcs-listeners = { - port = 80 - protocol = "HTTP" - target_group_index = 0 - } + + http-tcp-listeners = { + port = 80 + protocol = "HTTP" + target_group_index = 0 } - target_groups = [ - { + target_groups = { + ex-instance = { name_prefix = "blog" protocol = "HTTP" port = 80 target_type = "instance" - targets ={ - my_target ={ - target_id = aws_instance.web.id - port = 80 - } - } + target_id = aws_instance.web.id } - ] + } tags = { Environment = "dev" From f16a00e13b38c6d9a4688ab011486852c17c1138 Mon Sep 17 00:00:00 2001 From: nilampp Date: Fri, 24 Oct 2025 14:58:02 -0700 Subject: [PATCH 19/25] fix listeners --- main.tf | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/main.tf b/main.tf index 2e340d9a74..bdcbb762f4 100644 --- a/main.tf +++ b/main.tf @@ -56,11 +56,13 @@ module "alb" { security_groups = [module.module_security_group.security_group_id] - http-tcp-listeners = { - port = 80 - protocol = "HTTP" - target_group_index = 0 - } + http-tcp-listeners = [ + { + port = 80 + protocol = "HTTP" + target_group_index = 0 + } + ] target_groups = { ex-instance = { From 46a3eff83a9c78c3407160ca66ffd21a72934590 Mon Sep 17 00:00:00 2001 From: nilampp Date: Fri, 24 Oct 2025 15:03:40 -0700 Subject: [PATCH 20/25] fixing listener syntax --- main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.tf b/main.tf index bdcbb762f4..39d069c806 100644 --- a/main.tf +++ b/main.tf @@ -56,7 +56,7 @@ module "alb" { security_groups = [module.module_security_group.security_group_id] - http-tcp-listeners = [ + http_tcp_listeners = [ { port = 80 protocol = "HTTP" From feda0091ba4ae90a6b31850be62828fbfb649913 Mon Sep 17 00:00:00 2001 From: nilampp Date: Fri, 24 Oct 2025 15:05:15 -0700 Subject: [PATCH 21/25] listener --- main.tf | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/main.tf b/main.tf index 39d069c806..106c5d0c54 100644 --- a/main.tf +++ b/main.tf @@ -56,13 +56,12 @@ module "alb" { security_groups = [module.module_security_group.security_group_id] - http_tcp_listeners = [ - { + http_tcp_listeners = { port = 80 protocol = "HTTP" target_group_index = 0 - } - ] + } + target_groups = { ex-instance = { From 2325d0b8f93b834ba05a1859c04ab1ee8f59f982 Mon Sep 17 00:00:00 2001 From: nilampp Date: Fri, 24 Oct 2025 15:07:06 -0700 Subject: [PATCH 22/25] add listener block --- main.tf | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/main.tf b/main.tf index 106c5d0c54..b78d27ac74 100644 --- a/main.tf +++ b/main.tf @@ -56,10 +56,12 @@ module "alb" { security_groups = [module.module_security_group.security_group_id] - http_tcp_listeners = { + listeners = { + http_tcp_listeners = { port = 80 protocol = "HTTP" target_group_index = 0 + } } From 27597119a8f4b66deb5de85d1df948d65da9fe4f Mon Sep 17 00:00:00 2001 From: nilampp Date: Fri, 24 Oct 2025 15:32:45 -0700 Subject: [PATCH 23/25] adding alb Security Group --- main.tf | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/main.tf b/main.tf index b78d27ac74..b3b3c20557 100644 --- a/main.tf +++ b/main.tf @@ -55,6 +55,31 @@ module "alb" { subnets = module.module_dev_vpc.public_subnets security_groups = [module.module_security_group.security_group_id] + # Security Group + enforce_security_group_inbound_rules_on_private_link_traffic = "on" + security_group_ingress_rules = { + all_http = { + from_port = 80 + to_port = 82 + ip_protocol = "tcp" + description = "HTTP web traffic" + cidr_ipv4 = "0.0.0.0/0" + } + all_https = { + from_port = 443 + to_port = 445 + ip_protocol = "tcp" + description = "HTTPS web traffic" + cidr_ipv4 = "0.0.0.0/0" + } + } + security_group_egress_rules = { + all = { + ip_protocol = "-1" + cidr_ipv4 = "0.0.0.0/0" + } + } + listeners = { http_tcp_listeners = { From 0e3fd04be6fce4f504c94c5569f8ab54f2aea3d6 Mon Sep 17 00:00:00 2001 From: nilampp Date: Fri, 24 Oct 2025 15:34:01 -0700 Subject: [PATCH 24/25] remove alb security group --- main.tf | 26 -------------------------- 1 file changed, 26 deletions(-) diff --git a/main.tf b/main.tf index b3b3c20557..56e18c6783 100644 --- a/main.tf +++ b/main.tf @@ -55,32 +55,6 @@ module "alb" { subnets = module.module_dev_vpc.public_subnets security_groups = [module.module_security_group.security_group_id] - # Security Group - enforce_security_group_inbound_rules_on_private_link_traffic = "on" - security_group_ingress_rules = { - all_http = { - from_port = 80 - to_port = 82 - ip_protocol = "tcp" - description = "HTTP web traffic" - cidr_ipv4 = "0.0.0.0/0" - } - all_https = { - from_port = 443 - to_port = 445 - ip_protocol = "tcp" - description = "HTTPS web traffic" - cidr_ipv4 = "0.0.0.0/0" - } - } - security_group_egress_rules = { - all = { - ip_protocol = "-1" - cidr_ipv4 = "0.0.0.0/0" - } - } - - listeners = { http_tcp_listeners = { port = 80 From 7edae83f86d58057e8b4fbd03876244dd755e8d3 Mon Sep 17 00:00:00 2001 From: nilampp Date: Fri, 24 Oct 2025 15:57:20 -0700 Subject: [PATCH 25/25] autoscaling --- main.tf | 47 +++++++++++++++++++++++++++++++++++++---------- 1 file changed, 37 insertions(+), 10 deletions(-) diff --git a/main.tf b/main.tf index 56e18c6783..a72500f632 100644 --- a/main.tf +++ b/main.tf @@ -33,20 +33,23 @@ module "module_dev_vpc" { } } -resource "aws_instance" "web" { - ami = data.aws_ami.app_ami.id - instance_type = var.instance_type - - vpc_security_group_ids = [module.module_security_group.security_group_id] +module "autoscaling" { + source = "terraform-aws-modules/autoscaling/aws" + version = "9.0.2" + name = "autoscaling" - subnet_id = module.module_dev_vpc.public_subnets[0] + min_size = 1 + max_size = 2 - tags = { - Name = "Learning Terraform" - } + vpc_zone_identifier = module.dev_vpc.public_subnets + target_group_arns = module.dev_alb.target_group_arns + security_groups = [module.module_security_group.security_group_id] + + image_id = data.aws_ami.app_ami.id + instance_type = var.instance_type } -module "alb" { +module "dev_alb" { source = "terraform-aws-modules/alb/aws" load_balancer_type ="application" @@ -55,6 +58,30 @@ module "alb" { subnets = module.module_dev_vpc.public_subnets security_groups = [module.module_security_group.security_group_id] + resource "aws_lb_listener_rule" "health_check" { + listener_arn = aws_lb_listener.front_end.arn + + action { + type = "fixed-response" + + fixed_response { + content_type = "text/plain" + message_body = "HEALTHY" + status_code = "200" + } + } + + condition { + query_string { + key = "health" + value = "check" + } + + query_string { + value = "bar" + } + } +} listeners = { http_tcp_listeners = { port = 80