AWS PrivateLink

AWS PrivateLink: Private Roads Between Networks

A zero-jargon, ground-up walkthrough of AWS PrivateLink — how two completely separate networks can talk to each other privately, without ever touching the public internet.

Imagine two office buildings on opposite sides of a busy city. Normally, an employee traveling between them has to walk out onto the public street, cross traffic, and risk being seen or delayed by anyone else out there. Now imagine the two buildings instead build a private, enclosed skybridge connecting them directly, floor to floor, with no need to ever step onto the public street at all. AWS PrivateLink is exactly that skybridge, but for network traffic between two AWS Virtual Private Clouds, or between your VPC and an AWS service — private, direct, and never exposed to the public internet.

1What Is AWS PrivateLink?

Understanding the problem PrivateLink solves requires first understanding how network traffic normally travels between separate networks.

Normally, when one application needs to reach a service in a different network — a different VPC, a different AWS account, or an AWS service like S3 — that traffic has choices: travel across the public internet, or travel through more complex networking setups like VPC peering or a VPN, both of which can expose broader network ranges than actually necessary and add real configuration overhead.

AWS PrivateLink is a networking technology that lets you privately connect your VPC to supported AWS services, services hosted by other AWS accounts, or third-party SaaS providers — all without that traffic ever crossing the public internet, and without needing to peer entire networks together. From the consuming application’s point of view, the remote service simply appears as a private IP address inside its own VPC.

Everyday Analogy

Think of ordering food through a hotel’s room service instead of walking out to a restaurant. You never leave the building, never interact with the public street, and the food simply arrives at your door — a private, direct path rather than a public one.

i
Beginner Tip

PrivateLink does not connect two entire networks together the way VPC peering does. It exposes just one specific service, privately, without granting broader network access — a narrower, more controlled connection.

2Architecture & Core Components

PrivateLink’s architecture revolves around two roles — a service provider and a service consumer — connected through a small set of specific components.

On the consuming side, a VPC creates an interface endpoint — a set of Elastic Network Interfaces (ENIs) with private IP addresses placed directly inside your subnets. Applications connect to these private IPs as if the remote service were local. On the providing side, a service is published as an endpoint service, typically backed by a Network Load Balancer that fronts the actual service instances.

Consumer Side

Interface Endpoint

A set of private ENIs placed in your subnets, giving your VPC a private IP address to reach the remote service.

Provider Side

Endpoint Service

The published, consumable representation of a service, backed by a Network Load Balancer.

Provider Side

Network Load Balancer

Distributes incoming private connections across the actual instances or containers providing the service.

Naming

Private DNS

Optionally allows consumers to reach the service using its normal public-looking domain name, resolved privately.

Access Control

Endpoint Policies

Fine-grained IAM-based policies controlling exactly what actions are permitted through a given endpoint.

Approval

Connection Acceptance

Service providers can require explicit approval before a consumer’s connection request is granted.

flowchart LR
    A[Consumer VPC] --> B[Interface Endpoint - Private ENIs]
    B -->|AWS PrivateLink Network| C[Endpoint Service]
    C --> D[Network Load Balancer]
    D --> E[Service Instance 1]
    D --> F[Service Instance 2]
    D --> G[Service Instance 3]
        
Fig 1 — A consumer VPC reaching a provider’s service privately through an interface endpoint and endpoint service

Notice that the consumer’s traffic never needs a route to the public internet, an internet gateway, or a NAT device to reach the service. The private ENI sitting inside the consumer’s own subnet is the entire connection point.

3How It Works Internally

When you create an interface endpoint, AWS provisions an ENI with a private IP address in each subnet you select, typically one per Availability Zone for resilience. Internally, PrivateLink traffic travels over Amazon’s own private network backbone, never touching the public internet’s routing infrastructure, which is precisely why it avoids the security exposure and variable latency that public internet paths can introduce.

Everyday Analogy

Think of a pneumatic tube system inside an old department store, carrying cash and receipts directly between departments through sealed tubes in the walls, rather than having an employee walk the item across the public sales floor. The tube network is entirely internal and isolated from outside traffic.

When Private DNS is enabled for an endpoint, AWS automatically resolves the service’s normal domain name to the private ENI’s IP address whenever that resolution happens from inside the VPC — meaning existing application code that already calls the service by its regular hostname often needs no code changes at all to start using PrivateLink.

4Data Flow & Lifecycle

1

Service Publication

A provider creates an endpoint service backed by a Network Load Balancer in front of their actual service.

2

Endpoint Creation

A consumer creates an interface endpoint in their own VPC, referencing the provider’s published service.

3

Connection Approval

If required, the provider explicitly accepts the consumer’s connection request before traffic is allowed to flow.

4

DNS Resolution

