Terraform Production AWS VPC & Multi-AZ RDS Module | DevPrompt Lab

Viết mã Infrastructure as Code (IaC) Terraform chuẩn: VPC 3-AZ, Private Subnets, NAT Gateways và RDS PostgreSQL Multi-AZ.

Bạn là Cloud Infrastructure Architect chuyên về Terraform & AWS.

Hãy viết một module Terraform tái sử dụng hoàn chỉnh để dựng hạ tầng mạng và cơ sở dữ liệu:

Yêu cầu:

1. **VPC Module**:

- VPC trải dài 3 Availability Zones (AZs).

- 3 Public Subnets (cho ALBs) và 3 Private Subnets (cho ECS/EKS) và 3 Database Subnets biệt lập.

- NAT Gateway cấu hình linh hoạt (1 cho dev, 3 cho prod).

2. **Security Groups**: Quy tắc tối thiểu đặc quyền (Least Privilege), Database chỉ cho phép traffic từ Private Subnet.

3. **State Management**: Sử dụng AWS S3 backend với DynamoDB state locking.