AWS Transit Gateway (TGW)
AWS Transit Gateway (TGW) là dịch vụ kết nối mạng trung tâm (hub) giúp liên kết nhiều VPC, Account AWS, và kết nối on-premises thông qua VPN hoặc Direct Connect.
TGW hoạt động như một Router quy mô lớn ở mức hạ tầng AWS, cho phép đơn giản hóa kiến trúc mạng thay vì phải tạo nhiều kết nối peering phức tạp.
Tại sao cần dùng Transit Gateway
Trong các hệ thống lớn, hạ tầng thường không chỉ gói gọn trong một VPC hay một Region. Nhiều tổ chức sở hữu hàng chục, thậm chí hàng trăm VPC trải rộng ở nhiều Region, nhiều tài khoản AWS khác nhau, và cả các trung tâm dữ liệu on-premises độc lập. Việc kết nối và trao đổi dữ liệu giữa các môi trường này là nhu cầu tất yếu.
Trước đây, chúng ta đã biết tới một số giải pháp kết nối:
1. VPC Peering:
- Ưu điểm: Thiết lập đơn giản, chi phí thấp, băng thông cao giữa hai VPC.
- Nhược điểm: Chỉ kết nối point-to-point giữa hai VPC; không hỗ trợ truyền tải “transitive” (VPC A ↔ VPC B ↔ VPC C không thể tự động thông nhau). Khi số lượng VPC tăng, số kết nối cần quản lý tăng theo cấp số nhân, gây phức tạp.
2. VPN Site-to-Site:
- Ưu điểm: Kết nối bảo mật từ AWS tới on-premises qua Internet, triển khai nhanh.
- Nhược điểm: Cấu hình routing phức tạp nếu cần kết nối nhiều điểm.
3. Direct Connect:
- Ưu điểm: Đường truyền chuyên dụng, băng thông cao, độ trễ thấp từ on-premises tới AWS.
- Nhược điểm: Chỉ là kết nối vật lý tới một điểm AWS, muốn kết nối tới nhiều VPC hoặc Region cần thêm cấu hình phức tạp và chi phí bổ sung.
😱 Khi số lượng kết nối nhiều, việc quản lý thủ công trở nên cồng kềnh, thiếu khả năng mở rộng và khó đảm bảo tính nhất quán về routing. 😱
🦸♂️💪 AWS Transit Gateway ra đời để giải quyết vấn đề này. Đây là dịch vụ đóng vai trò như một “trung tâm” (hub) giúp kết nối hàng trăm VPC, tài khoản AWS và mạng on-premises lại với nhau thông qua một điểm điều khiển duy nhất, hỗ trợ routing xuyên suốt, giảm độ phức tạp cấu hình và tăng khả năng mở rộng hệ thống.
Chi tiết Transit Gateway
Đặc điểm chính
- Kết nối tập trung: Tất cả VPC và kết nối on-premises được liên kết qua TGW.
- Hỗ trợ nhiều account AWS thông qua AWS Resource Access Manager (RAM).
- Hỗ trợ Cross-Region: Các TGW có thể Peering với nhau
- Hỗ trợ multicast: Cho các ứng dụng cần truyền dữ liệu đồng thời đến nhiều điểm.
- Route propagation: Tự động cập nhật bảng định tuyến giữa các kết nối (có thể bật/tắt).
Multicast là một phương thức truyền dữ liệu trong mạng IP, cho phép gửi một gói tin từ một nguồn đến một nhóm máy nhận cụ thể (multicast group) mà không cần gửi bản sao riêng lẻ cho từng máy/thiết bị. Phân biệt:
- Unicast: gửi 1 - 1 (một gói tin cho từng người nhận).
- Broadcast: gửi 1 - mọi người trong mạng.
- Multicast: gửi 1 - nhiều người chọn tham gia (chỉ những thiết bị đã đăng ký nhóm mới nhận).
Thành phần và kiến trúc
Attachment trong TGW
Attachment là các kết nối được “đính kèm” vào Transit Gateway. Mỗi Attachment thể hiện một kết nối giữa TWG với các tài nguyên khác bao gồm:
- VPC Attachment: Kết nối với Amazon VPC.
- VPN Attachment: Kết nối các mạng tại chỗ thông qua AWS Site-to-Site VPN.
- Direct Connect Gateway Attachment: Kết nối các mạng on-premises thông qua AWS Direct Connect.
Route Table trong TGW
Route Table của Transit Gateway chịu trách nhiệm định tuyến lưu lượng truy cập giữa các Attachment.
- Bạn vẫn cần update Route Table bên trong các Route Table để các Resource có thể giao tiếp với nhau.
- Ví dụ: VPC A (10.0.1.0/16) muốn giao tiếp với VPC B (10.0.2.0/16) qua TGW
tgw-demothì trong Route Table của VPC A sẽ cần thêm 1 record:10.0.2.0/16 -> tgw-demo
Association và Propagation
- Association: Là việc liên kết giữa Attachment với Route Table cụ thể. Khi có gói tin đến từ 1 Attachment, TGW sẽ dựa vào RT để biết được gói tin đó sẽ được tới đâu.
- Propagation (Truyền bá): Là cơ chế tự động phân phối route từ một attachment (ví dụ: VPC, VPN, Direct Connect) sang Route Table của TGW, để các attachment khác có thể biết đường gửi traffic đến mạng đó.
- Nếu bạn Peering TGW thì Propagation sẽ không được tự động mà cần tạo thủ công
ECMP trong Transit Gateway
ECMP là gì?
ECMP = Equal-cost Multi-path routing
Đây là việc tận dụng nhiều tunnel VPN đồng thời để chia tải và tăng thông lượng giữa on-premises và AWS qua Transit Gateway.
| Tiêu chí | VPN → Virtual Private Gateway | VPN → TGW (ECMP) |
|---|---|---|
| Số tunnel mặc định | 2 tunnel (1 active, 1 standby) | 2 tunnel mỗi VPN connection (có thể tạo nhiều VPN connections) |
| Cơ chế hoạt động tunnel | Chỉ 1 tunnel hoạt động; tunnel còn lại chỉ dùng khi failover | Nhiều tunnel hoạt động đồng thời khi bật ECMP |
| Hỗ trợ ECMP | ❌ Không hỗ trợ | ✅ Có hỗ trợ |
| Tăng băng thông bằng nhiều VPN | ❌ Không thể (chỉ 1 tunnel nhận traffic) | ✅ Có thể (nhiều VPN connection × 2 tunnel) |
| Thông lượng tối đa | ~1.25 Gbps (1 tunnel) | ~1.25 Gbps × số tunnel active (VD: 2 tunnel = ~2.5 Gbps) |
| Chi phí | Rẻ hơn vì chỉ có 1 VPN connection | Cao hơn vì nhiều VPN connections và TGW hourly cost |