From 56f6ff7f348e55399faec122be911dd89dd4e7dc Mon Sep 17 00:00:00 2001 From: Josh Samuelson Date: Tue, 6 Sep 2022 21:50:00 -0700 Subject: [PATCH 1/8] 03_04 solutions --- main.tf | 50 ++++++++++++++++++++++++++++++++++++++++++++++---- outputs.tf | 12 ++++++------ variables.tf | 8 ++++---- 3 files changed, 56 insertions(+), 14 deletions(-) diff --git a/main.tf b/main.tf index 9b32ce06bb..8429eccef9 100644 --- a/main.tf +++ b/main.tf @@ -14,11 +14,53 @@ data "aws_ami" "app_ami" { owners = ["979382823631"] # Bitnami } -resource "aws_instance" "web" { - ami = data.aws_ami.app_ami.id - instance_type = "t3.nano" +data "aws_vpc" "default" { + default = true +} + +resource "aws_instance" "blog" { + ami = data.aws_ami.app_ami.id + instance_type = var.instance_type + vpc_security_group_ids = [aws_security_group.blog.id] tags = { - Name = "HelloWorld" + Name = "Learning Terraform" } } + +resource "aws_security_group" "blog" { + name = "blog" + 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 +} diff --git a/outputs.tf b/outputs.tf index b35171bef1..7e9410b55c 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.blog.ami +} -#output "instance_arn" { -# value = aws_instance.web.arn -#} +output "instance_arn" { + value = aws_instance.blog.arn +} diff --git a/variables.tf b/variables.tf index c750667e0f..48b7a75904 100644 --- a/variables.tf +++ b/variables.tf @@ -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.nano" +} \ No newline at end of file From ad66b32039288322627d6ddfe964b90e3af42e4b Mon Sep 17 00:00:00 2001 From: Pradeep4u2 <128627674+Pradeep4u2@users.noreply.github.com> Date: Tue, 11 Nov 2025 12:04:32 -0500 Subject: [PATCH 2/8] Initial Commit --- main.tf | 2 +- outputs.tf | 12 ++++++------ variables.tf | 8 ++++---- 3 files changed, 11 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..60856bc925 100644 --- a/variables.tf +++ b/variables.tf @@ -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.nano" +} From 4d67c7c022637fee14d166274409919a5d092924 Mon Sep 17 00:00:00 2001 From: Pradeep4u2 <128627674+Pradeep4u2@users.noreply.github.com> Date: Tue, 11 Nov 2025 12:12:36 -0500 Subject: [PATCH 3/8] Rename aws_instance from 'web' to 'blog' --- main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.tf b/main.tf index 0bfc354510..a5284ea024 100644 --- a/main.tf +++ b/main.tf @@ -14,7 +14,7 @@ data "aws_ami" "app_ami" { owners = ["979382823631"] # Bitnami } -resource "aws_instance" "web" { +resource "aws_instance" "blog" { ami = data.aws_ami.app_ami.id instance_type = var.instance_type From 882fbbf0f27b9f329397d7931fdc8f193c5dee7d Mon Sep 17 00:00:00 2001 From: Pradeep4u2 <128627674+Pradeep4u2@users.noreply.github.com> Date: Tue, 11 Nov 2025 12:14:12 -0500 Subject: [PATCH 4/8] Change outputs to reference blog instance --- outputs.tf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/outputs.tf b/outputs.tf index c429b19b48..7e9410b55c 100644 --- a/outputs.tf +++ b/outputs.tf @@ -1,7 +1,7 @@ output "instance_ami" { - value = aws_instance.web.ami + value = aws_instance.blog.ami } output "instance_arn" { - value = aws_instance.web.arn + value = aws_instance.blog.arn } From 11d87605827038b231527a7beefc49daafc33099 Mon Sep 17 00:00:00 2001 From: Pradeep4u2 <128627674+Pradeep4u2@users.noreply.github.com> Date: Tue, 11 Nov 2025 12:14:52 -0500 Subject: [PATCH 5/8] Fix formatting in outputs.tf --- outputs.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/outputs.tf b/outputs.tf index 7e9410b55c..d4990da666 100644 --- a/outputs.tf +++ b/outputs.tf @@ -4,4 +4,4 @@ output "instance_ami" { output "instance_arn" { value = aws_instance.blog.arn -} + From 9503585f7949b5fe9c4b62340bc756a9ad6eb5c1 Mon Sep 17 00:00:00 2001 From: Pradeep4u2 <128627674+Pradeep4u2@users.noreply.github.com> Date: Tue, 11 Nov 2025 12:16:17 -0500 Subject: [PATCH 6/8] Fix output block formatting in outputs.tf --- outputs.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/outputs.tf b/outputs.tf index d4990da666..7e9410b55c 100644 --- a/outputs.tf +++ b/outputs.tf @@ -4,4 +4,4 @@ output "instance_ami" { output "instance_arn" { value = aws_instance.blog.arn - +} From 0ccba69d9b12ee1bea873da8d3a4d16cafda775a Mon Sep 17 00:00:00 2001 From: Pradeep4u2 <128627674+Pradeep4u2@users.noreply.github.com> Date: Tue, 11 Nov 2025 12:52:00 -0500 Subject: [PATCH 7/8] Add description to aws_security_group resource Add description to the blog security group resource. --- main.tf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/main.tf b/main.tf index 8429eccef9..029da33e55 100644 --- a/main.tf +++ b/main.tf @@ -29,7 +29,8 @@ resource "aws_instance" "blog" { } resource "aws_security_group" "blog" { - name = "blog" + name = "blog" + description = "Al.ow http and https in. Allow Everything out" tags = { Terraform = "true" } From db527fb8deb987e04c27d627717b2c36115aab49 Mon Sep 17 00:00:00 2001 From: Pradeep4u2 <128627674+Pradeep4u2@users.noreply.github.com> Date: Tue, 11 Nov 2025 12:54:03 -0500 Subject: [PATCH 8/8] Http & htts --- main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.tf b/main.tf index 029da33e55..7e3dc16d80 100644 --- a/main.tf +++ b/main.tf @@ -30,7 +30,7 @@ resource "aws_instance" "blog" { resource "aws_security_group" "blog" { name = "blog" - description = "Al.ow http and https in. Allow Everything out" + description = "Allow http and https in. Allow Everything out" tags = { Terraform = "true" }