P
Cloud Blog ProAWS Blog · Cộng đồng VN

Kiến thức cần đọc trước buổi học AWS VPC

Phong NguyễnPhong Nguyễn··8 phút đọc·20 lượt xem

Đọc trước 6 chủ đề dưới đây (khoảng 45–60 phút) để theo kịp phần VPC tối nay. Mục tiêu: tự tính được một dải CIDR có bao nhiêu IP và tự chia được một VPC thành các subnet.

#Chủ đềVì sao cần cho bài VPCThời gian
1Địa chỉ IPv4 và nhị phânNền tảng để hiểu CIDR10 phút
2Public IP và Private IPPhân biệt public subnet / private subnet5 phút
3CIDR và subnet maskKhai báo dải IP khi tạo VPC, subnet15 phút
4Chia subnetThiết kế subnet theo AZ, public/private15 phút
5Routing, gateway, NAT, port, stateful/statelessHiểu Route table, IGW, NAT GW, SG, NACL10 phút
6Bài tập tự kiểm traBiết mình đã nắm chưa5 phút

1. Địa chỉ IPv4

Một địa chỉ IPv4 dài 32 bit, viết thành 4 nhóm (octet) 8 bit, mỗi octet có giá trị 0–255. Ví dụ: 10.0.1.25.

10       .0        .1        .25
00001010 .00000000 .00000001 .00011001

Cần nhớ bảng giá trị của 8 bit trong một octet:

Bit12345678
Giá trị1286432168421

Ví dụ: 25 = 16 + 8 + 1 → 00011001.

Một địa chỉ IP gồm hai phần: phần mạng (network) cho biết thiết bị thuộc mạng nào, và phần host định danh từng máy trong mạng đó. CIDR (phần 3) chính là cách nói phần mạng dài bao nhiêu bit.

2. Public IP và Private IP

Public IP là địa chỉ duy nhất trên Internet, đi ra Internet được. Private IP chỉ dùng trong mạng nội bộ, không định tuyến được trên Internet. VPC luôn dùng dải private.

Ba dải private theo chuẩn RFC 1918:

DảiCIDRGhi chú
10.0.0.0 – 10.255.255.25510.0.0.0/8Hay dùng nhất cho VPC
172.16.0.0 – 172.31.255.255172.16.0.0/12Default VPC của AWS dùng 172.31.0.0/16
192.168.0.0 – 192.168.255.255192.168.0.0/16Thường gặp ở mạng gia đình

Muốn máy có private IP đi ra Internet thì cần NAT (dịch địa chỉ private sang public). Đây là lý do có Internet Gateway và NAT Gateway trong bài học.

3. CIDR và subnet mask

CIDR viết dạng IP/n, trong đó n là số bit phần mạng (cố định), còn lại 32 − n bit là phần host (thay đổi được). Số IP trong dải = 2^(32 − n).

Ví dụ 10.0.0.0/16: 16 bit đầu cố định (10.0), 16 bit sau tự do → 2^16 = 65.536 IP, từ 10.0.0.0 đến 10.0.255.255.

CIDRSubnet maskSố IPGặp ở đâu trong AWS
/8255.0.0.016.777.216Dải private 10.0.0.0/8
/16255.255.0.065.536VPC lớn nhất cho phép
/20255.255.240.04.096Subnet mặc định của default VPC
/24255.255.255.0256Subnet phổ biến
/28255.255.255.24016VPC/subnet nhỏ nhất cho phép
/32255.255.255.2551Một IP duy nhất (hay dùng trong Security Group)
0.0.0.0/00.0.0.0Tất cả"Mọi địa chỉ" — route ra Internet

Mẹo nhớ: n càng lớn, dải càng nhỏ. Mỗi khi n tăng 1, số IP giảm một nửa.

4. Chia subnet

Chia subnet là lấy một dải lớn rồi cắt thành các dải nhỏ hơn, không chồng lấn nhau. Cách làm: mượn thêm bit từ phần host. Mượn k bit → được 2^k subnet, mỗi subnet nhỏ đi 2^k lần.

Ví dụ thực tế trong AWS: VPC 10.0.0.0/16, cần 2 Availability Zone, mỗi AZ có 1 public subnet và 1 private subnet → cắt thành các subnet /24 (mượn 8 bit, tối đa 256 subnet):

SubnetCIDRDải IPLoại
public-a10.0.1.0/2410.0.1.0 – 10.0.1.255Public, AZ a
public-b10.0.2.0/2410.0.2.0 – 10.0.2.255Public, AZ b
private-a10.0.11.0/2410.0.11.0 – 10.0.11.255Private, AZ a
private-b10.0.12.0/2410.0.12.0 – 10.0.12.255Private, AZ b