The consumer’s application resolves the service hostname to the private ENI’s IP address inside its own VPC.

5

Private Data Transfer

Traffic flows entirely over AWS’s private network between the consumer’s ENI and the provider’s load balancer.

This lifecycle also applies symmetrically for both AWS-managed services (like accessing S3 or Kinesis privately from within a VPC) and third-party SaaS offerings that choose to publish their services through an endpoint service — the underlying mechanics are the same in both cases.

5Advantages, Disadvantages & Trade-offs

Advantages

  • Traffic never traverses the public internet, reducing exposure
  • Exposes only a specific service, not an entire network like peering does
  • No need to manage overlapping IP ranges the way VPC peering can require
  • Consistent, predictable performance over AWS’s private backbone
  • Works across accounts and even across organizations for SaaS integrations

Disadvantages

  • Interface endpoints incur hourly and data processing charges
  • Only supports specific traffic patterns the endpoint service is designed for
  • Requires the provider side to actively support and publish an endpoint service
  • Adds a component to design and monitor compared to simple public endpoints

The trade-off is tight scope and strong isolation versus setup effort and per-endpoint cost. PrivateLink deliberately connects one specific service at a time rather than entire networks, which is safer but means each service relationship needs its own endpoint.

6Performance & Scalability

Because PrivateLink traffic runs over AWS’s own private backbone rather than the public internet, latency tends to be low and consistent, avoiding the variability that public internet routes can introduce during congestion. Interface endpoints scale automatically to handle increasing connection volume, and placing an ENI in each Availability Zone you use helps spread load and avoid cross-AZ data transfer where possible.

1 ENI
PER SUBNET, TYPICALLY ONE PER AVAILABILITY ZONE
PRIVATE
BACKBONE — NO PUBLIC INTERNET HOP INVOLVED
MULTI
ACCOUNT AND CROSS-ORGANIZATION SUPPORT

On the provider side, since traffic passes through a Network Load Balancer, the same NLB scaling characteristics apply — it distributes connections across many targets and scales to handle large volumes of concurrent traffic without manual intervention.

!
Common Trap

Creating an interface endpoint in only one Availability Zone, then routing all traffic through it, removes the resilience benefit of AWS’s multi-AZ design and creates an avoidable single point of failure.

7High Availability & Reliability

Interface endpoints support placing an ENI in multiple Availability Zones, meaning the loss of one AZ does not sever the private connection — traffic can continue flowing through the ENI in a remaining healthy zone. On the provider side, the underlying Network Load Balancer performs continuous health checks against backend targets, automatically routing traffic away from unhealthy instances.

Everyday Analogy

A building with multiple elevators means one elevator undergoing maintenance does not strand everyone on the ground floor. Multi-AZ interface endpoints work the same way — one path being unavailable does not stop the overall connection from functioning.

Because PrivateLink connections rely on standard, well-understood AWS networking primitives — ENIs, Network Load Balancers, and VPC routing — the same reliability practices that apply broadly across AWS networking, like spreading resources across Availability Zones, apply directly here as well.

8Security

PrivateLink’s core security advantage is architectural: by design, traffic never touches the public internet, eliminating an entire category of exposure. On top of that, security groups attached to the interface endpoint’s ENIs control which resources within the consumer VPC can reach it at all.

Isolation

No Public Internet Path

Traffic stays entirely on AWS’s private network between consumer and provider.

Access Control

Endpoint Policies

IAM-based policies scoped to the specific endpoint, restricting exactly which actions are allowed through it.

Access Control

Security Groups

Control which internal resources are permitted to reach the interface endpoint’s private IP addresses.

Approval Flow

Explicit Connection Acceptance

Providers can require manual approval before any consumer’s connection request becomes active.

9Monitoring, Logging & Metrics

Amazon CloudWatch exposes metrics for interface endpoints, including bytes processed and active connection counts, and for the underlying Network Load Balancer on the provider side, including target health and connection counts. VPC Flow Logs can also capture traffic flowing to and from the endpoint’s ENIs for deeper network-level visibility.

Practical Scenario

An application team reports intermittent connection failures to a partner SaaS service accessed through PrivateLink. Checking the Network Load Balancer’s target health metrics on the provider’s side (shared during troubleshooting) reveals a subset of backend targets failing health checks, unrelated to PrivateLink itself — the fix lives on the provider’s backend, not the private connection.

Because PrivateLink is a networking layer rather than an application layer, most meaningful troubleshooting metrics come from the surrounding components — ENIs, security groups, and load balancers — rather than from PrivateLink having a large monitoring surface of its own.

10Deployment & Cloud Options

PrivateLink is used in two main deployment shapes. Interface endpoints connect your VPC privately to supported AWS services (like Amazon S3, Kinesis, or Secrets Manager) or to third-party services, appearing as a private IP in your own subnets. Endpoint services let you become the provider, publishing your own service to be consumed privately by other AWS accounts or customers.

