Skip to content

Commit 885201b

Browse files
committed
updated CIDR comments
1 parent bb26f00 commit 885201b

1 file changed

Lines changed: 29 additions & 15 deletions

File tree

infra/modules/network.bicep

Lines changed: 29 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,35 @@ param location string
44
param tags object = {}
55

66

7-
// The address prefixes for the subnets - use below CIDR as a reference
8-
// /24 subnet = 256 addresses
9-
// /23 = 512 addresses (enough for 2 /24 subnets)
10-
// /22 = 1024 addresses (enough for 4 /24 subnets)
11-
// /21 = 2048 addresses (enough for 8 /24 subnets)
12-
// /20 = 4096 addresses (enough for 16 /24 subnets) // This was used for the default VNet address prefix
13-
// /19 = 8192 addresses (enough for 32 /24 subnets)
14-
// /18 = 16,384 addresses (enough for 64 /24 subnets)
15-
// /17 = 32,768 addresses (enough for 128 /24 subnets)
16-
// /16 = 65,536 addresses (enough for 256 /24 subnets)
17-
// /15 = 131,072 addresses (enough for 512 /24 subnets)
18-
// /14 = 262,144 addresses (enough for 1024 /24 subnets)
19-
// /13 = 524,288 addresses (enough for 2048 /24 subnets)
20-
// /12 = 1,048,576 addresses (enough for 4096 /24 subnets)
21-
7+
// Subnet Classless Inter-Doman Routing (CIDR) Sizing Reference Table (Best Practices)
8+
// | CIDR | # of Addresses | # of /24s | Notes |
9+
// |-----------|---------------|-----------|---------------------------------------|
10+
// | /24 | 256 | 1 | Smallest recommended for Azure subnets |
11+
// | /23 | 512 | 2 | Good for 1-2 workloads per subnet |
12+
// | /22 | 1024 | 4 | Good for 2-4 workloads per subnet |
13+
// | /21 | 2048 | 8 | Good for larger scale, future growth |
14+
// | /20 | 4096 | 16 | Used for default VNet in this solution |
15+
// | /19 | 8192 | 32 | |
16+
// | /18 | 16384 | 64 | |
17+
// | /17 | 32768 | 128 | |
18+
// | /16 | 65536 | 256 | |
19+
// | /15 | 131072 | 512 | |
20+
// | /14 | 262144 | 1024 | |
21+
// | /13 | 524288 | 2048 | |
22+
// | /12 | 1048576 | 4096 | |
23+
// | /11 | 2097152 | 8192 | |
24+
// | /10 | 4194304 | 16384 | |
25+
// | /9 | 8388608 | 32768 | |
26+
// | /8 | 16777216 | 65536 | |
27+
//
28+
// Best Practice Notes:
29+
// - Use /24 as the minimum subnet size for Azure (smaller subnets are not supported for most services).
30+
// - Plan for future growth: allocate larger address spaces (e.g., /20 or /21 for VNets) to allow for new subnets.
31+
// - Avoid overlapping address spaces with on-premises or other VNets.
32+
// - Use contiguous, non-overlapping ranges for subnets.
33+
// - Document subnet usage and purpose in code comments.
34+
// - For AVM modules, ensure only one delegation per subnet and leave delegations empty if not required.
35+
//
2236

2337
module network 'network/main.bicep' = {
2438
name: take('network-${resourcesName}-create', 64)

0 commit comments

Comments
 (0)