Skip to main content

Gateways within AWS VPC

 In AWS there are a number of gateways within a VPC. 

The following types exist:

AWS VPC Gateway Types

Gateway Type

Purpose

Internet Gateway (IGW)

Enables public internet access for VPC resources (in public subnets).

NAT Gateway (NGW)

Allows private subnet instances to access the internet outbound only.

Virtual Private Gateway (VGW)

Enables VPN connectivity to on-premises networks.

Transit Gateway (TGW)

Connects multiple VPCs and on-premises networks at scale.

Egress-only Internet Gateway

IPv6-specific gateway for outbound-only internet access from private subnets.

PrivateLink / Interface Endpoints

Secure, private access to AWS services over AWS network.

Gateway Endpoints (S3/DynamoDB)

Private access to AWS services without an IGW or NAT.



So let's dive in a little deeper.

Detailed Overview of Each Gateway

1. Internet Gateway (IGW)

  • Publicly routable gateway for outbound and inbound traffic.
  • Required for instances with Elastic IPs in public subnets.

Example Route Table:

Destination: 0.0.0.0/0

Target: Internet Gateway (igw-abc123)

Use Case: Web servers that need to be publicly accessible.

This is the most common of the interfaces. You want (a part of) your servers or services to be able to get to the outside world and/or let these services be accessed from outside.


2. NAT Gateway

  • Provides outbound internet access for instances in private subnets.
  • Managed service (replaces NAT instance).
  • One per AZ for HA.

Example Route Table (Private Subnet):

Destination: 0.0.0.0/0

Target: NAT Gateway (nat-xyz789)

Use Case: EC2 instances pulling OS updates without being exposed to the internet.

A private subnet needs to access the outside world, but shall not be accessed from there. Imagine you have a special service that supplies some data to an external application, directly from your back-end.


3. Virtual Private Gateway (VGW)

  • Used for VPN or AWS Direct Connect connections to on-prem networks.
  • Attached to the VPC; paired with a Customer Gateway (CGW) on-prem.

Use Case: Hybrid cloud architectures needing secure VPN tunnels.

The Virtual Private Gateway is the workhorse of the hybrid architecture. Parts of your applications are still on-prom, while some are already in the cloud, either with lift&shift, or completely new build.


4. Transit Gateway (TGW)

  • Central hub for connecting multiple VPCs, on-premises, and VPNs.
  • Reduces complex peering meshes.

Use Case: Enterprises with 5+ VPCs or regional/global architectures. Mind the costs, as this is billed per connection.


5. Egress-Only Internet Gateway

  • IPv6-specific gateway for outbound-only internet traffic from private subnets.
  • No inbound traffic allowed.

Use Case: IPv6-only environments needing outbound access without public exposure.


6. Gateway Endpoints (S3 / DynamoDB)

  • Enable private, VPC-level access to specific AWS services without internet access or NAT.
  • Only available for S3 and DynamoDB.

Route Table Entry Example:

Destination: pl-68a54001 (com.amazonaws.region.s3)

Target: Gateway Endpoint (vpce-123456)

Use Case: Accessing S3 buckets from a private subnet with no internet gateway or NAT.


7. Interface Endpoints (AWS PrivateLink)

  • Use AWS PrivateLink to privately access services via ENIs.
  • Works for AWS services, third-party SaaS, and your own services.

Use Case: Secure access to services like Secrets Manager, without crossing the internet.


📌 Summary Comparison

Gateway

Direction

Internet Required

Services Accessed

Subnet Type

Internet Gateway

In/Out

Yes

Any

Public

NAT Gateway

Out only

Yes

Any (via outbound only)

Private

Virtual Private Gateway

In/Out

No (VPN/IPSec)

On-prem

Any

Transit Gateway

In/Out

No (AWS Internal)

VPCs, VPNs, DX

Any

Egress-only IGW

Out only (IPv6)

Yes

Any

Private (IPv6)

Gateway Endpoint

Out only

No

S3, DynamoDB

Any

Interface Endpoint

In/Out

No

AWS/private services

Any

 


A graphical representation of these gateways shows their position:






Comments

Popular posts from this blog

Oracle Fusion Middleware Forum in Valencia

Last week the 22nd Fusion Middleware and PaaS Partner Community Forum took place in Valencia, Spain. For me this was a very valuable experience - again as I have visited a number of #ofmForum before. Let me recap here the highlights of this meeting. After a great Welcome-Reception the evening before, where everybody had the chance to catch up with a large number of old (and soon-to-be new) friends, the conference started with a kind of the state of the union by Jürgen Kress. The community already has more than 8000 people. This - in a fact - is a tremendous achievement. Everybody agrees that this is only possible by the relentless work of Jürgen who puts a big effort into this. It shows that other areas inside the Oracle technology stack do not benefit by equivalent communities. Even other communities, when they exist at all, do not compete in the same league. So a VERY BIG THANK YOU for Jürgen is at its place here. After the opening a keynote from Alistair Hopkins showed ver...

Oracle Streams Explorer

At the recent Oracle SOA Suite community forum in Budapest I had a hands-on experience with the Oracle Streams Explorer. Having worked with the Oracle Complex Event Processing and also some hands-on exercises with the new Oracle Event Processing, the Oracle Streams Explorer is a very easy to handle and useful addition to the area of near-real-time data insight and analysis. The user interface comes along in the new Oracle look-and-feel. You can select a number of areas like IOT, Risk and Fraud Management, Transportation and Logistics, Customer Experience and Analysis and Telecommunications. Within that you get a number of predefined patterns and resources. Defining your own solution can therefore be based on an existing solution in your catalog or simply by combining input streams and defining filters on them. Now plenty of examples can (and will) be named. The essence for me - and this is a message that I will convey to customers - is the fact that by using Oracle Streams Expl...

Copy and Paste

I bounced into a funny thing when I setup a Data Guard Physical Standby Database. First I prepared some database init parameters in a document (actually I reused some old documentation I had done in a previous project). log_archive_dest_1 location=use_db_recovery_file_dest valid_for=(all_logfiles,all_roles) db_unique_name=osbsoadb The "alter system ..." command worked like a charm. During the preparations I needed to restart the database instance. To my surprise I received an error that there was an issue with an init parameter. ORA-16024:  parameter  LOG_ARCHIVE_DEST_1  cannot  be  parsed Google did not really help me. So I decided to create a pfile from the spfile and had a look into it. There it became evident what the error was. Somehow during the copy & paste the end-of-lines were copied as well - leaving my init parameter with some newlines in it. Made one line from it in the pfile, started the db and cr...