</>Học Dev
Bài học

Tuần 4 - Ngày 2: Subnets và Routing

Tuần 4 – Ngày 2

Tuần 4 - Ngày 2: Subnets và Routing

Mục tiêu học tập

  • Hiểu cách thiết kế subnet layout hợp lý
  • Nắm Route Table advanced (multiple targets, propagation)
  • Phân biệt VPC Peering, Transit Gateway
  • Hiểu CIDR planning best practices

1. Subnet Design Best Practices

Nguyên tắc

  1. Tách subnet theo function: public web, private app, private DB
  2. Mỗi tier có subnet riêng trong mỗi AZ (HA)
  3. Min 2 AZs cho production
  4. Size subnet hợp lý: không quá lớn (lãng phí), không quá nhỏ (sớm hết)
  5. Reserve space cho mở rộng

Sizing recommendation

Use caseSuggested size
ELB/ALB subnet/27 hoặc /28 (cần ít IP)
Web tier/24 (256 IPs)
App tier/23 (512 IPs)
DB tier/27 (32 IPs đủ)
EKS pod subnet/20 hoặc lớn hơn

Example VPC sizing

VPC:10.0.0.0/16(65,536IPs)AZ-a:PublicALB:10.0.1.0/27(32IPs)PublicNAT:10.0.1.32/28(16IPs)Web:10.0.10.0/24(256IPs)App:10.0.20.0/23(512IPs)DB:10.0.30.0/27(32IPs)AZ-b:(tươngtvi/16offsetkhác)...

2. Route Table Advanced

1 Route Table → nhiều subnets

  • 1 route table có thể được associate với nhiều subnets
  • Nhưng 1 subnet chỉ associate với 1 route table tại 1 thời điểm

Pattern: Public RT + Private RT

PublicRouteTable:10.0.0.0/16local0.0.0.0/0IGWAssociatedwith:PublicSubnetAZ-a,PublicSubnetAZ-bPrivateRouteTableAZ-a:10.0.0.0/16local0.0.0.0/0NATGW(AZ-a)Associatedwith:PrivateSubnetAZ-aPrivateRouteTableAZ-b:10.0.0.0/16local0.0.0.0/0NATGW(AZ-b)Associatedwith:PrivateSubnetAZ-b

Route Propagation (cho VPN/Direct Connect)

  • VGW (Virtual Private Gateway) có thể propagate routes từ on-prem qua BGP
  • Tự động add routes vào route table → instance access on-prem subnets

3. VPC Peering

Định nghĩa

VPC Peering = direct network connection giữa 2 VPCs.

Đặc điểm

  • Region same: VPC Peering thông thường
  • Cross-region: cũng support (Inter-Region VPC Peering)
  • Cross-account: 2 accounts khác nhau cũng được
  • CIDR không được overlap
  • NOT TRANSITIVE: A peer B, B peer C → A KHÔNG access C tự động
  • Update route table mỗi VPC để route traffic qua peering

Limitations

  • Không transitive routing
  • Không hỗ trợ overlapping CIDR
  • Mesh complexity (n^2 connections cho n VPCs)
  • DNS resolution cross-VPC: cần enable trong peering setting

Use case

  • 2-3 VPCs cần connect (đơn giản)
  • Cross-account (vendor sharing)

Khi nào dùng Transit Gateway thay?

  • >3 VPCs cần interconnect
  • Cần transitive routing
  • Hub-and-spoke pattern
  • Quản lý dễ hơn cho enterprise

4. Transit Gateway (TGW) — Brief cho SAA

Định nghĩa

TGW = hub kết nối nhiều VPCs, VPN, Direct Connect trong single managed service.

Đặc điểm

  • Hub-and-spoke: tất cả VPC connect TGW, không cần peering giữa các VPC
  • Transitive: A-TGW-B-TGW-C, A có thể reach C
  • Cross-region support (TGW Peering)
  • Hỗ trợ 5,000 VPCs/TGW
  • Bandwidth scale automatically

Architecture

VPC-1VPC-2TransitGatewayOn-prem(VPN/DX)VPC-3

