Skip to content
Calcrivo

Route Table Calculator

Count the route tables, routes and subnet associations a VPC design needs and check them against the AWS route quota.

Inputs

subnets
tiers

Subnets that need identical routes can share one table.

zones
blocks
routes

Peering, Transit Gateway, VPN and endpoint prefixes.

routes

Route Tables Needed

9

Routes per Table

17

Subnet Associations

12

Route Quota Headroom

66.0%

Quota Check

Within quota with 33 routes spare per table

Step by step

  1. Values used

    Subnets in the VPC = 12 subnets; Distinct routing behaviours = 3 tiers; Availability Zones in use = 3 zones; CIDR blocks associated with the VPC = 2 blocks; Static routes per table = 14 routes; Routes per route table quota = 50 routes

  2. Route Table

    tables = routing behaviours × zones; routes per table = local routes (one per VPC CIDR block) + 1 default route + static routes.

  3. Route Tables Needed

    = 9

  4. Routes per Table

    = 17

  5. Subnet Associations

    = 12

  6. Route Quota Headroom

    = 66.0

  7. Quota Check

    = Within quota with 33 routes spare per table

How it works

A subnet associates with exactly one route table, so the table count is the number of distinct routing behaviours multiplied by the zones you replicate them in — a per-zone private table is required whenever each zone routes to its own NAT Gateway. Each table starts with one automatic local route per associated VPC CIDR block, and the default quota of 50 routes counts static entries but not propagated Transit Gateway routes. Route tables are the least visible AWS quota: hitting 50 routes mid-migration means either an emergency aggregation exercise or a support ticket on the critical path.

Formula

Route Table

tables = routing behaviours × zones; routes per table = local routes (one per VPC CIDR block) + 1 default route + static routes.

routing behaviours
Groups of subnets that need different next hops
local routes
Automatic routes for each associated VPC CIDR block
quota
Routes allowed per route table

Frequently Asked Questions

How is Route Table calculated?

tables = routing behaviours × zones; routes per table = local routes (one per VPC CIDR block) + 1 default route + static routes. A subnet associates with exactly one route table, so the table count is the number of distinct routing behaviours multiplied by the zones you replicate them in — a per-zone private table is required whenever each zone routes to its own NAT Gateway. Each table starts with one automatic local route per associated VPC CIDR block, and the default quota of 50 routes counts static entries but not propagated Transit Gateway routes.

Why does Route Table matter?

Route tables are the least visible AWS quota: hitting 50 routes mid-migration means either an emergency aggregation exercise or a support ticket on the critical path.

What values do I need to enter?

This calculator takes 6 inputs: Subnets in the VPC, Distinct routing behaviours, Availability Zones in use, CIDR blocks associated with the VPC, Static routes per table, Routes per route table quota. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.

Do propagated Transit Gateway routes count against the quota?

No. The default limit of 50 applies to static routes per route table; dynamically propagated routes from a Transit Gateway association are counted separately, which is one reason a hub design scales further than a peering mesh full of static entries.

Why do I need one private route table per Availability Zone?

Because the next hop differs. If each zone has its own NAT Gateway for resilience and to avoid cross-zone charges, each zone's private subnets need a table whose default route points at the local gateway.

You might also need