02.ip plan2
🎯 VPC Sizing & IP Plan: Tư duy của Kiến trúc sư Cloud¶
PHẦN 1: Lý thuyết nền tảng (Phải nhớ)¶
1. Tại sao phải lên kế hoạch cho VPC & Subnet?¶
- VPC là “mảnh đất” của bạn trên AWS (mỗi VPC là 1 khu đất riêng, chọn kích thước và chia phòng sao cho hợp lý).
- Nếu chọn sai từ đầu (IP chồng lấn, subnet quá nhỏ/không đủ dùng), sau này mở rộng, kết nối, hoặc migrate sẽ cực kỳ đau đầu và tốn tiền!
2. Các khái niệm cơ bản¶
- CIDR Block: Dải IP của VPC/subnet. VD:
10.16.0.0/16
(65,536 IPs),10.16.0.0/20
(4,096 IPs). - Subnet: Mỗi subnet là một “phòng” trong “ngôi nhà” VPC, gán vào 1 AZ duy nhất.
3. Các mẫu VPC sizing thường gặp (theo AWS)¶
Loại VPC | CIDR VPC | Số Subnet | CIDR mỗi Subnet | Số IP/subnet | Tổng IP usable |
---|---|---|---|---|---|
Micro | /24 | 8 | /27 | 27 | 216 |
Small | /22 | 8 | /25 | 123 | 984 |
Medium | /20 | 8 | /27 | 27 | 216 |
Large | /16 | 16 | /20 | 4,091 | 65,456 |
Ghi nhớ: Mỗi lần tăng số ở sau dấu “/” lên 1 thì số mạng con gấp đôi, số IP mỗi mạng con giảm một nửa.
4. Nguyên tắc chuẩn khi chia subnet¶
- Mỗi AZ → ít nhất 1 subnet cho mỗi tier (web/app/db/“buffer”)
- Luôn dành “spare/buffer” subnet cho mở rộng
- Các subnet phải nằm trọn trong VPC, không trùng nhau
- Chọn dư IP hơn nhu cầu hiện tại (dự phòng mở rộng)
PHẦN 2: Thực tế công việc (Cách chuyên gia làm ngoài đời)¶
1. Quy trình chuẩn để thiết kế VPC IP plan¶
Bước 1: Xác định số lượng AZ sẽ dùng - Hầu hết region có 3 AZ, chọn 3 AZ + 1 buffer (tổng 4 AZ) để mở rộng dễ. - Tên AZ: a, b, c, (d hoặc spare)
Bước 2: Xác định số tiers (lớp) của hệ thống - Thường có 3 tier: Web, App, Database + 1 buffer (tổng 4 tier)
Bước 3: Số subnet cần thiết = Số AZ x Số tier = 4 x 4 = 16 subnet
Bước 4: Chọn dải IP cho VPC (thường /16)
- VD: 10.16.0.0/16
cho mỗi VPC (65,536 IP usable)
- Chia ra 16 subnet, mỗi subnet là /20
(mỗi subnet ~4,091 IP usable)
Bước 5: Lập bảng phân bổ IP - Tạo file excel/pdf lưu lại từng dải IP cho từng region, từng account để không trùng lặp. - Ví dụ:
Region | Account | VPC CIDR | Subnet AZa | Subnet AZb | ... |
---|---|---|---|---|---|
us-east-1 | general | 10.16.0.0/16 | 10.16.0.0/20 | 10.16.16.0/20 | ... |
us-east-1 | prod | 10.17.0.0/16 | 10.17.0.0/20 | 10.17.16.0/20 | ... |
eu-west-1 | dev | 10.64.0.0/16 | 10.64.0.0/20 | 10.64.16.0/20 | ... |
- Tip: Tránh dùng các dải 10.0.0.0/8, 10.1.0.0/16… (Google/GCP thường dùng), tránh luôn 192.168.x.x trùng mạng nội bộ công ty.
2. Tư duy thiết kế subnet thực tế¶
- Lúc phát triển có thể chỉ dùng 1-2 AZ, nhưng luôn nên chia 4 AZ/subnet ngay từ đầu (tránh thiếu sau này).
- Web/App tier để ở public/private subnet tùy nhu cầu, DB tier nên luôn ở private subnet.
- Không để mọi thứ ở public subnet như Default VPC!
3. Bài học từ thực tế¶
- Nếu không lên plan ngay từ đầu, khi cần kết nối hybrid (VPN, Direct Connect, VPC Peering) sẽ bị trùng IP, phải migrate cực kỳ tốn kém.
- Một số công ty lớn phải thuê ngoài dịch vụ audit lại toàn bộ VPC/subnet/IP, mất hàng tuần chỉ vì không có IP plan.
- Luôn lưu lại bảng IP plan, share cho team để tránh conflict!
PHẦN 3: Tư duy thực chiến & bài tập áp dụng¶
1. Checklist khi design VPC¶
- [ ] Đã chọn đủ AZ (tối thiểu 3, tốt nhất 4)
- [ ] Đã dự phòng số tier/subnet cho tương lai
- [ ] Đã chọn dải IP không trùng với các hệ thống khác
- [ ] Đã chia subnet đủ rộng, dư so với nhu cầu hiện tại
- [ ] Có file lưu lại toàn bộ IP plan
2. Các câu hỏi phỏng vấn/cert hay gặp¶
- “Vì sao nên tránh dùng 10.0.0.0/16 cho VPC?”
- “Nếu thiết kế VPC cho 4 AZ và 4 tier, cần bao nhiêu subnet? Mỗi subnet nên là CIDR gì?”
- “Làm thế nào để tránh trùng IP khi có nhiều VPC/account/region?”
- “Default VPC khác gì Custom VPC về mặt subnetting và IP planning?”
3. Bài tập hands-on¶
- Tự lập plan IP cho 2 region (us-east-1, ap-southeast-1), mỗi region có 2 account (prod/dev). Mỗi account 1 VPC /16, chia thành 16 subnet /20.
- Vẽ sơ đồ/mindmap phân bổ subnet cho mỗi AZ, mỗi tier.
- Thực hành tạo VPC và subnet thủ công trên AWS Console hoặc dùng Terraform.
PHẦN 4: Tips nhớ lâu & tổng kết¶
- Rule of 4: 4 AZ x 4 tier = 16 subnet (rất chuẩn để đi thi và đi làm)
- /16 → chia 16 subnet = /20 mỗi subnet
- File IP plan là “bảo bối” khi đi làm, đi audit, đi thi
- Lúc nào cũng dư subnet & IP, không bao giờ chia sát nút!
- Tránh IP phổ biến, tránh trùng GCP/Azure/văn phòng
📌 Kết luận¶
- Lên IP plan VPC/subnet là kỹ năng “core” của architect/cloud eng, phải làm thật chắc, không được ẩu.
- Đọc lại bài này mỗi lần chuẩn bị setup môi trường mới hoặc đi phỏng vấn, đi thi!
- Có thể dùng “Animals for Life” IP plan hoặc tự tạo file riêng cho công ty/dự án của mình.