0
0
AwsHow-ToBeginner · 4 min read

How to Create a Subnet in AWS VPC: Step-by-Step Guide

To create a subnet in a VPC, use the CreateSubnet API or AWS CLI command specifying the VpcId and CidrBlock. This defines a range of IP addresses within your VPC where you can launch resources.
📐

Syntax

The basic syntax to create a subnet requires specifying the VPC ID and the CIDR block for the subnet. Optionally, you can specify the availability zone.

  • VpcId: The ID of the VPC where the subnet will be created.
  • CidrBlock: The IP address range for the subnet in CIDR notation (e.g., 10.0.1.0/24).
  • AvailabilityZone (optional): The specific zone within the region to place the subnet.
bash
aws ec2 create-subnet --vpc-id vpc-123abc45 --cidr-block 10.0.1.0/24 --availability-zone us-east-1a
💻

Example

This example creates a subnet in an existing VPC with ID vpc-0abc123def456 using the CIDR block 10.0.2.0/24 in the us-west-2b availability zone.

bash
aws ec2 create-subnet --vpc-id vpc-0abc123def456 --cidr-block 10.0.2.0/24 --availability-zone us-west-2b
Output
{ "Subnet": { "SubnetId": "subnet-0a1b2c3d4e5f6g7h8", "VpcId": "vpc-0abc123def456", "CidrBlock": "10.0.2.0/24", "AvailabilityZone": "us-west-2b", "State": "pending", "DefaultForAz": false, "MapPublicIpOnLaunch": false } }
⚠️

Common Pitfalls

Common mistakes when creating subnets include:

  • Using a CIDR block that overlaps with existing subnets in the VPC, causing conflicts.
  • Not specifying the correct VPC ID, which leads to errors or creating subnets in the wrong VPC.
  • Forgetting to specify an availability zone if you want control over subnet placement.
  • Trying to create a subnet with a CIDR block outside the VPC's CIDR range.

Always verify your VPC's CIDR range and existing subnets before creating a new subnet.

bash
aws ec2 create-subnet --vpc-id vpc-0abc123def456 --cidr-block 192.168.1.0/24
# Error: CIDR block not in VPC range

aws ec2 create-subnet --vpc-id vpc-0abc123def456 --cidr-block 10.0.2.0/24
# Correct usage assuming CIDR is valid
📊

Quick Reference

ParameterDescriptionExample
VpcIdID of the VPC where subnet is createdvpc-0abc123def456
CidrBlockIP range for subnet in CIDR format10.0.1.0/24
AvailabilityZoneOptional zone to place subnetus-east-1a
SubnetIdID returned after creationsubnet-0a1b2c3d4e5f6g7h8
MapPublicIpOnLaunchWhether instances get public IPsfalse

Key Takeaways

Specify the VPC ID and a valid CIDR block within the VPC range to create a subnet.
Choose an availability zone to control where your subnet resides physically.
Avoid overlapping CIDR blocks to prevent network conflicts.
Use AWS CLI or SDKs to create subnets programmatically and get subnet IDs for resource deployment.
Check subnet state after creation to ensure it is ready before launching resources.