Bỏ qua

07.vpcRouting IGW bastionHost

🌐 VPC Routing, Internet Gateway & Bastion Host trên AWS (Lý thuyết nền tảng cho thi cert & đi làm)


PHẦN 1: VPC Router - Bộ định tuyến trong VPC

1. VPC Router là gì?

  • Thiết bị định tuyến có sẵn trong mọi VPC (Default & Custom), hoạt động ở tất cả AZ trong VPC.
  • Highly available by design – không cần lo về availability, AWS quản lý hoàn toàn.
  • Có network interface ở mọi subnet với IP là Network+1 (địa chỉ thứ 2 của subnet).
  • Nhiệm vụ: Di chuyển traffic giữa các subnet trong VPC hoặc ra ngoài (nếu được cấu hình).

2. Route Table - Bảng định tuyến

  • Route table = "bản đồ chỉ đường" cho VPC router, quy định traffic đi đâu khi rời subnet.
  • Mỗi subnet phải có 1 route table (Main route table mặc định hoặc custom).
  • 1 route table có thể gán cho nhiều subnet, nhưng 1 subnet chỉ có 1 route table.

3. Cấu trúc Route trong Route Table

Route components:
  Destination: 10.16.0.0/16      # IP/network đích
  Target: local                  # Đi đâu (local/IGW/NAT/...)

Route matching priority:
  /32 > /24 > /16 > /8 > /0     # Càng cụ thể càng ưu tiên
  Except: Local routes luôn ưu tiên tuyệt đối

4. Local Routes (Luôn có, không sửa được)

  • Tự động có trong mọi route table, match với VPC CIDR.
  • IPv4: 10.16.0.0/16 → local
  • IPv6: 2600:1f14:xxx::/56 → local (nếu VPC có IPv6)
  • Ý nghĩa: Traffic trong VPC được route trực tiếp, không qua gateway.

PHẦN 2: Internet Gateway (IGW) - Cửa ngõ ra Internet

1. Internet Gateway là gì?

  • Managed gateway kết nối VPC với AWS Public Zone & Internet.
  • Regionally resilient – 1 IGW phủ tất cả AZ trong region, không cần 1 IGW/AZ.
  • Relationship 1:1 với VPC – 1 VPC tối đa 1 IGW, 1 IGW chỉ attach 1 VPC.

2. Cách IGW hoạt động

image

🔄 IGW Process:
1. Tạo IGW → Attach vào VPC
2. Tạo custom route table cho public subnet
3. Add default route (0.0.0.0/0) → IGW target
4. Associate route table với subnet cần public
5. Enable auto-assign public IPv4 cho subnet

3. Public Subnet vs Private Subnet

📊 Comparison:

Public Subnet:
  ✅ Có route 0.0.0.0/0 → IGW
  ✅ Auto-assign public IPv4 enabled
  ✅ Resources có thể truy cập Internet 2-way

Private Subnet:
  ❌ Không có route ra IGW (hoặc có qua NAT)
  ❌ Auto-assign public IPv4 disabled
  ❌ Resources chỉ có private IP, không truy cập Internet trực tiếp

PHẦN 3: IPv4 Public Address - Cách thức hoạt động thực tế

1. Điều quan trọng: Public IP không "chạm" vào EC2!

❌ Sai lầm thường gặp:
  "EC2 instance được gán trực tiếp public IP"

✅ Thực tế:
  - EC2 chỉ biết private IP (VD: 10.16.16.20)
  - Public IP (VD: 43.250.192.20) được IGW quản lý
  - IGW giữ mapping: private IP ↔ public IP

2. Flow dữ liệu qua IGW

image image

🔄 Outbound (EC2 → Internet):
1. EC2 tạo packet: src=10.16.16.20, dst=Linux_Update_Server
2. Packet đến IGW qua default route
3. IGW thay đổi: src=43.250.192.20 (public IP)
4. Forward packet ra Internet

🔄 Inbound (Internet → EC2):
1. Server reply packet: src=Server, dst=43.250.192.20
2. IGW nhận packet, check mapping
3. IGW thay đổi: dst=10.16.16.20 (private IP)  
4. Forward packet vào VPC đến EC2

