Site logo
Tác giả
  • avatar Nguyễn Đức Xinh
    Name
    Nguyễn Đức Xinh
    Twitter
Ngày xuất bản
Ngày xuất bản

AWS NAT Instance là gì? Hướng dẫn chi tiết về cấu hình và sử dụng NAT Instance trong VPC

1. Giới thiệu

Trong hệ thống mạng AWS, có hai loại subnet chính: public subnetprivate subnet. Các EC2 instance trong private subnet thường không có quyền truy cập Internet trực tiếp để đảm bảo bảo mật. Tuy nhiên, nhiều trường hợp bạn vẫn cần các instance này tải bản cập nhật hệ điều hành hoặc truy cập API bên ngoài.

Giải pháp cho tình huống này chính là NAT (Network Address Translation) — và cụ thể là NAT Instance hoặc NAT Gateway.

so sánh NAT instance và NAT gateway

  • NAT instance là một EC2 instance mà bạn tự cấu hình và quản lý để cung cấp chức năng Network Address Translation (NAT)
  • NAT gateway là một dịch vụ được AWS quản lý hoàn toàn để thực hiện NAT.

NAT Gateway dễ sử dụng hơn, có khả năng mở rộng linh hoạtđộ sẵn sàng cao hơn cho các ứng dụng hiện đại. Ngược lại, NAT Instance yêu cầu nhiều công việc quản trị hơn như quản lý phần mềm, mở rộng và xử lý lỗi, nhưng có thể là lựa chọn tiết kiệm chi phí cho các trường hợp sử dụng nhỏ hoặc đặc thù.

2. AWS NAT Instance là gì?

AWS NAT Instance là một EC2 instance được cấu hình để thực hiện Network Address Translation (NAT). Nó cho phép các instance trong private subnet có thể gửi yêu cầu ra Internet, nhưng ngăn chặn kết nối ngược chiều từ Internet vào private subnet.

Nói cách khác, NAT Instance hoạt động như cầu nối an toàn giữa private subnet và Internet.


3. Cách hoạt động của NAT Instance

  1. EC2 instance trong private subnet gửi yêu cầu ra Internet (ví dụ: tải bản cập nhật).
  2. Lưu lượng được định tuyến đến NAT Instance trong public subnet thông qua Route Table.
  3. NAT Instance thay đổi địa chỉ IP nguồn (source IP) thành Public IP của chính nó và gửi yêu cầu ra Internet.
  4. Khi phản hồi quay lại, NAT Instance dịch lại địa chỉ và gửi phản hồi trở về instance trong private subnet.

👉 NAT Instance chỉ cho phép kết nối outbound từ private subnet, không cho phép inbound traffic từ Internet.


4. Kiến trúc triển khai NAT Instance

Một kiến trúc phổ biến sử dụng NAT Instance gồm:

  • Public Subnet: chứa NAT Instance có Elastic IP.
  • Private Subnet: chứa EC2 instance cần ra Internet.
  • Route Table: của private subnet trỏ route mặc định (0.0.0.0/0) đến NAT Instance.
Private EC2 → NAT Instance (Public Subnet) → Internet Gateway → Internet

5. Cách cấu hình NAT Instance

Bước 1: Tạo NAT Instance

  • Truy cập EC2 Console → Launch Instance.
  • Chọn Amazon Linux NAT AMI (AWS cung cấp sẵn NAT AMI).
  • Gắn vào public subnetgán Elastic IP.

Bước 2: Cấu hình Security Group

  • Cho phép Inbound: ICMP, SSH (chỉ từ IP quản trị), và lưu lượng từ private subnet.
  • Cho phép Outbound: toàn bộ (0.0.0.0/0).

Bước 3: Tắt Source/Destination Check

NAT Instance cần tắt kiểm tra nguồn/đích để hoạt động đúng:

aws ec2 modify-instance-attribute --instance-id i-xxxxxxxx --source-dest-check "{\"Value\": false}"

Bước 4: Cập nhật Route Table

  • Mở VPC → Route Tables.

  • Chọn route table của private subnet.

  • Thêm route:

    • Destination: 0.0.0.0/0
    • Target: NAT Instance ID.

6. NAT Instance vs NAT Gateway

Tiêu chí NAT Instance NAT Gateway
Loại dịch vụ EC2 instance AWS-managed service
Cấu hình Thủ công (AMI, route, SG) Tự động
Khả năng mở rộng Thủ công (scale bằng Auto Scaling) Tự động
High Availability Cần setup thủ công Có sẵn multi-AZ
Hiệu năng Phụ thuộc loại instance Tối ưu, AWS quản lý
Chi phí Thấp hơn cho workload nhỏ Cao hơn nhưng ổn định hơn
Tắt bật theo nhu cầu Có thể dừng EC2 Không thể tạm dừng Gateway

🟢 Dùng NAT Instance khi bạn cần tùy chỉnh, tiết kiệm chi phí, hoặc muốn can thiệp sâu vào quá trình xử lý mạng. 🔵 Dùng NAT Gateway khi bạn muốn hiệu năng cao, HA, và không muốn bảo trì thủ công.


7. Best Practices khi dùng NAT Instance

Bật Auto Recovery hoặc Auto Scaling để tăng tính sẵn sàng. ✅ Giới hạn inbound traffic bằng Security Group, chỉ cho phép từ private subnet. ✅ Dùng CloudWatch để giám sát CPU, Network In/Out. ✅ Thường xuyên cập nhật NAT AMI để có bản vá bảo mật mới. ✅ Sử dụng Elastic IP cố định để dễ quản lý route.


8. Use Cases phổ biến

  • EC2 trong private subnet cần download patch/update từ Internet.
  • Ứng dụng backend cần gọi API công cộng (ví dụ: Google Maps, AWS SNS, Stripe, v.v).
  • Hệ thống có cấu trúc phân tầng bảo mật, tách biệt hoàn toàn private và public layer.

9. Tổng kết

AWS NAT Instance là giải pháp tiết kiệm và linh hoạt cho phép các instance trong private subnet truy cập Internet mà vẫn đảm bảo an toàn. Mặc dù hiện nay AWS khuyến khích sử dụng NAT Gateway vì hiệu năng và khả năng mở rộng tốt hơn, NAT Instance vẫn hữu ích trong những trường hợp cần tùy chỉnh mạng hoặc tiết kiệm chi phí.


🔍 Tóm tắt nhanh

Đặc điểm Mô tả
Loại dịch vụ EC2-based Network Address Translation
Dùng cho Private Subnet trong VPC
Truy cập Internet Outbound Only
High Availability Cấu hình thủ công
Chi phí Thấp, linh hoạt
Thay thế hiện đại NAT Gateway