Chuyển tới nội dung chính

Amazon VPC - Basic

📖 1. Giới thiệu về Amazon VPC

Amazon Virtual Private Cloud (VPC) là dịch vụ mạng ảo, cho phép bạn tạo ra một môi trường mạng cô lập hoàn toàn trong AWS Cloud. VPC hoạt động như một data center ảo riêng biệt, nơi bạn có thể triển khai các tài nguyên AWS một cách an toàn và có kiểm soát hoàn toàn.

🎯 Tại sao cần VPC?

  • Bảo mật: Tách biệt hoàn toàn với các tài khoản AWS khác
  • Kiểm soát: Tự định nghĩa dải IP, subnet, routing, và gateway
  • Linh hoạt: Có thể kết nối với on-premises hoặc VPC khác
  • Tuân thủ: Đáp ứng các yêu cầu compliance và audit

🔧 2. Core Components

VPC bao gồm các thành phần chính sau:

2.1. Public Subnet vs Private Subnet - Mạng trong VPC

Public Subnet:

  • Có route 0.0.0.0/0 trỏ tới Internet Gateway (IGW)

  • Instance đặt trong public subnet cần có Public IP

Private Subnet:

  • Không có route tới IGW

  • Muốn ra Internet (để cập nhật OS), phải đi qua NAT Gateway nằm ở public subnet.

Tối ưu chi phí

NAT Gateway tính phí theo giờ và theo dung lượng xử lý.

Nếu traffic ra Internet quá lớn (VD: tải ảnh từ S3), hãy dùng VPC Endpoint (Gateway Type) cho S3.

Nó miễn phí và đi qua đường mạng nội bộ AWS.

📚 Tài liệu tham khảo:

2.2. Route Table và Internet Gateway, NAT Gateway

2.2.1. 🗺️ Route Table (Bảng định tuyến)

⚡ Route Table là gì?
Bảng định tuyến quy định traffic từ subnet sẽ được chuyển hướng đến đâu trong hệ thống mạng.

🎯 Chức năng:

  • 📝 Chứa các quy tắc định tuyến (destination + target)

  • 🔗 Mỗi subnet bắt buộc phải liên kết với 1 route table

  • 🚦 Quyết định đường đi cho mọi gói tin mạng ra/vào subnet

2.2.2. 🌐 Internet Gateway (IGW)

⚡ Internet Gateway là gì?
Cổng kết nối cho phép VPC giao tiếp trực tiếp với Internet công cộng.

🎯 Chức năng:

  • 🔓 Cho phép tài nguyên trong VPC truy cập Internet trực tiếp

  • 📍 Chỉ hoạt động với public subnet

  • 🏷️ EC2 instance tại public subnet cần có public IP để sử dụng IGW

  • 💰 Hoàn toàn miễn phí

2.2.3. 🛡️ NAT Gateway

⚡ NAT Gateway là gì?
Dịch vụ Network Address Translation cho phép private subnet kết nối ra Internet một cách an toàn.

🎯 Chức năng:

  • 🔒 EC2 instance tại private subnet có thể đi ra Internet mà không cần public IP

  • ⬅️ Chỉ cho phép outbound connection (bảo mật cao hơn)

  • 💸 Có phí theo giờ + data transfer

📊 So sánh IGW vs NAT Gateway

🔍 Tiêu chí🌐 Internet Gateway🛡️ NAT Gateway
🎯 Mục đíchKết nối trực tiếp InternetKết nối Internet cho resources trong private subnet
📍 Vị tríGắn vào VPCĐặt trong Public subnet
🔒 Bảo mậtÍt bảo mật hơnBảo mật cao hơn
💰 Chi phíMiễn phíCó phí theo giờ + data transfer

2.2.4. 🔄 Luồng traffic

Tóm tắt:

  • Route Table là bản đồ đường đi

  • IGW là cổng trực tiếp ra Internet

  • NAT GW là cổng an toàn cho resources trong private subnet

