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
| Resource | Mô tả |
|---|---|
| aws_subnet.main | Subnet chính trên AZ-1 (172.x.0.0/24) |
| aws_subnet.second | Subnet phụ trên AZ-2 (172.x.1.0/24) |
Input Variables
| Tên | Kiểu | Mô tả |
|---|---|---|
| vpc_id | string | ID của VPC (từ module 01) |
| vpc_cidr | string | CIDR của VPC |
| az_1 | string | Availability Zone 1 (vd: ap-southeast-1a) |
| az_2 | string | Availability 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ên | Mô tả |
|---|---|
| subnet_main_id | ID của subnet main (AZ-1) |
| subnet_second_id | ID của subnet second (AZ-2) |
| subnet_ids | List cả 2 subnet IDs |
Dependencies
Thông tin
Phụ thuộc: module.vpc (01-vpc) - cần vpc_id và vpc_cidr