Core networking: VPCs and subnets
Core networking refers to Virtual Private Clouds (VPCs) and the components deployed inside them: subnets, gateways, resolvers, route tables, endpoints, and more. The diagram below shows a typical multi‑AZ VPC design with public and private subnets, a load balancer, NAT gateway, VPC endpoints, and connections to external AWS services.
- Internet Gateway (IGW): enables public Internet access for public subnets.
- NAT Gateway(s): placed in public subnets to allow outbound Internet from private subnets.
- Load Balancers (ALB/NLB): Internet-facing balancers create interfaces in public subnets; internal balancers use private subnets.
- VPC Endpoints: gateway and interface endpoints allow private access to services like S3 and PrivateLink services.
- Route Tables & DNS Resolvers: control traffic flows and name resolution at the subnet and VPC/region level.
Multi‑VPC connectivity: Transit Gateway vs VPC Peering
When connecting departmental VPCs to shared-services or central networking, choose an approach that balances scalability, isolation, and operational complexity.
- Transit Gateway: scalable hub-and-spoke architecture. Recommended when you have many VPCs and need central routing, segmentation, and simplified management.
- VPC Peering: simple, low-latency, direct connectivity. Good for a small number of VPCs where transitive routing is not required.
- Direct Connect / VPN: connect on‑premises to AWS. These do not directly join VPCs unless traffic is routed through on‑premises or a transit hub.
High availability and fault tolerance in a VPC
Deploy applications across multiple Availability Zones (AZs) inside a region to achieve HA and fault tolerance. Public-facing load balancers typically sit in public subnets while application and database tiers run in private subnets across AZs.
- Distribute resources across multiple AZs and use separate subnets per AZ and tier to avoid single points of failure.
- Use load balancers to distribute traffic and support failover between AZs.
- Replicate control plane and critical services across AZs where supported.
Transit VPC (hub model)
A transit or “hub” VPC can act as a central routing layer connecting multiple VPCs via VPNs or other transit technology. It simplifies routing and centralizes shared services (e.g., logging, security appliances).
Default VPC vs custom VPC
Default VPCs are convenient for experimentation, but they are not suited as production defaults. Create custom VPCs for production workloads and design addressing and security around organizational needs.
Subnets and AZ distribution
Remember: a single subnet cannot span AZs. Create one subnet per AZ per tier (web, app, db) so workloads can fail over across AZs if an instance or AZ becomes unavailable.Routing and route tables
Segment route tables by tier to control access and minimize blast radius:- Assign a route table to each subnet tier (web, app, db).
- Only the web tier route table should typically reference the IGW; the app tier should not have direct IGW routes.
- Use this segmentation to tighten security and simplify incident remediation.

Internet Gateways (IGW)
Although diagrams show an IGW as a single device, AWS implements the IGW as a managed, highly available service. Only one IGW is attached to a VPC, but it is not a single physical point of failure. Common design question: grant a developer controlled access to a test app without exposing it broadly. Options include:- Use an IGW but restrict ingress with security groups and NACLs (quick but public-facing).
- Use VPN or Direct Connect for private access (more secure). If an IGW must be used, strictly lock down security groups and NACLs to the developer’s IP addresses.

NAT gateways and egress-only gateways
NAT gateways provide outbound IPv4 NAT for private subnets and are scoped per AZ. To avoid cross‑AZ data charges and maintain resiliency:- Deploy a NAT gateway in each AZ and configure private-subnet route tables to use the NAT gateway that is local to their AZ.
- For IPv6 outbound-only traffic, use an egress-only internet gateway.

Deploy NAT gateways per AZ and point each private-subnet route table to the NAT gateway in the same AZ to avoid cross‑AZ data charges and improve failover behavior.
DNS resolution and Route 53 Resolver
Route 53 Resolver endpoints (inbound and outbound) and the VPC-provided DNS service are managed, redundant services. You cannot “scale up” the AWS resolver — it is already highly available.
IP addressing and Elastic IPs
- Choose a sufficiently large VPC CIDR block to avoid address exhaustion and to allow future growth (allocate subnet sizes by expected load and expansion).
- Use IP Address Management practices to prevent overlapping addresses when connecting networks.
- Elastic IPs (EIPs) provide a static public IPv4 address that can be remapped quickly between ENIs for failover scenarios in legacy or single‑point designs.