Luồng traffic điển hình:

  • EC2 tại public subnet: 🖥️ EC2 Instance → 🌐 Internet Gateway → 🌍 Internet

  • EC2 tại private subnet: 🖥️ EC2 Instance → 🔄 NAT Gateway → 🌐 Internet Gateway → 🌍 Internet

📚 Tài liệu tham khảo:

🛠️ 3. Other Components

Ngoài các thành phần cốt lõi như Route Table, IGW và NAT Gateway, AWS VPC còn cung cấp nhiều tài nguyên bổ sung để tăng cường tính năng và độ tin cậy cho hạ tầng mạng của bạn.

3.1. Elastic IP - Địa chỉ IP tĩnh

🎯 Mục đích:

  • Cung cấp địa chỉ IP tĩnh cho các tài nguyên AWS

  • Đảm bảo tính liên tục khi instance bị lỗi hoặc restart

  • Hỗ trợ failover và high availability

💰 Chi phí:

  • Miễn phí khi gắn vào instance đang chạy

  • $0.005/giờ khi không sử dụng (để tránh lãng phí IP)

  • Không giới hạn số lượng EIP per account (có thể request tăng limit)

📚 Tài liệu tham khảo:

3.2. VPC Endpoint - Truy cập riêng tư AWS Services

So sánh VPC Endpoint Types:

LoạiGateway EndpointInterface Endpoint
Dịch vụ hỗ trợS3, DynamoDBHầu hết dịch vụ AWS khác
Chi phíMiễn phí$0.01/giờ + data transfer
Cách hoạt độngRoute TableENI + Private DNS
Bảo mậtVPC chỉ có thể truy cậpSecurity Group + NACL

📚 Tài liệu tham khảo:

🔒 4. Security Layers

AWS cung cấp 2 lớp bảo mật chính để kiểm soát traffic:

4.1. Security Group

Security group là tường lửa ảo hoạt động ở cấp độ instance, kiểm soát traffic đến và đi từ các instance thông qua các rule allow (chỉ cho phép, không có rule deny).

Security Group là Stateful, tức là:

  • Khi cho phép traffic inbound, response outbound tự động được cho phép

  • Khi cho phép traffic outbound, response inbound tự động được cho phép

  • Không cần tạo rule riêng cho traffic trả về

Ví dụ: Với Security Group, chỉ cần rule cho phép TCP inbound port 22, response sẽ tự động được phép đi ra.

Giới hạn Security Group

AWS giới hạn tối đa 5 security groups trên mỗi network interface.

4.2. Network ACL

Network ACL là tường lửa hoạt động ở cấp độ subnet, kiểm soát traffic vào và ra khỏi subnet thông qua các rule được đánh số theo thứ tự ưu tiên, hỗ trợ cả rule allow và deny.

Network ACL là Stateless, tức là:

  • Phải tạo rule riêng cho cả inbound và outbound traffic

  • Traffic đi vào cần rule inbound, traffic trả về cần rule outbound tương ứng

  • Mỗi chiều traffic được đánh giá độc lập theo các rule riêng biệt

Ví dụ: Với Network ACL, cần cả rule inbound port 80 và rule outbound cho ephemeral ports (1024-65535) để response có thể trả về.

Độ phức tạp của NACL

NACL rất dễ cấu hình sai (quên mở Ephemeral Ports cho chiều về).

Trong 99% trường hợp, bạn chỉ cần dùng Security Group là đủ. Chỉ dùng NACL khi cần chặn (Deny) một IP cụ thể nào đó.

4.3. So sánh Security Groups và Network ACL

Tính năngSecurity Group (SG)Network ACL (NACL)
Cấp độInstance (ENI)Subnet
Trạng tháiStateful (Cho phép chiều đi → Tự động cho phép chiều về)Stateless (Phải mở cả chiều đi và về)
Quy tắcChỉ AllowAllow & Deny

📚 Tài liệu tham khảo: