How to implement highly available NAT gateways across multiple Availability Zones?
A company has set up a NAT gateway in a single Availability Zone (AZ1) in a VPC (VPC1) to access the internet from Amazon EC2 workloads in the VPC. The EC2 workloads are running in private subnets in three Availability Zones (AZ1, AZ2, AZ3). The route table for each subnet is configured to use the NAT gateway to access the internet. Recently during an outage, internet access stopped working for the EC2 workloads because of the NAT gateway's unavailability. A network engineer must implement a solution to remove the single point of failure from the architecture and provide built-in redundancy. Which solution will meet these requirements?
Community Votes
100% of anonymous learners picked answer D. Votes are pick records left by other test-takers — they are not the verified answer.
Community Insight
This question tests whether candidates know that NAT gateways do not support virtual IPs or cross-AZ failover, and that high availability is achieved by creating one NAT gateway per AZ with AZ-specific route tables.
AWS NAT gateways are redundant within a single Availability Zone but not across AZs. To remove the single point of failure, deploy one NAT gateway per AZ in separate public subnets and associate each private subnet's route table with the NAT gateway in its own AZ.
Candidates often choose option B, assuming a single route table can route different subnets to different NAT gateways. In AWS, a single route table cannot have two routes for the same destination (0.0.0.0/0); each AZ's private subnets need their own route table pointing to their local NAT gateway.
Community Discussion (4 comments)
Comments & Corrections
No comments yet — spotted an error or have a note? Share it below.
Expert Analysis
The scenario describes a single NAT gateway in AZ1 serving private subnets across three AZs. When AZ1 experiences an outage, all internet-bound traffic from every AZ fails because the NAT gateway is a single point of failure.
Why Option D is Correct
Option D correctly implements the AWS best practice for highly available NAT gateways:- Deploy one NAT gateway per AZ in separate public subnets (AZ2 and AZ3 in this case).
- Create separate route tables for each AZ's private subnets.
- Each route table points its
0.0.0.0/0route to the NAT gateway in the same AZ.
Why Option A is Wrong
Option A mentions routing traffic to the virtual IP addresses of NAT gateways. AWS NAT gateways do not support virtual IPs or any form of cross-AZ failover mechanism. Each NAT gateway has a fixed Elastic IP within its AZ.Why Option B is Wrong
Option B suggests using a single route table to point different subnets to different NAT gateways. This is impossible in AWS routing: a route table can only have one route per destination prefix. You cannot have two0.0.0.0/0 routes in the same route table pointing to different targets.Why Option C is Wrong
Option C introduces an unnecessary second VPC. Cross-VPC NAT routing adds complexity without benefit. The requirement is simply to eliminate the single point of failure within the existing VPC, which is achieved by multi-AZ NAT gateway deployment.Community Consensus
All community voters (100%) selected D. Commentators correctly noted that NAT gateways lack VIP functionality (eliminating A), that a new VPC is unnecessary (eliminating C), and that a single route table cannot serve multiple NAT gateways for the same destination (eliminating B). One insightful comment pointed out that if an AZ goes down, the EC2 instances in that AZ are also down, so cross-AZ NAT redundancy for failed AZ workloads is pointless.Official Reference
Exam Strategy
When you see 'remove single point of failure' for NAT gateways, immediately think 'one NAT gateway per AZ with separate route tables.' Eliminate any option mentioning virtual IPs, single route tables with multiple NAT targets, or unnecessary multi-VPC architectures.
Related Analysis
Practice All ANS-C01 Questions
Access 137 questions with complete answers and detailed explanations.
View Full ANS-C01 Practice Test →