Tác giả

Oct 22, 2025 • 11:00 PM

Tác giả: Linh osimi

AWS VPC: Kiến trúc mạng ảo nền tảng trong hệ sinh thái AWS

Phân tích chi tiết từ cơ bản đến nâng cao — kèm minh họa trực quan

1. Giới thiệu

AWS VPC (Virtual Private Cloud) là dịch vụ cho phép bạn tạo một **mạng ảo riêng biệt và cô lập** trong AWS — nơi bạn có toàn quyền kiểm soát không gian địa chỉ IP, subnet, route table, gateway và tường lửa. Mọi tài nguyên như EC2, RDS, Lambda (trong VPC) đều hoạt động trong phạm vi VPC này.

VPC là nền tảng bắt buộc cho bất kỳ hệ thống production nào trên AWS. Hiểu VPC không chỉ giúp bạn triển khai ứng dụng, mà còn đảm bảo **bảo mật, hiệu năng và khả năng mở rộng**.

Tổng quan AWS VPC
Hình 1: VPC là mạng riêng ảo cô lập trong AWS, chứa các tài nguyên như EC2, RDS, v.v.

2. Các khái niệm cơ bản

2.1. CIDR và dải địa chỉ IP

Khi tạo VPC, bạn phải chọn một khối địa chỉ IP theo chuẩn CIDR (Classless Inter-Domain Routing), ví dụ: 10.0.0.0/16.

  • /16 → 65.536 địa chỉ IP (từ 10.0.0.0 đến 10.0.255.255).
  • AWS **dành riêng 5 IP đầu tiên** trong mỗi subnet cho hệ thống → bạn chỉ dùng được 65.531 IP.

Các dải IP được phép dùng trong VPC (theo RFC 1918):

  • 10.0.0.0 – 10.255.255.255 (/8)
  • 172.16.0.0 – 172.31.255.255 (/12)
  • 192.168.0.0 – 192.168.255.255 (/16)

2.2. Subnet: Public và Private

Subnet là phân vùng con của VPC. Có hai loại chính:

  • Public Subnet: Có route ra internet (qua Internet Gateway). Dùng cho load balancer, bastion host.
  • Private Subnet: Không có route trực tiếp ra internet. Dùng cho database, application server.
Public và Private Subnet trong VPC
Hình 2: Public subnet kết nối Internet Gateway; Private subnet không có route ra internet.

3. Các thành phần cốt lõi của VPC

3.1. Internet Gateway (IGW)

Cổng ra internet cho VPC. Là thành phần **bắt buộc** để EC2 trong public subnet có thể truy cập internet (hoặc ngược lại).

IGW là highly available, không giới hạn băng thông, và **miễn phí**.

3.2. Route Table

Bảng định tuyến quyết định “gói tin đi đâu”. Mỗi subnet gắn với một route table.

Ví dụ route table cho public subnet:

Destination       Target
0.0.0.0/0         igw-12345678   ← route ra internet
10.0.0.0/16       local          ← traffic nội bộ VPC

Route table cho private subnet:

Destination       Target
10.0.0.0/16       local          ← chỉ giao tiếp nội bộ

3.3. NAT Gateway

Cho phép instance trong **private subnet** truy cập internet (để tải package, cập nhật OS…) nhưng **không cho phép internet kết nối vào**.

NAT Gateway phải được đặt trong **public subnet** và có IP public.

Lưu ý: NAT Gateway **tính phí theo giờ + lưu lượng**.

NAT Gateway trong VPC
Hình 3: Private subnet sử dụng NAT Gateway để truy cập internet một chiều.

3.4. Security Group và Network ACL

Cả hai đều là tường lửa, nhưng khác nhau:

Đặc điểm Security Group Network ACL (NACL)
Mức áp dụngInstanceSubnet
Loại tường lửaStateful (ghi nhớ kết nối)Stateless (xử lý từng gói riêng lẻ)
Mặc địnhChặn tất cả inbound, cho phép tất cả outboundCho phép tất cả inbound & outbound
Thứ tự ruleKhông có — tất cả rule đều áp dụngCó — rule số nhỏ hơn ưu tiên hơn

→ **Security Group** dùng cho kiểm soát truy cập ở mức ứng dụng. → **NACL** dùng như “tấm lưới an toàn” ở mức subnet — thường để chặn IP độc hại hàng loạt.

4. Mô hình VPC thực tế: Multi-AZ, HA và bảo mật

Trong production, VPC nên được triển khai trên **nhiều Availability Zone (AZ)** để đảm bảo high availability.

Mô hình điển hình:

  • 2 public subnet (1 per AZ) → cho Application Load Balancer.
  • 2 private subnet (1 per AZ) → cho EC2 application.
  • 2 private subnet database (1 per AZ) → cho RDS.
  • 1 NAT Gateway mỗi AZ (hoặc dùng shared VPC).
Mô hình VPC production multi-AZ
Hình 4: Mô hình VPC production với multi-AZ, phân tách rõ public/private, sử dụng ALB và NAT Gateway.

5. Kết nối giữa các VPC

5.1. VPC Peering

Cho phép hai VPC giao tiếp **trực tiếp qua private IP**, như trong cùng mạng nội bộ.

Giới hạn:

  • Không hỗ trợ transitive routing (A ↔ B, B ↔ C → A không giao tiếp được với C).
  • Phải không trùng CIDR.

5.2. AWS Transit Gateway

Là “trung tâm kết nối” cho nhiều VPC, on-premises network (qua Direct Connect/VPN). Hỗ trợ transitive routing.

Phù hợp cho hệ thống lớn với hàng chục VPC.

Transit Gateway kết nối nhiều VPC
Hình 5: Transit Gateway như hub trung tâm kết nối nhiều spoke (VPC, on-prem).

6. Kết luận

AWS VPC không chỉ là “mạng ảo” — mà là **nền tảng kiến trúc** cho toàn bộ hệ thống cloud. Việc thiết kế VPC đúng từ đầu giúp bạn:

  • Đảm bảo an toàn: tách biệt public/private, kiểm soát traffic chặt chẽ.
  • Tối ưu chi phí: tránh NAT Gateway dư thừa, chọn đúng AZ.
  • Dễ mở rộng: hỗ trợ multi-region, hybrid cloud.

Hãy luôn bắt đầu dự án mới bằng việc **thiết kế sơ đồ VPC trên giấy** — xác định số subnet, AZ, gateway, và luồng dữ liệu — trước khi gõ lệnh hoặc click console.

Vì trong cloud, **mạng không phải là thứ “gắn thêm sau” — mà là xương sống của hệ thống**.