ComponentRoleTypical Use
Interface EndpointConsumer sidePrivately reach an AWS or SaaS service
Endpoint ServiceProvider sidePublish your own service for private consumption
Gateway EndpointConsumer side (S3 & DynamoDB only)Route-table based, no ENI, no hourly charge

Worth noting: Gateway endpoints are a related but distinct mechanism, used specifically for S3 and DynamoDB, implemented through VPC route tables rather than ENIs, and carrying no hourly endpoint charge — a useful, cheaper alternative for those two specific services when interface-endpoint features are not required.

11Design Patterns & Anti-patterns

A widely used pattern is SaaS provider connectivity: a SaaS company publishes an endpoint service, and its enterprise customers connect to it privately from within their own VPCs, avoiding public internet exposure for potentially sensitive data flowing to that SaaS platform. Another pattern is centralized shared services, where a hub VPC publishes internal tools (like a shared logging or secrets service) as endpoint services, consumed privately by many spoke VPCs across an organization.

ANTI-PATTERN — AP-01 Avoid
Pattern

Reaching for full VPC peering or a site-to-site VPN when the actual requirement is simply “let this one application privately call that one specific service.”

Why It Fails

Peering and VPNs expose broader network reachability than necessary, increasing the security surface and often requiring careful management of non-overlapping IP address ranges.

Better Approach

Use PrivateLink to expose exactly the one service needed, keeping the rest of each network completely unreachable from the other side.

12Best Practices & Common Mistakes

Best Practice

Deploy Across Multiple AZs

Place interface endpoint ENIs in every Availability Zone your application actually uses.

Best Practice

Scope Endpoint Policies Tightly

Restrict each endpoint’s policy to only the specific actions genuinely required.

Best Practice

Enable Private DNS Where Supported

Avoids application code changes by letting existing hostnames resolve privately.

Mistake

Forgetting Security Group Rules

An interface endpoint with no inbound rule allowing your application’s traffic will simply appear unreachable.

!
Common Mistake

Assuming PrivateLink automatically replaces the need for encryption in transit. PrivateLink keeps traffic off the public internet, but applications should still use TLS for end-to-end confidentiality between consumer and provider.

13Real-World Usage Patterns

SaaS Data Platforms

Analytics and monitoring SaaS providers commonly offer PrivateLink connectivity so enterprise customers can send sensitive telemetry data without it ever crossing the public internet.

Financial Services

Regulated financial institutions use PrivateLink to connect to critical AWS services and partner platforms while meeting strict data-in-transit compliance requirements.

Multi-Account Enterprise Architectures

Large organizations use PrivateLink to expose shared internal services — like a central identity or logging platform — to many application-owning accounts without full network peering.

“The safest network path is often the one that never had to leave the building.”

14Frequently Asked Questions

Q1Is PrivateLink the same as VPC peering?
No. VPC peering connects two entire networks together, while PrivateLink exposes just one specific service privately, without broader network reachability.
Q2Does PrivateLink traffic ever touch the public internet?
No. Traffic travels entirely over AWS’s private network backbone between the consumer’s interface endpoint and the provider’s endpoint service.
Q3Can I use PrivateLink to reach a third-party SaaS product?
Yes, if that provider has published an endpoint service, your VPC can create an interface endpoint to reach it privately.
Q4Are gateway endpoints and interface endpoints the same thing?
No. Gateway endpoints, used only for S3 and DynamoDB, work through route tables with no ENI or hourly charge, while interface endpoints use ENIs and support a much broader range of services.
Q5Do I still need TLS if I am using PrivateLink?
Yes. PrivateLink keeps traffic off the public internet, but encrypting the traffic itself with TLS remains a separate, complementary best practice.
Q6Does the service provider need to do anything special to support PrivateLink?
Yes, the provider must publish their service as an endpoint service, typically backed by a Network Load Balancer, before consumers can connect to it privately.

15Summary and Key Takeaways

Key Takeaways

  • AWS PrivateLink connects a VPC privately to a specific service, without traffic ever crossing the public internet.
  • Consumers use interface endpoints (private ENIs); providers publish endpoint services backed by a Network Load Balancer.
  • PrivateLink exposes only one specific service at a time, unlike VPC peering which connects entire networks.
  • Multi-AZ ENI placement and NLB health checks together provide resilience against single points of failure.
  • Security combines architectural isolation with endpoint policies, security groups, and optional connection approval.
  • Gateway endpoints are a related, cheaper mechanism specific to S3 and DynamoDB, distinct from interface endpoints.
  • PrivateLink does not replace TLS encryption — the two work together for full end-to-end protection.