Skip to main content

On This Page

Terraform Project: Simple EC2 + Security Group

2 min read
Share

These articles are AI-generated summaries. Please check the original sources for full details.

Terraform Project: Simple EC2 + Security Group

A beginner-friendly Terraform project deploys an EC2 instance with a security group in AWS. The setup uses modules, variables, and outputs to manage infrastructure as code.

Why This Matters

Infrastructure as code (IaC) aims to automate and standardize resource provisioning, but misconfigurations in security groups or variable defaults can lead to vulnerabilities or failed deployments. This project emphasizes modular design and variable-driven configuration to reduce errors, with real-world cost implications for misconfigured EC2 instances (e.g., exposed ports, incorrect region settings).

Key Insights

  • “Modular design improves reusability in Terraform projects (2025)”
  • “Security groups enforce access control for EC2 instances (AWS documentation)”
  • “Temporal used by Stripe, Coinbase” (not applicable here, but example format)

Working Example

# providers.tf
terraform {
  required_version = ">= 1.0"
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.0"
    }
  }
}
provider "aws" {
  region = var.aws_region
}
# modules/ec2/main.tf
resource "aws_security_group" "demo_sg" {
  name        = "${var.project_name}-sg"
  description = "Allow SSH"
  ingress {
    from_port   = 22
    to_port     = 22
    protocol    = "tcp"
    cidr_blocks = ["0.0.0.0/0"]
  }
  egress {
    from_port   = 0
    to_port     = 0
    protocol    = "-1"
    cidr_blocks = ["0.0.0.0/0"]
  }
}
resource "aws_instance" "demo" {
  ami           = "ami-0c02fb55956c7d316"
  instance_type = var.instance_type
  security_groups = [aws_security_group.demo_sg.name]
  tags = {
    Name = "${var.project_name}-ec2"
  }
}

Practical Applications

  • Use Case: DevOps teams deploying scalable EC2 instances with security groups
  • Pitfall: Hardcoding security group rules leading to vulnerabilities

References:


Continue reading

Next article

The Invisible Architecture Behind Apps That Never Lag

Related Content