02-Subnets

Module creating 2 public subnets across 2 Availability Zones

Stage Modulemodules/02-subnets

Purpose

Creates 2 public subnets to ensure high availability for Load Balancer and EC2 instances. Each subnet is in a separate AZ.

Created Resources

ResourceDescription
aws_subnet.mainMain subnet on AZ-1 (172.x.0.0/24)
aws_subnet.secondSecond subnet on AZ-2 (172.x.1.0/24)

Input Variables

NameTypeDescription
vpc_idstringVPC ID (from module 01)
vpc_cidrstringVPC CIDR
az_1stringAvailability Zone 1 (e.g., ap-southeast-1a)
az_2stringAvailability Zone 2 (e.g., ap-southeast-1b)
modules/02-subnets/main.tf
# main.tf
resource "aws_subnet" "main" {
  vpc_id                  = var.vpc_id
  cidr_block              = cidrsubnet(var.vpc_cidr, 8, 0)  # x.x.0.0/24
  availability_zone       = var.az_1
  map_public_ip_on_launch = true

  tags = {
    Name = "milu2stage-main"
  }
}

resource "aws_subnet" "second" {
  vpc_id                  = var.vpc_id
  cidr_block              = cidrsubnet(var.vpc_cidr, 8, 1)  # x.x.1.0/24
  availability_zone       = var.az_2
  map_public_ip_on_launch = true

  tags = {
    Name = "milu2stage-second"
  }
}

Outputs

NameDescription
subnet_main_idMain subnet ID (AZ-1)
subnet_second_idSecond subnet ID (AZ-2)
subnet_idsList of both subnet IDs

Dependencies

Info

Dependencies: module.vpc (01-vpc) - needs vpc_id and vpc_cidr