Cost

  • $/hour per TGW attachment (~$0.05/hour per VPC/VPN)
  • $/GB data processed

SAA-C03 chủ yếu hỏi "khi nào dùng TGW vs Peering". Chi tiết TGW thuộc SAP-C02.

5. VPC Endpoints (Brief — chi tiết Day 4)

Định nghĩa

VPC Endpoint = private connection từ VPC đến AWS services mà không qua internet.

2 loại

  • Gateway Endpoint: S3, DynamoDB (free)
  • Interface Endpoint: Hầu hết services khác (ENI trong subnet, $/hour + $/GB)

Lợi ích

  • Security: traffic không ra internet
  • Cost: giảm NAT Gateway data processing fee
  • Performance: thấp latency hơn

6. CIDR Planning Best Practices

Avoid overlap

  • Plan trước: VPCs, VPNs, on-prem CIDRs
  • Avoid RFC 1918 ranges đã dùng on-prem
  • Document trong IPAM tool

AWS IPAM (IP Address Manager)

  • Service quản lý centralized IP space cho organization
  • Auto-allocate CIDR cho VPC mới (no conflict)
  • Track usage, alert near-full
  • Cross-account, cross-region

Reserved ranges

  • AWS dùng 169.254.x.x (link-local) cho metadata
  • Avoid: 169.254.0.0/16 trong CIDR custom

Future-proof

  • Pick /16 cho VPC (đủ cho hầu hết workload)
  • Reserve /8 cho organization (multi-VPC, multi-region)

7. Subnet Sharing với AWS RAM

Định nghĩa

AWS RAM (Resource Access Manager) = share resources cross-account.

VPC Sharing

  • Tạo subnet trong owner account
  • Share với participant accounts qua RAM
  • Participant launch EC2/RDS/Lambda trong shared subnet
  • Single VPC dùng bởi nhiều accounts

Lợi ích

  • Centralized networking management (1 team)
  • Application team focus business logic
  • Đơn giản hóa cross-account access

Architecture

AccountA(Networkingteam,ownsVPC):VPC:10.0.0.0/16Subnet-1,Subnet-2(sharedviaRAM)ManagesNATGW,RouteTable,IGWAccountB(Appteam,participant):LaunchEC2trongSubnet-1AppteamkhôngcnbiếtvVPCAccountC(Appteam,participant):LaunchRDStrongSubnet-2

8. VPC Peering Configuration

Steps

  1. Requester initiates peering request
  2. Accepter accepts request
  3. Update route table trong cả 2 VPCs
  4. Update Security Group cho phép traffic từ peer VPC CIDR
  5. (Optional) Enable DNS resolution across peering

Example

VPC-A(10.0.0.0/16,us-east-1)peerswithVPC-B(10.1.0.0/16,us-east-1)VPC-ARouteTable:10.0.0.0/16local10.1.0.0/16pcx-1234567VPC-BRouteTable:10.1.0.0/16local10.0.0.0/16pcx-1234567

Security Group reference cross-VPC peering

  • Trong same Region: SG có thể reference SG ID của peer VPC
  • Trong cross-region: chỉ reference qua CIDR (không SG ID)

9. AWS Global Accelerator (Brief)

Định nghĩa

Global Accelerator = anycast IP routing qua AWS backbone, route user đến nearest healthy endpoint.

Đặc điểm

  • 2 static IPs (anycast) cho app global
  • Route qua AWS backbone (faster than public internet)
  • Health check across regions
  • Failover regions automatic

Use case

  • Multi-region active-active app
  • Cần static IP cho whitelisting
  • Reduce latency cho global users
  • Gaming, IoT

So với CloudFront

CloudFrontGlobal Accelerator
Use caseStatic + dynamic content cachingNon-HTTP (TCP/UDP), low-latency routing
IPDNS name (changing)Static anycast IPs
CachingYesNo
ProtocolHTTP/HTTPSTCP, UDP, HTTP

10. Common Network Patterns

Pattern 1: Single VPC Multi-AZ

  • Đơn giản, 1 region
  • 2-3 AZs
  • 1 NAT GW per AZ

