Networking

VPC endpoints and PrivateLink: keep traffic off the public internet

Week of June 22, 2026Topic: VPC endpoints & AWS PrivateLink

This issue covers VPC endpoints and AWS PrivateLink, the feature behind "our traffic never touches the public internet."

Why this matters

By default, a workload in a VPC reaches Amazon S3, an AWS API, or a partner SaaS over a public path: through an internet gateway or a NAT gateway, out to a public endpoint, and back. For regulated Commonwealth data (CJIS, IRS 1075, tax and court records), that public hop is often the exact thing a security review will not sign off on. VPC endpoints remove it. They place a private door to the service inside your VPC, so the traffic stays on the AWS network with no internet gateway, NAT, VPN, or Direct Connect in the path.

There is a cost angle too. NAT gateways bill an hourly charge plus a per-GB data-processing charge on everything that flows through them. Moving S3 and DynamoDB traffic onto a free gateway endpoint, and other AWS-service traffic onto interface endpoints, takes that volume off the NAT bill. AWS calls this out in its own NAT pricing guidance.

Rule of thumb: match the endpoint to what you are reaching. An AWS service, a partner service, or a specific private resource each has its own endpoint type.

Quick context

Gateway endpoints

Interface endpoints (AWS PrivateLink)

Resource endpoints (newer, GA at re:Invent 2024)

What changed recently (worth knowing)

When not to use it / tradeoffs

Quick decision guide

  • Reaching S3 or DynamoDB? Start with a gateway endpoint. It is free and quick.
  • Reaching another AWS service privately (Secrets Manager, KMS, RDS API, ECR, etc.)? Use an interface endpoint.
  • Reaching a partner or SaaS product privately? Use an interface endpoint to their published endpoint service.
  • Reaching a specific database, server, IP, or on-prem target? Use a resource endpoint and skip running your own load balancer.
  • Reaching a service in another Region privately? Cross-Region PrivateLink, after you confirm the service and partition support it.

AWS references