This script searches for the largest available IP subnets within the unallocated spaces between your VPC subnets, or between VPCs for a given CIDR block.
Install vpc-free to /usr/local/bin with:
$ pip install vpc-freeThe script uses the Amazon AWS SDK (boto3) to connect to AWS. The SDK must
be configured with credentials to connect to the AWS APIs. Please see the Boto3
documentation for instruction.
$ vpc-free -h
usage: vpc-free [-h] TARGET
Find free IP blocks in AWS EC2.
positional arguments:
TARGET CIDR, VPC ID or VPC Name to search
optional arguments:
-h, --help show this help message and exit# search for unallocated blocks between VPCs in 10.0.0.0/8
$ vpc-free 10.0.0.0/8
MIN IP MAX IP MASK SIZE BEST LABEL
10.0.0.0 10.63.255.255 /10 4194304 10.0.0.0/10 FREE
10.64.0.0 10.64.255.255 /16 65536 vpc-c4871ca0 (Demo)
10.65.0.0 10.255.255.255 12517376 10.128.0.0/9 FREE
# search for unallocated blocks between subnets in a VPC
$ vpc-free vpc-c4671caf
10.64.0.0 10.64.15.255 /20 4096 subnet-74247002 (Subnet 1)
10.64.16.0 10.64.31.255 /20 4096 subnet-d32421a5 (Subnet 2)
10.64.32.0 10.64.47.255 /20 4096 10.64.32.0/20 FREE
10.64.48.0 10.64.63.255 /20 4096 subnet-0a257077 (Subnet 4)
10.64.64.0 10.64.255.255 49152 10.64.128.0/17 FREE