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:
- List a handful of network paths that should be denied, such as one VPC's subnet reaching a specific port in another VPC.
- Attempt each blocked connection from inside the network, since that is where a misconfigured peering route would show up.
- Confirm every attempt actually fails, and treat any success as a finding to fix right away.
- Automate the checks so they run on a schedule instead of only at initial setup.
- 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.
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)
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.
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.
- 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
CrowdStrike vs SentinelOne vs Microsoft Defender: Best EDR
Comparing CrowdStrike Falcon, SentinelOne Singularity, and Microsoft Defender for Endpoint: agent footprints, kernel vs eBPF, pricing, and SOC reality.
Where VPC Peering Breaks Down and How to Isolate Blast Radius Instead
Why VPC peering alone doesn't isolate anything, and a more reliable way to contain blast radius between services and environments.
What a Misconfigured VPC Peering Connection Actually Breaks
A walkthrough of a real VPC peering misconfiguration, what it exposed, and the four checks that would have caught it before it shipped.
A Practical Checklist for VPC Peering and Network Isolation
The specific network isolation mistakes that quietly undermine a zero-trust architecture, and a checklist for catching them in your VPC peering setup.
VPC Peering Looks Like Isolation Until You Check the Routes
VPC peering can silently become transitive, undoing the isolation you thought you had. Here is how to audit what can actually reach what in your network.
Four Network Isolation Checks Most VPC Peering Setups Skip
Four specific checks for VPC peering and network isolation setups, plus the pitfalls that let a segmentation boundary look correct while quietly failing.