Regional NAT gateways for automatic multi-AZ expansion
Use regional NAT gateways when you want to simplify your network architecture, improve your security posture, and configure high availability by default. A regional NAT gateway automatically expands across Availability Zones based on your workload presence. Unlike standard NAT gateways (referred to as zonal NAT gateways), which operate in a single Availability Zone, regional NAT gateways follow your workloads to provide automatic high availability.
Diagram A on the left represents the current setup with zonal NAT Gateway. You first create zonal NAT Gateways per Availability Zone and host your NATs in public subnets. You then configure separate routes per Availability Zone from your private subnets to the NAT in that Availability Zone. You repeat this step every time your workloads expand to a new Availability Zone, for high availability. Additionally, you need to add routes for the internet gateway in the route table of your NAT subnet per Availability Zone.
On the other hand, with a regional NAT Gateway, you don't need to create a public subnet to host it. You also don't have to create and delete NAT Gateways and edit your route tables every time your workloads expand to new Availability Zones. Instead, you simply create a NAT Gateway with regional mode, choose your VPC, and it automatically expands and contracts across all AZs based on your workload's presence to offer high availability. As shown in diagram B, you can route traffic from your resources in a private subnet across all AZs to this single regional NAT Gateway ID, or use the same route table across subnets in your AZ to perform network address translation. Once you create your regional NAT Gateway, AWS automatically creates a route table for it, which comes with a pre-configured route to the internet gateway. You can use this route table to add return routes to your middleboxes.
Benefits
Regional NAT gateways provide the following benefits:
-
Simplified setup – Use a single NAT ID across all Availability Zones that have network interfaces, so you can use the same route entry for subnets across different Availability Zones.
-
Enhanced security – No public subnets required. A regional NAT Gateway is a standalone resource with its own route table and you do not need a public subnet in your VPC to host a regional NAT Gateway, which reduces chances of misconfiguring private resources in subnets with public connectivity.
-
Automatic high availability – Automatically expands and contracts with your workload footprint to maintain zonal affinity which provides high availability by default.
-
Higher port and IP limits – Your regional NAT Gateways support up to 32 IP addresses per Availability Zone (compared to 8 for zonal NAT gateways). Each IP address increases the limit on concurrent connections to a popular destination (identified by unique combination of destination IP, destination port and protocol) by 55,000.
When to use regional NAT gateways
Consider using Regional NAT Gateways for all use cases except those that require private connectivity. Regional NAT Gateways do not offer private connectivity and we recommend using your NAT Gateways in zonal availability mode for private NAT use cases.
How regional NAT gateways work
When you launch resources in a new Availability Zone, the regional NAT gateway detects the presence of an network interface(ENI) in that Availability Zone and automatically expands to that zone. Similarly, the NAT Gateway contracts from the Availability Zone that has no active workloads.
It may take your regional NAT Gateway up to 60 minutes to expand to a new Availability Zone after a resource is instantiated there. Until this expansion is complete, the relevant traffic from this resource is processed across zones by your regional NAT Gateway in one of the existing Availability Zones.
Regional NAT gateways support two modes:
-
Automatic mode – In this mode, AWS automatically manages IP addresses and Availability Zone expansion (recommended). If you want to use your own IP addresses in this mode and you use Amazon VPC IPAM, see Define public IPv4 allocation strategy with IPAM policies in the Amazon VPC IPAM User Guide.
-
Manual mode – In this mode, you manually manage IP addresses and control network address translation for each Availability Zone. In manual mode, you are responsible for expanding and contracting your NAT gateway across Availability Zones.
Pricing
For pricing information, see Amazon VPC Pricing
Create a regional NAT gateway
Using the console
Open the Amazon VPC console at https://console.aws.amazon.com/vpc/
. -
In the navigation pane, choose NAT gateways.
-
Choose Create NAT gateway.
-
For Availability mode, choose Regional. You do not need to specify any subnets when you choose regional availability
-
Choose a VPC.
-
Complete the remaining configuration and choose Create NAT gateway.
Using the AWS CLI
Create a regional NAT gateway
aws ec2 create-nat-gateway --vpc-id vpc-12345678 --availability-mode regional
View NAT gateway details
aws ec2 describe-nat-gateways --nat-gateway-ids nat-12345678
Add IP addresses (manual mode)
aws ec2 associate-nat-gateway-address --nat-gateway-id nat-12345678 --availability-zone us-east-1b --allocation-ids eipalloc-12345678
Remove IP addresses
aws ec2 disassociate-nat-gateway-address --nat-gateway-id nat-12345678 --association-ids eipassoc-12345678
Delete a regional NAT gateway
aws ec2 delete-nat-gateway --nat-gateway-id nat-12345678
Convert from zonal to regional NAT gateways
Important
This will reset your existing connections. We recommend that you complete these steps in your maintenance window.
You can convert existing zonal NAT gateways to a regional NAT gateway using one of two approaches:
If you are okay with using regional NAT Gateways with new IP addresses:
-
Create a new regional NAT gateway
-
Update route tables to point to the regional NAT gateway
-
Delete the old zonal NAT gateways
This approach uses new IP addresses and resets existing connections when routes are updated.
If you want to reuse existing IP addresses with regional NAT Gateways:
-
Delete existing zonal NAT gateways to release their IP addresses
-
Create a regional NAT gateway using the released IP addresses
-
Update route tables to point to the regional NAT gateway
This approach preserves IP addresses but requires a maintenance window as traffic is interrupted during the transition.