Cloud FinOps & Infrastructure ScalingPlaybook3 min readUpdated September 2026

The VPC Peering Mistake That Opens Your Whole Network

VPC peering feels safe because it's a private connection between two networks, no public internet involved. That's exactly what makes a misconfiguration so easy to miss: nothing about it looks like a security hole from the outside, and the traffic never touches anything you'd normally be watching for exposure.

The actual failure mode is almost always the same shape: a peering connection or route table gets set up to solve one specific problem, and it quietly grants access to far more of the network than that problem required, and nobody notices until a security review or an incident forces a look at the route tables.

Vendors Covered in this Article

Disclosure: We may earn a commission if you buy through some links on this page. It doesn't change what we recommend.

What actually decides what a VPC peering connection can reach?

The peering connection itself just makes two VPCs able to talk. What determines which subnets, which ports, and which specific resources are actually reachable is the route table and security group configuration on both sides. A common mistake is peering two full VPCs to solve a narrow problem, like letting one service reach one database, and leaving the route tables wide open by default, which means every subnet in VPC A can now reach every subnet in VPC B unless something else stops it.

The fix is treating route tables as the actual access control layer they are: route only the specific address ranges that need to talk to each other, not the whole VPC range, even when peering the whole VPC would be less work today.

Does VPC peering allow transitive access?

VPC peering is explicitly non transitive: if VPC A peers with VPC B, and VPC B peers with VPC C, A cannot reach C through B. This is usually correct and safe, but it creates a different, more dangerous assumption: that because peering isn't transitive, a compromised host in A also can't reach C. That's true only for the network layer. If a service in A authenticates to a shared resource, a database, an internal API, that also happens to be reachable from C through some other path, the isolation you're relying on isn't actually there.

Map out shared resources across your peered VPCs specifically, not just the peering connections themselves, since that's where the real transitive risk lives.

Internet accessible systems inside a peered VPC still need patch discipline

Network isolation is not a substitute for patching. Federal guidance on this is a useful bar even outside government work: critical vulnerabilities on internet accessible systems get fifteen calendar days to remediate, and known exploited vulnerabilities assigned a CVE since 2021 get fourteen1. If any host inside your peered network has a public IP or sits behind a load balancer that's internet facing, treat it as internet accessible for patching purposes regardless of how private the surrounding network looks, because that's exactly the host an attacker reaches first, and everything peered to it becomes reachable from there.

A well isolated network with an unpatched internet facing host in it is not actually isolated, it just delayed the discovery.

Test isolation by trying to break it, on a schedule

The only reliable way to know your isolation actually works is to attempt the access you believe is blocked, from inside the network, on a recurring schedule rather than once at setup. Pick a handful of paths that should be denied, one VPC's subnet reaching a specific port in another it has no business reaching, and verify the attempt actually fails. Automated network path testing tools exist for this, but even a quarterly manual check with a documented list of expected denials catches configuration drift that accumulates from small changes nobody thought to re-review.

Compare threat detection platforms if you're also evaluating tools that would flag this kind of lateral movement attempt in real time.

A recurring isolation test can follow these steps:

  1. List a handful of network paths that should be denied, such as one VPC's subnet reaching a specific port in another VPC.
  2. Attempt each blocked connection from inside the network, since that is where a misconfigured peering route would show up.
  3. Confirm every attempt actually fails, and treat any success as a finding to fix right away.
  4. Automate the checks so they run on a schedule instead of only at initial setup.
  5. Update the list whenever a new peering connection or route is added.

Document what each peering connection is actually for

Every peering connection should have a one line written justification: which service needs to reach which resource, and why. Without this, route tables accumulate scope creep as engineers widen access to unblock themselves quickly, and six months later nobody can say which of the connections are load bearing and which are leftover from a project that ended. When a security review asks why VPC A can reach a subnet in VPC C, the answer needs to be a documented reason, not a shrug and a promise to look into it.

This document is also what makes testing meaningful: you can't verify access matches intent if intent was never written down.

Executive Capability Standard

What Good Looks Like

Good network isolation means every peering connection routes only the specific ranges it needs, has a written justification, and gets tested against a documented list of expected denials on a schedule.

Building The Capability (5-Stage Skill Ladder)

1. Learn:Pull the current route tables for every peering connection in your environment and list what's actually reachable versus what each connection was originally set up to solve.
2. Do Manually:Pick one peering connection and manually attempt three access paths that should be denied, confirming each one actually fails rather than assuming the configuration is correct.
3. Delegate:Assign an engineer to write a one line justification for every existing peering connection, flagging any where nobody can explain why it still exists.
4. Automate:Set up automated, recurring network path testing against your documented list of expected denials so drift gets caught between security reviews, not only during them.
5. Buy:Bring in outside security review for your network architecture if a compliance requirement or customer questionnaire needs independent verification of isolation, not just an internal check.

How to Get Started

Disclosure: We may earn a commission if you buy through some links on this page. It doesn't change what we recommend.

Vanta

if network segmentation is one of the controls you need evidence for under a framework like SOC 2, Vanta can track that alongside your other compliance evidence

Visit Vanta→

Frequently Asked Questions

Is VPC peering inherently less secure than a service mesh with mTLS?

They solve different layers of the problem. Peering controls network reachability, a service mesh with mutual TLS controls service identity and encryption on top of whatever reachability exists. A well configured peering setup with tight route tables and no mesh is often safer in practice than a mesh layered on top of wide open peering, since the mesh doesn't fix an over broad network path underneath it.

How often should we review peering route tables?

Quarterly at minimum, and immediately after any project that added or modified a peering connection. Route table drift is slow and invisible day to day, which is exactly why a scheduled review catches problems that an incident based review misses: nothing breaks obviously, it just quietly gets wider than intended.

Do we need network isolation if all our internal traffic already uses application level authentication?

Application level auth and network isolation are complementary layers, not substitutes for each other. Authentication limits what an authenticated caller can do, isolation limits which callers can even attempt to connect in the first place. Relying on auth alone means a compromised credential or a bug in the auth check has direct network access to everything reachable, a much worse blast radius than one limited by tight routing as well.

Sources

Where we quote a benchmark, we show its source. Other figures in this guide are estimates or general guidance, so check them against your own numbers.

  1. Security patch remediation SLAs (CISA federal mandates, used as industry norm). CISA Binding Operational Directives 19-02 and 22-01 (CISA briefing hosted at NIST CSRC), 2022.

Related Guides