Ví dụ chia đều: 10.0.0.0/24 (256 IP) chia làm 4 → mượn 2 bit → 4 subnet /26, mỗi subnet 64 IP: 10.0.0.0/26, 10.0.0.64/26, 10.0.0.128/26, 10.0.0.192/26.

AWS giữ lại 5 IP trong mỗi subnet (ví dụ với 10.0.1.0/24):

  • 10.0.1.0 — địa chỉ mạng
  • 10.0.1.1 — VPC router
  • 10.0.1.2 — DNS server của AWS
  • 10.0.1.3 — dự phòng cho tương lai
  • 10.0.1.255 — địa chỉ broadcast (AWS không hỗ trợ broadcast nhưng vẫn giữ)

→ Subnet /24 chỉ dùng được 256 − 5 = 251 IP. Đây là câu hỏi rất hay gặp trong đề SAA.

Hai quy tắc khác cần nhớ: các subnet trong cùng VPC không được chồng lấn; và hai VPC muốn peering với nhau thì dải CIDR cũng không được trùng nhau.

5. Routing, gateway, NAT, port và stateful/stateless

Routing (định tuyến): bảng định tuyến (route table) gồm các dòng "đích → đi qua đâu". Gói tin được so với dòng cụ thể nhất (CIDR có n lớn nhất). Ví dụ:

DestinationTargetÝ nghĩa
10.0.0.0/16localĐi lại trong nội bộ VPC
0.0.0.0/0Internet GatewayMọi địa chỉ còn lại → ra Internet

Gateway: "cửa ngõ" nối mạng này với mạng khác. Trong AWS: Internet Gateway nối VPC với Internet; NAT Gateway cho máy trong private subnet đi ra Internet nhưng Internet không chủ động vào được.

Port và protocol: IP chỉ ra máy nào, port chỉ ra dịch vụ nào trên máy đó. Giao thức chính: TCP (tin cậy), UDP (nhanh), ICMP (ping). Các port hay dùng:

PortDịch vụ
22SSH
80 / 443HTTP / HTTPS
3389RDP (Windows)
3306 / 5432MySQL / PostgreSQL
1024–65535Ephemeral port (port tạm phía client)

Stateful và stateless — chìa khóa để phân biệt Security Group và NACL:

  • Stateful (Security Group): cho phép chiều đi thì chiều trả lời tự động được cho phép.
  • Stateless (NACL): mỗi chiều xét riêng; phải mở cả inbound lẫn outbound, kể cả dải ephemeral port 1024–65535 cho lưu lượng trả về.

DNS: dịch tên miền (ví dụ s3.amazonaws.com) sang IP. Cần hiểu để học VPC Endpoint.

6. Bài tập tự kiểm tra

Tự làm trước, sau đó xem đáp án bên dưới.

  1. Dải 10.0.0.0/20 có bao nhiêu IP? Nếu là một subnet trong AWS thì dùng được bao nhiêu IP?
  2. Chia 192.168.1.0/24 thành 4 subnet bằng nhau. Viết CIDR của từng subnet.
  3. IP 10.0.5.20 có nằm trong dải 10.0.0.0/22 không?
  4. VPC A dùng 10.0.0.0/16, VPC B dùng 10.0.128.0/17. Hai VPC này peering được không?
  5. Subnet nhỏ nhất AWS cho phép là bao nhiêu và dùng được mấy IP?
  6. Route table có hai dòng: 10.0.0.0/16 → local và 0.0.0.0/0 → IGW. Gói tin tới 10.0.3.5 đi theo dòng nào? Gói tin tới 8.8.8.8 thì sao?
Đáp án
  1. 2^(32−20) = 4.096 IP; trong AWS dùng được 4.096 − 5 = 4.091 IP.
  2. Mượn 2 bit → /26: 192.168.1.0/26, 192.168.1.64/26, 192.168.1.128/26, 192.168.1.192/26.
  3. Không. /22 gồm 1.024 IP, từ 10.0.0.0 đến 10.0.3.255.
  4. Không. Dải của B nằm trọn trong dải của A (chồng lấn CIDR).
  5. /28: 16 IP, dùng được 16 − 5 = 11 IP.
  6. 10.0.3.5 → dòng local (khớp cụ thể hơn). 8.8.8.8 → dòng 0.0.0.0/0, đi ra Internet Gateway.

Công cụ hỗ trợ khi luyện tập: tìm "subnet calculator" hoặc "CIDR calculator" trên mạng để kiểm tra kết quả.

Quay lại trang chủ

Bình luận