Địa chỉ và định tuyến: CIDR, subnet và route table
Mỗi EC2 instance trong VPC cần một địa chỉ IP; VPC chia dải địa chỉ của mình thành các subnet, và route table của mỗi subnet quy định traffic được chuyển tới đâu.
Mọi địa chỉ trong VPC của MFTECH được khai báo bằng CIDR notation: 10.0.0.0/16 nghĩa là 16 bit đầu cố định, 16 bit sau thay đổi, tức 65.536 địa chỉ. Cùng cách viết này xuất hiện trong rule của security group, network ACL và trong điều kiện aws:SourceIp của bucket policy. Chọn một khối mẫu hoặc kéo thanh prefix, sau đó nhập IP nguồn để kiểm tra IP đó có thuộc khối hay không.
- Khối (dạng chuẩn)
10.0.1.0/24- Phạm vi
10.0.1.0–10.0.1.255- Làm VPC / subnet
- Hợp lệ (cho phép từ /16 tới /28). Subnet này có 251 địa chỉ gán được cho tài nguyên.
10.0.1.0địa chỉ mạng10.0.1.1VPC router10.0.1.2DNS (Route 53 Resolver)10.0.1.3dự phòng cho tương lai10.0.1.255broadcast (VPC không hỗ trợ broadcast)
Thuộc khối 10.0.1.25 so với 10.0.1.0/24
"Condition": {
"IpAddress": { "aws:SourceIp": "192.0.2.0/24" },
"NotIpAddress": { "aws:SourceIp": "192.0.2.188/32" }
}Không được phép 10.0.1.25 không thuộc 192.0.2.0/24 nên điều kiện IpAddress không khớp.
Khối CIDR của VPC và subnet nằm trong khoảng từ /16 tới /28; AWS khuyến nghị dùng dải private theo RFC 1918 (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16). Trong mỗi subnet, AWS giữ lại 5 địa chỉ: 4 địa chỉ đầu và địa chỉ cuối. Trong bucket policy, IpAddress và NotIpAddress trong cùng một Condition được kết hợp bằng AND: 192.0.2.0/24 trừ 192.0.2.188/32 nghĩa là toàn bộ 256 địa chỉ của dải, trừ đúng một địa chỉ.
Sau khi chia subnet, mỗi subnet cần một route table quyết định traffic đi đâu. Gắn subnet với các route table khác nhau và thử kết nối internet:
10.0.0.0/16 | local |
10.0.0.0/16 | local |
0.0.0.0/0 | igw-0a1b |
10.0.0.0/16 | local |
0.0.0.0/0 | nat-0c2d |
Chọn một subnet, gắn nó với route table khác hoặc gỡ association, sau đó thử kết nối internet. subnet-web và subnet-batch chưa có association tường minh.
- VPC và subnet: khối /16 (65.536 địa chỉ) tới /28 (16 địa chỉ); mỗi subnet mất 5 địa chỉ do AWS giữ lại. /32 là đúng một địa chỉ.
- Mỗi subnet luôn gắn với đúng một route table: tường minh với một custom route table, hoặc ngầm định với main route table khi chưa gắn.
- Một route table có thể dùng cho nhiều subnet.
- Main route table không xoá được; giữ main route table chỉ có route
localvà gắn tường minh từng subnet là cách kiểm soát định tuyến an toàn.
Addressing and routing: CIDR, subnets and route tables
Every EC2 instance in a VPC needs an IP address; a VPC divides its address range into subnets, and each subnet’s route table decides where traffic goes.
Every address in MFTECH’s VPC is written in CIDR notation: 10.0.0.0/16 means the first 16 bits are fixed and the last 16 bits vary, which gives 65,536 addresses. The same notation appears in security group and network ACL rules and in the aws:SourceIp condition of a bucket policy. Pick a sample block or drag the prefix slider, then enter a source IP to check whether it falls inside the block.
- Khối (dạng chuẩn)
10.0.1.0/24- Phạm vi
10.0.1.0–10.0.1.255- Làm VPC / subnet
- Hợp lệ (cho phép từ /16 tới /28). Subnet này có 251 địa chỉ gán được cho tài nguyên.
10.0.1.0địa chỉ mạng10.0.1.1VPC router10.0.1.2DNS (Route 53 Resolver)10.0.1.3dự phòng cho tương lai10.0.1.255broadcast (VPC không hỗ trợ broadcast)
Thuộc khối 10.0.1.25 so với 10.0.1.0/24
"Condition": {
"IpAddress": { "aws:SourceIp": "192.0.2.0/24" },
"NotIpAddress": { "aws:SourceIp": "192.0.2.188/32" }
}Không được phép 10.0.1.25 không thuộc 192.0.2.0/24 nên điều kiện IpAddress không khớp.
VPC and subnet CIDR blocks range from /16 to /28; AWS recommends a private range from RFC 1918 (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16). In every subnet AWS reserves 5 addresses: the first four and the last one. In a bucket policy, IpAddress and NotIpAddress in the same Condition are combined with a logical AND: 192.0.2.0/24 except 192.0.2.188/32 means all 256 addresses of the range except exactly one.
Once the subnets exist, each subnet needs a route table that decides where its traffic goes. Associate the subnets with different route tables and test internet access:
10.0.0.0/16 | local |
10.0.0.0/16 | local |
0.0.0.0/0 | igw-0a1b |
10.0.0.0/16 | local |
0.0.0.0/0 | nat-0c2d |
Chọn một subnet, gắn nó với route table khác hoặc gỡ association, sau đó thử kết nối internet. subnet-web và subnet-batch chưa có association tường minh.
- VPCs and subnets: blocks from /16 (65,536 addresses) to /28 (16 addresses); each subnet loses 5 addresses that AWS reserves. /32 is exactly one address.
- Every subnet is always associated with exactly one route table: explicitly with a custom route table, or implicitly with the main route table when no explicit association exists.
- One route table can serve many subnets.
- The main route table cannot be deleted; keeping it with only the
localroute and associating every subnet explicitly is a safe way to control routing.