Network interface and placement strategies
Options to increase throughput and resilience:- ENI (Elastic Network Interface): the standard virtual NIC attached to instances.
- ENA (Elastic Network Adapter): enhanced networking driver for higher throughput and lower latency.
- EFA (Elastic Fabric Adapter): OS‑bypass, low‑latency networking for HPC and tightly coupled workloads (supports MPI).
- Secondary private IPs: useful for IP failover patterns for legacy apps.
- Placement groups (cluster, partition, spread): control EC2 instance placement for performance or fault isolation.

Quick scenario: real‑time gaming or HPC
For multiplayer game servers or HPC workloads with strict latency:- Use ENA for high throughput and low latency.
- Consider EFA where OS‑bypass and minimal latency between instances are required (e.g., MPI workloads).

Network ACLs and Security Groups
Network ACLs and security groups are distributed, managed AWS features and are highly available by design. Focus on correct policy design rather than trying to scale these constructs. Use AZ distribution for the resources protected by these controls.
Load balancers (ALB, NLB, Gateway Load Balancer)
Application Load Balancer (ALB) and Network Load Balancer (NLB) are managed services that distribute traffic across AZs and automatically create interfaces in each registered subnet. To maximize availability:- Register targets across multiple AZs.
- Enable cross‑zone load balancing as appropriate (ALB default; NLB configurable).
- For inter-region failover, use DNS-based failover with Route 53 health checks and routing policies.
Transit networking: VPN and Direct Connect
Hybrid connections require redundancy:- Site-to-site VPN: each AWS VPN connection provides two tunnels for resilience. Increase resiliency by creating multiple VPN connections to different customer gateways or by using Transit Gateway attachments.
- Direct Connect: a single Direct Connect is a single physical path. Achieve higher availability with multiple Direct Connects in different locations, or combine Direct Connect with a VPN backup.

VPC Peering and Transit Gateway resiliency
AWS implements VPC peering and Transit Gateway on a highly available backbone. Logical diagrams may show a single connection but the infrastructure includes redundant paths. At network edges (VPN/Direct Connect) you need multiple external connections for extra resilience.

VPC endpoints and PrivateLink
VPC endpoints enable private connectivity to AWS services and partner/customer services:- Gateway endpoints (S3, DynamoDB) are route-table backed and are highly available without ENIs.
- Interface endpoints (PrivateLink) create ENIs in subnets to route traffic privately to endpoint services.

Edge networking: CloudFront, Functions, and Lambda@Edge
CloudFront is a globally distributed CDN and is highly redundant by design. A single CloudFront distribution provides low-latency, resilient delivery through many edge locations and regional caches.
- CloudFront Functions: lightweight JS functions at edge locations for request/response manipulation.
- Lambda@Edge: runs functions tied to viewer or origin events; executes at regional edge caches as required.


Closing notes
- Many core AWS networking components are managed and highly available by default (IGW, route tables, NACLs, security groups, load balancers, endpoints).
- Anything that represents a single external physical path (Direct Connect, a single VPN endpoint) needs additional redundant connections to achieve higher availability.
- Distribute compute and stateful services across multiple AZs and prefer managed services (ALB/NLB, Transit Gateway, CloudFront) to reduce operational overhead and improve reliability.
Design networks for both isolation and redundancy: use per‑tier route tables and per‑AZ resources (NAT gateways, instances, endpoints) to avoid single points of failure while keeping security boundaries clear.
- AWS VPC documentation: https://docs.aws.amazon.com/vpc/latest/userguide/
- AWS Transit Gateway: https://docs.aws.amazon.com/transitgateway/latest/overview/what-is-transit-gateway.html
- AWS NAT design and best practices: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html
- Amazon CloudFront overview: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html