AWS Networking — Cheatsheet Ghi Nhớ Nhanh
Tổng hợp tất cả loại kết nối AWS, mẹo nhớ nhanh PING, so sánh Gateway/Interface/Peering/VPN/DX
Bức tranh tổng thể
6 loại kết nối — phân theo "từ đâu → tới đâu"
Mẹo nhớ nhanh — PING
Dùng chữ PING để nhớ 4 nhóm chính:
| Chữ | Nhóm | Gồm |
|---|---|---|
| P — Private access | VPC → AWS Services | Gateway Endpoint, Interface Endpoint |
| I — Inter-VPC | VPC ←→ VPC | VPC Peering, Transit Gateway, PrivateLink |
| N — Network bridge | On-Prem ←→ AWS | Site-to-Site VPN, Direct Connect, Client VPN |
| G — Global delivery | User → App | CloudFront, Route 53, Global Accelerator |
Chi tiết từng loại
① Trong cùng VPC — Tự động
Không cần cấu hình gì. Cùng VPC → gọi qua private IP.
② VPC → AWS Public Services — VPC Endpoints
Xem chi tiết: vpc-endpoints.md
Bài toán: EC2 trong private subnet muốn gọi S3, SQS... mà không đi qua internet.
Cách nhớ: Gateway = Gratis (miễn phí) = chỉ 2G (S3 + DynamoDB)
③ VPC ←→ VPC — Peering / Transit GW / PrivateLink
Xem chi tiết: vpc.md
Cách nhớ:
- Peering = Pair (cặp đôi, 1:1)
- Transit GW = Trạm trung chuyển (hub)
- PrivateLink = "cho mượn 1 phòng, không cho vào nhà"
VPC Peering KHÔNG transitive — đây là bẫy thi cực phổ biến:
④ On-Premises ←→ AWS — VPN / Direct Connect
Xem chi tiết: direct-connect.md
Cách nhớ:
- VPN = Vừa rẻ Vừa nhanh setup, nhưng Vô chừng bandwidth
- Direct Connect = Dắt nhưng Dành riêng, Dùng cho workload nhạy cảm latency
Client VPN — khác Site-to-Site:
VPN CloudHub — hub-and-spoke cho nhiều site:
Xem chi tiết: vpc.md#75-aws-vpn-cloudhub
4 thuật ngữ phải biết trước (giải thích ngắn — chi tiết xem vpc.md):
| Viết tắt | Là gì? | Ví dụ đời thực |
|---|---|---|
| VGW (Virtual Private Gateway) | Cổng VPN phía AWS, gắn vào VPC | Ổ cắm mạng trong nhà AWS |
| CGW (Customer Gateway) | Object AWS khai báo router của bạn (public IP, ASN) | Tờ khai CMND của router nhà bạn |
| BGP (Border Gateway Protocol) | Giao thức router tự trao đổi route động | Bảng tin chung — ai có route mới thì dán lên |
| ASN (Autonomous System Number) | "Số nhà" của mỗi mạng trong BGP, mỗi CGW 1 số | Số CMND, không được trùng |
Cách nhớ: CloudHub = Hub-and-spoke cho VPN, Hoạt động nhờ BGP, Hỗ trợ cả không có VPC.
Phân biệt với Transit Gateway:
⑤ VPC → Internet
Cách nhớ: NAT = No Access from ouTside (chỉ ra, không vào)
⑥ Global Delivery — CloudFront / Route 53 / Global Accelerator
Xem chi tiết: cloudfront.md | route53.md | global-applications-architecture.md
Cách nhớ:
- CloudFront = Cache Content ở Close (gần user)
- Route 53 = Route traffic bằng DNS (port 53)
- Global Accelerator = không cache, chỉ Accelerate đường đi
ENI và Route Table — 2 khái niệm nền tảng
ENI (Elastic Network Interface) — "Card mạng ảo"
ENI = card mạng ảo trong AWS. Muốn có IP trong VPC → cần ENI.
Xem chi tiết: eni.md
Mỗi ENI mang theo: Private IP (bắt buộc), MAC address, Security Groups, Public/Elastic IP (tùy chọn).
Quy tắc: Nằm trong VPC = có ENI = có private IP. Nằm ngoài VPC = không có ENI.
Hay bị nhầm — Lambda:
Route Table — "Bảng chỉ đường"
Route table cho VPC biết: traffic đi đâu thì rẽ hướng nào.
Khác biệt cốt lõi giữa 2 loại endpoint:
| Gateway Endpoint | Interface Endpoint | |
|---|---|---|
| Cơ chế | Thêm route trong route table | Tạo ENI trong subnet |
| Có IP không? | Không — "cổng" trừu tượng | Có — ENI có private IP |
| Cấu hình ở đâu? | Route table | Subnet + Security Group trên ENI |
Ví dụ dễ nhớ:
- Route table = biển chỉ đường: "Đi S3 → rẽ phải vào cao tốc"
- Gateway Endpoint = lối ra cao tốc — không có địa chỉ, chỉ là nơi rẽ vào
- ENI = địa chỉ nhà cụ thể — có số nhà, bạn đến gõ cửa trực tiếp
- Interface Endpoint = văn phòng đại diện (có địa chỉ, có ENI) ngay trong khu phố của bạn
Interface Endpoint tạo ENI ở đâu?
Điểm hay nhầm: SQS, SNS... bản thân không có ENI, vậy Interface Endpoint hoạt động sao?
Câu trả lời: Interface Endpoint tạo ENI trong VPC của bạn, không phải trong SQS.
Cách nhớ: ENI của Interface Endpoint là "đại sứ quán" của SQS đặt trong VPC bạn.
| Bản thân SQS | Interface Endpoint cho SQS | |
|---|---|---|
| Nằm ở đâu? | Ngoài VPC (AWS managed) | Trong VPC của bạn |
| Có ENI? | Không | Có — ENI trong subnet bạn chọn |
| Có private IP? | Không | Có — ví dụ 10.0.1.88 |
| Ai tạo? | AWS quản lý | Bạn tạo, AWS provision ENI |
Tại sao S3/DynamoDB cần cả Gateway lẫn Interface Endpoint?
Gateway Endpoint miễn phí, nhanh hơn — vậy tại sao AWS còn hỗ trợ Interface Endpoint cho S3/DynamoDB?
Vì Gateway Endpoint có 1 hạn chế lớn: chỉ hoạt động trong cùng VPC.
Các trường hợp Gateway Endpoint KHÔNG dùng được
Quy tắc chọn cho S3/DynamoDB
| Ai gọi S3/DynamoDB? | Dùng gì? | Vì sao? |
|---|---|---|
| EC2 trong cùng VPC | Gateway | Miễn phí, nhanh, đủ dùng |
| On-premises qua DX/VPN | Interface | Gateway không thấy traffic từ ngoài VPC |
| VPC khác Region qua Peering | Interface | Gateway chỉ local |
| Qua Transit Gateway | Interface | Traffic qua TGW, không qua route table VPC |
Cách nhớ: Trong cùng VPC → Gateway (miễn phí). Từ bên ngoài vào → Interface (cần IP thật để route tới).
Bảng so sánh tổng hợp
| Từ → Tới | Giải pháp | Chi phí | Keyword nhớ |
|---|---|---|---|
| VPC → S3/DDB | Gateway Endpoint | Miễn phí | Route table, chỉ 2 service |
| VPC → SQS/SNS/... | Interface Endpoint | Có phí | ENI, private IP, PrivateLink |
| VPC ↔ VPC (ít) | VPC Peering | Data transfer | 1:1, không transitive |
| VPC ↔ VPC (nhiều) | Transit Gateway | Hourly + data | Hub trung tâm |
| On-prem ↔ AWS (rẻ) | Site-to-Site VPN | ~$0.05/hr | Qua internet, mã hóa |
| Nhiều site ↔ nhau qua AWS | VPN CloudHub | Theo VPN connection | 1 VGW + nhiều CGW, BGP |
| On-prem ↔ AWS (pro) | Direct Connect | Port + data | Đường riêng, ổn định |
| Private → Internet | NAT Gateway | $0.045/hr + /GB | 1 chiều ra, IPv4 |
| Public ↔ Internet | Internet Gateway | Miễn phí | 2 chiều |
| User → App (cache) | CloudFront | Per request + /GB | Edge, cache |
| User → App (routing) | Global Accelerator | Fixed + /GB | Anycast, no cache |
Câu hỏi thi hay gặp
| Đề bài nói... | Nghĩ tới... |
|---|---|
| "private subnet access S3" | Gateway Endpoint |
| "on-premises access S3 privately" | Interface Endpoint (qua DX/VPN) |
| "connect hundreds of VPCs" | Transit Gateway |
| "dedicated, consistent network" | Direct Connect |
| "encrypted connection over internet" | Site-to-Site VPN |
| "reduce S3 data transfer cost" | Gateway Endpoint (miễn phí) hoặc CloudFront |
| "cannot communicate transitively" | VPC Peering (không transitive) |
| "static IP for global app" | Global Accelerator |
| "cache at edge" | CloudFront |
| "IPv6 outbound only" | Egress-only Internet Gateway |
| "individual user VPN access" | Client VPN |
| "expose service to another VPC without opening network" | PrivateLink |
| "hub-and-spoke between multiple branch/remote sites" | VPN CloudHub |
| "branch offices communicate with each other via AWS" | VPN CloudHub |
| "multiple customer gateways, unique BGP ASN" | VPN CloudHub |
Tài liệu liên quan trong repo
- VPC — VPC, Subnet, CIDR, NAT Gateway, Peering, Transit Gateway
- VPC Endpoints — Gateway Endpoint, Interface Endpoint, PrivateLink
- Direct Connect — Dedicated Connection, Private/Transit VIF, LAG
- Security Groups — Virtual Firewall cho VPC resources
- Route 53 — DNS, Hosted Zones, Routing Policies, Health Checks
- CloudFront — CDN, Edge Locations, Caching, Lambda@Edge
- Global Applications Architecture — Multi-Region, DR, CloudFront vs Global Accelerator
- S3 Security — VPC Endpoints cho S3, Access Control
Nguồn: AWS VPC Documentation | AWS PrivateLink | AWS Direct Connect