02-Subnets

Module tạo 2 public subnets trên 2 Availability Zones khác nhau

Stage Modulemodules/02-subnets

Mục đích

Tạo 2 subnet public để đảm bảo high availability cho Load Balancer và EC2 instances. Mỗi subnet nằm trên một AZ riêng.

Resources được tạo

ResourceMô tả
aws_subnet.mainSubnet chính trên AZ-1 (172.x.0.0/24)
aws_subnet.secondSubnet phụ trên AZ-2 (172.x.1.0/24)

Input Variables

TênKiểuMô tả
vpc_idstringID của VPC (từ module 01)
vpc_cidrstringCIDR của VPC
az_1stringAvailability Zone 1 (vd: ap-southeast-1a)
az_2stringAvailability Zone 2 (vd: 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

TênMô tả
subnet_main_idID của subnet main (AZ-1)
subnet_second_idID của subnet second (AZ-2)
subnet_idsList cả 2 subnet IDs

Dependencies

Thông tin

Phụ thuộc: module.vpc (01-vpc) - cần vpc_id và vpc_cidr