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
| Resource | Description |
|---|---|
| aws_subnet.main | Main subnet on AZ-1 (172.x.0.0/24) |
| aws_subnet.second | Second subnet on AZ-2 (172.x.1.0/24) |
Input Variables
| Name | Type | Description |
|---|---|---|
| vpc_id | string | VPC ID (from module 01) |
| vpc_cidr | string | VPC CIDR |
| az_1 | string | Availability Zone 1 (e.g., ap-southeast-1a) |
| az_2 | string | Availability 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
| Name | Description |
|---|---|
| subnet_main_id | Main subnet ID (AZ-1) |
| subnet_second_id | Second subnet ID (AZ-2) |
| subnet_ids | List of both subnet IDs |
Dependencies
Info
Dependencies: module.vpc (01-vpc) - needs vpc_id and vpc_cidr