3. IPv6 khác hoàn toàn IPv4

  • IPv6 addresses trên AWS đều publicly routable (không có private/public concept).
  • EC2 được config trực tiếp với IPv6 address (khác IPv4).
  • IGW chỉ pass-through traffic, không làm NAT/translation.

PHẦN 4: Bastion Host (Jump Box) - Trạm trung gian

1. Bastion Host là gì?

  • EC2 instance ở public subnet, làm "cửa ngõ" vào VPC private.
  • Chức năng: SSH vào bastion → SSH tiếp vào các instance private.
  • Use case: Quản lý VPC highly secure, không cho kết nối trực tiếp từ Internet.

2. Kiến trúc Bastion Host

🏗️ Architecture:
Internet → Bastion (Public Subnet) → Private Instances

Security:
  - Chỉ mở port 22 (SSH) từ IP cụ thể
  - Integrate với identity server (LDAP/AD)
  - Key-based authentication
  - Audit mọi connection

3. Bastion vs Modern Alternatives

📊 Comparison:

Bastion Host (Traditional):
  ✅ Đơn giản, dễ hiểu
  ❌ Single point of failure
  ❌ Phải maintain OS, security patches
  ❌ Complex key management

Modern Alternatives:
  ✅ AWS Systems Manager Session Manager
  ✅ AWS EC2 Instance Connect
  ✅ AWS SSM (không cần bastion)

PHẦN 5: Checklist & kiến thức thi cert/đi làm

Route Table Rules (Cực hay ra đề thi)

  • [x] Mỗi subnet bắt buộc có 1 route table
  • [x] Route table có thể gán nhiều subnet
  • [x] Local routes luôn ưu tiên, không sửa được
  • [x] Prefix cao hơn = ưu tiên cao hơn (/32 > /24 > /16 > /0)

Internet Gateway Rules

  • [x] 1 VPC tối đa 1 IGW, 1 IGW chỉ attach 1 VPC
  • [x] IGW là regionally resilient (không cần 1 IGW/AZ)
  • [x] Public subnet = có route 0.0.0.0/0 → IGW + auto-assign public IP

IPv4 Public Addressing

  • [x] Public IP không config trực tiếp trên EC2 OS
  • [x] IGW làm NAT: private IP ↔ public IP
  • [x] EC2 chỉ biết private IP, không biết public IP

IPv6 Addressing

  • [x] IPv6 addresses đều publicly routable
  • [x] EC2 được config trực tiếp với IPv6
  • [x] IGW pass-through, không làm NAT

PHẦN 6: Câu hỏi phỏng vấn/exam thường gặp

  1. "Tại sao EC2 instance trong public subnet không truy cập Internet được?"
  2. Check route table có default route ra IGW không
  3. Check subnet có auto-assign public IP không
  4. Check Security Group/NACL có block không

  5. "Có thể assign public IP trực tiếp vào EC2 OS không?"

  6. Không! IPv4 public chỉ có ở IGW mapping
  7. IPv6 thì có, được assign trực tiếp

  8. "1 VPC có thể có bao nhiêu IGW?"

  9. Tối đa 1 IGW/VPC, relationship 1:1

  10. "Subnet nào được gọi là public subnet?"

  11. Có route 0.0.0.0/0 → IGW + auto-assign public IP enabled

PHẦN 7: Demo chuẩn bị (Bài sau sẽ thực hành)

Sẽ implement: 1. ✅ Tạo & attach IGW vào VPC 2. ✅ Tạo custom route table cho web tier 3. ✅ Add default routes (IPv4 & IPv6) → IGW 4. ✅ Associate route table với web subnets 5. ✅ Enable auto-assign public IP cho web subnets 6. ✅ Launch bastion host & test SSH connection

Kết quả: VPC sẽ có public subnets thật sự, kết nối Internet 2-way, ready cho production!


Đọc lại bài này trước mỗi lần thiết kế network architecture hoặc chuẩn bị đi thi AWS Solutions Architect!

Bình luận