Pattern 2: Multi-VPC với Peering

  • 2-3 VPCs (dev, staging, prod)
  • Peering giữa các VPC nhất định
  • Routing đơn giản

Pattern 3: Multi-VPC với Transit Gateway

  • 10+ VPCs
  • Centralized hub TGW
  • Optional: centralized egress (NAT GW chung)

Pattern 4: VPC Sharing (RAM)

  • 1 VPC owner, nhiều account participant
  • Centralized networking team

Pattern 5: Multi-Region với TGW Peering

  • TGW ở mỗi region
  • TGW Peering connect regions
  • DR + global app

11. Network Connectivity Comparison

OptionUse caseCostBandwidth
VPC Peering2-3 VPCsFree (cùng region)No limit
Transit GatewayMulti-VPC hub$$$50 Gbps/attachment
VPNOn-prem hybrid (encrypted)$~1.25 Gbps/tunnel
Direct ConnectOn-prem (dedicated)$$$1, 10, 100 Gbps
VPC EndpointVPC → AWS service$-$$High
PrivateLinkVPC → 3rd party service$-$$High

Câu hỏi ôn tập

  1. 1 subnet có thể associate với mấy route table?

    Xem đáp án

    1 route table tại một thời điểm. Nếu subnet không được explicitly associate với route table nào, nó dùng main route table của VPC (mặc định). Nhưng 1 route table có thể associate với nhiều subnets. Thay đổi route table association của subnet có hiệu lực ngay lập tức — không ảnh hưởng đến traffic đang active.

  2. VPC Peering có transitive routing không?

    Xem đáp án

    Không. VPC Peering không hỗ trợ transitive routing: nếu A peer với B, B peer với C, thì A không thể reach C qua B. Phải tạo peering trực tiếp A-C. Đây là giới hạn thiết kế. Nếu cần hub-and-spoke hoặc transitive routing giữa nhiều VPCs, dùng Transit Gateway — hỗ trợ transitive routing qua attachment.

  3. Khi nào dùng Transit Gateway thay vì VPC Peering?

    Xem đáp án

    Transit Gateway khi: (1) Có nhiều VPCs cần kết nối (>5) — peering = N×(N-1)/2 connections, TGW = N connections, (2) Cần transitive routing, (3) Kết nối cross-account và cross-Region (TGW peering giữa regions), (4) Cần connect VPN và Direct Connect với nhiều VPCs qua 1 hub, (5) Cần centralized routing policy. VPC Peering đơn giản và rẻ hơn cho 2-5 VPCs.

  4. AWS IPAM giải quyết vấn đề gì?

    Xem đáp án

    AWS IP Address Manager (IPAM) giải quyết vấn đề quản lý IP address space trong môi trường multi-account: tránh overlapping CIDRs khi tạo VPCs, centralized visibility về IP allocation across accounts/Regions, tự động allocate CIDR blocks từ pool được định sẵn, và audit history của IP assignments. Không cần spreadsheet thủ công để track VPC CIDRs.

  5. VPC Sharing qua RAM cho phép làm gì?

    Xem đáp án

    VPC Sharing (qua AWS Resource Access Manager) cho phép chia sẻ subnets từ một VPC (owner account) với các accounts khác trong cùng AWS Organization. Participant accounts có thể deploy resources (EC2, RDS...) vào shared subnets mà không cần tạo VPC riêng. Giảm số VPCs cần quản lý, tránh overlapping CIDRs, tập trung networking vào một account.

Bài tập thực hành

  • Tạo 2 VPCs (10.0/16 và 10.1/16), peer chúng, test connectivity
  • Setup VPC Sharing: share 1 subnet từ Account A sang Account B (cần 2 accounts)
  • Tạo private subnet với 0/0 → NAT GW, test EC2 internet outbound
  • Setup AWS IPAM (free tier), allocate CIDR cho VPC mới
  • Compare cost: VPC Peering vs Transit Gateway cho 5 VPCs

Tài liệu tham khảo chính thức


Tiếp theo: Security Groups và NACLs