NAT Instance
Tổng quan
- NAT Instance (Network Address Translation Instance)
- Cho phép các EC2 trong private subnet có thể kết nối ra ngoài Internet (ví dụ để tải cập nhật, gọi API...), nhưng không cho phép từ Internet vào.
- Dùng khi bạn có các EC2 nằm trong private subnet và muốn chúng truy cập ra ngoài, nhưng không muốn expose 1 public IP
Nguyên tắc nếu muốn EC2 truy cập Internet mà không dùng NAT, thì bạn phải cấp cho nó một public IP và cho nó nằm trong public subnet
- NAT Instance phải được khởi chạy trong public subnet
- NAT Instance phải attach với Elastic IP
- Route Tables phải được cấu hình để định tuyến traffic từ các private subnet đến NAT instance
- Hướng kết nối:
➡️ Outbound only (chỉ từ trong ra ngoài) - Phải tắt thiết lập EC2: Source / destination check
Mặc định, mỗi EC2 chỉ được phép xử lý traffic mà chính nó gửi ra hoặc nhận vào.
Nói cách khác:
👉 Nếu một gói tin có nguồn hoặc đích KHÔNG phải là IP của instance đó, thì nó sẽ bị chặn.
Tại sao phải tắt khi dùng NAT Instance?
- Vì khi bạn dùng EC2 làm NAT, nó cần xử lý và chuyển tiếp lưu lượng giữa EC2 trong private subnet và Internet
Trong trường hợp này:
- Gói tin đi qua NAT instance, nhưng không phải dành cho nó.
- Nếu Source/Destination Check còn bật, EC2 sẽ chặn gói đó vì nghĩ "cái này không phải của mình".

So sánh giữa NAT Instance và Bastion Host
| Tiêu chí | NAT Instance | Bastion Host |
|---|---|---|
| Mục đích chính | Truy cập Internet từ private subnet | Quản trị EC2 trong private subnet |
| Hướng kết nối | Outbound | Inbound |
| EC2 trong private subnet | Không thể truy cập đến EC2 từ Internet | Có thể truy cập đến EC2 qua bastion host |
| Giao thức thường dùng | HTTP/HTTPS | SSH/RDP |
Bạn thấy bài này thế nào?