Whoever must securely interconnect Cloud VPC networks quickly faces a conflict of objectives: as stable and performant as possible, while at the same time auditable, segmented and operationally reliable. In practice it’s rarely just about „a connection to the cloud.“ It’s about a network coupling between security domains (e.g. On-Premises data center, Cloud-VPC/VNET, partner networks) that has to work in daily operations: deployments, backups, monitoring, identity/directory, update and patch processes, data flows for business software and process-oriented software solutions.
This article compares Site-to-Site VPN (IPsec) with dedicated connections such as AWS Direct Connect and Azure ExpressRoute. The focus is not on marketing promises but on operations: prerequisites, risks, typical pitfalls, verification steps, troubleshooting and a fallback strategy. Terms like VPC (Virtual Private Cloud, logically isolated cloud network) and VNET (Azure Virtual Network, Azure’s counterpart to the VPC) are placed accordingly.
Securely interconnecting Cloud VPC networks in practice
Before you compare VPN or Direct Connect/ExpressRoute, a short reality check is worthwhile. Many wrong decisions arise because requirements are only stated as „we need access.“ Better are verifiable criteria:
- Availability and risk: How critical is the connection? What happens with a 15-minute outage? What about 2 hours? Which RTO/RPO targets (recovery time/recovery point objectives) depend on it?
- Traffic profile: Many small flows (API, auth, admin) vs. large transfers (backup, replication, batch). Important because VPNs and dedicated links react differently in terms of throughput, jitter and MTU.
- Latency sensitivity: Directory and auth flows (e.g. LDAP/Kerberos), database accesses or terminal services are significantly more sensitive than asynchronous integrations.
- Security model: Network-based trust (classic) vs. Zero-Trust (access based on identity/policy). Even if Zero-Trust often operates at the application/identity layer, it affects segmentation, logging and the „blast radius“ in the network.
- Routing complexity: One subnet into the cloud or many networks, multiple sites, partners, multiple clouds? This determines whether you can still work cleanly with static routes or need BGP.
- Change frequency: How often do networks, workloads, regions change? Frequent changes argue for clearly standardized patterns (e.g. hub-and-spoke, central transit) and clean automation.
When these points are defined, the technology choice becomes much simpler – and you avoid the classic: a „quick VPN solution“ that later comes under pressure because of routing, segmentation and operations.
VPN vs Direct Connect/ExpressRoute: basic principles and typical characteristics
Site-to-Site VPN typically means IPsec (Internet Protocol Security, encryption and authentication at the network layer) over the public Internet. The connection is usually established in two phases: IKE (Internet Key Exchange, negotiation of the security associations) and then the actual ESP data channel (Encapsulating Security Payload). Optionally NAT-T (NAT Traversal) is used when NAT is in the path and IPsec therefore has to be encapsulated in UDP.
Direct Connect (AWS) and ExpressRoute (Azure) are dedicated, private connections via provider/carrier. They also use routing (often BGP, Border Gateway Protocol – dynamic routing between autonomous systems), but they do not run over the public Internet. Important: “private” does not automatically mean “encrypted.” Many designs still rely on additional encryption for sensitive data (e.g. IPsec over the private circuit or TLS at the application layer).
What are the day-to-day advantages of a Site-to-Site VPN?
- Fast availability: Often implementable in hours to days, without provider provisioning.
- Low initial barrier: Suitable for initial hybrid scenarios, pilots, temporary migrations.
- Flexible for multiple sites: Especially if you already operate Internet uplinks and an edge gateway.
Typical limitations: variable latency/jitter, dependence on Internet quality, MTU pitfalls, and performance limits on the VPN gateways. Operation can also become complex when many networks and policy exceptions accumulate.
What are the day-to-day advantages of Direct Connect/ExpressRoute?
- More stable latency and often more predictable throughput, because the path is not on an „Internet best-effort“ basis.
- Scalability for many networks/sites, particularly if you use BGP properly.
- Operational integration: Providers often deliver clearer SLAs and more measurable circuit states.
Typical limitations: lead times (provisioning, cross-connects), cost and increased dependencies (provider, Meet-Me-Room, port capacities). The architectural decision is also more critical: a poorly built hub can quickly become a Single Point of Failure.
Architecture patterns: Hub-and-Spoke, Transit and Segmentation
Regardless of the transport (VPN or dedicated circuit), the network architecture determines whether you operate securely and stably in the long term. Three patterns are common in enterprise day-to-day operations:
1) Point-to-Point (direct) – only for small scopes
A site connects directly to a VPC/VNET. That is fast, but scales poorly: each new VPC/VNET and each new subnet increases the number of tunnels, routes and firewall rules. The risk of asymmetry (different forward and return paths) rises.
2) Hub-and-Spoke – central control
You build a hub (e.g. a central network VPC/VNET) and attach spokes (workload VPCs/VNETs) to it. Central services reside in the hub: firewalling, NAT, DNS resolvers, proxies, logging, and where applicable bastion/jump hosts. This supports segmentation (separation of zones) and simplifies audits because “control points” are clearer.
3) Transit/Virtual WAN – routing as a platform
In AWS this is often a Transit Gateway (central router/transit for many VPCs and on‑prem connections). In Azure a common counterpart is Virtual WAN (WAN orchestration, central connectivity via hubs). Advantage: dynamic routing, standardized attachments, better scalability. Disadvantage: you must design routing and security policies deliberately so that everything does not suddenly speak to everything.
Best practice for secure designs: segmentation before connectivity. Define zones (e.g. Management, Shared Services, Production, Partner, Dev/Test) and decide which flows are allowed. Then build the paths (VPN/Direct Connect/ExpressRoute) so that the segmentation is technically enforced (Security Groups/NSGs, firewall policies, route tables).
Cleaning up routing: BGP, static routes and Route Propagation
Many incidents look like „VPN broken“ but are actually routing or policy issues. Two terms should appear in every runbook:
- Static routes: statically configured next hops. Simple, but error‑prone when changes occur and with redundancy (failover must be actively planned).
- BGP: dynamic routing in which prefixes (networks) are exchanged. BGP models failover and growth far better, but requires discipline (prefix lists, filters, metrics/Local Preference, community strategies).
In cloud setups a third factor is added: Route Propagation (route distribution). Depending on the platform, routes can be automatically adopted into route tables or not. A typical pitfall: the tunnel is up, BGP is „up“, but the subnet has no route to the target because the route table is not propagated or not associated.
Typical routing pitfalls (and why they occur)
- Overlapping IP address spaces: when on‑prem and cloud use the same RFC1918 networks (e.g. 10.0.0.0/8 uncoordinated), routing becomes unreliable. This is not a „cloud problem“ but an address management issue. Solution: clean up the IP plan, or if necessary apply a NAT strategy with clear logging rules.
- Asymmetric routing: outbound via VPN, return via Internet/NAT or over a different link. Many firewalls/VPN gateways are stateful and drop return packets if the flow does not return over the same path.
- Default route into the tunnel without planning: a „0.0.0.0/0 into the VPN“ can completely change central internet breakouts and cloud egress. That leads to outages, not just to „more security“.
- Too large prefixes or too many routes: platform limits (max routes in route tables, max prefixes per BGP session) are often noticed late. Result: partial routing, „some networks work, some don’t“.
Security best practices: encryption, policy, logging and key management
„Secure networking“ in operation means: confidentiality, integrity, auditability and controlled propagation. For VPNs and dedicated lines similar fields of action arise:
Encryption: what is mandatory, what is advisable?
With IPsec VPN, encryption is an integral component. It is important to choose parameters that fit your environment (e.g. IKEv2 instead of IKEv1, strong cipher suites) and to ensure compatibility with cloud gateways. For Direct Connect/ExpressRoute the transport is private, but not automatically end-to-end encrypted. For many companies it is therefore common to additionally use TLS (Transport Layer Security, application-layer encryption) or even IPsec over private link — especially for administrative protocols and sensitive data flows.
Policy: Implementing ‚Least Privilege‘ in the network
Network least-privilege means: only the ports/protocols that are actually required, only between the required subnets/workloads. In the cloud several layers interact: Security Groups/NSGs (workload-proximal), central firewalls (e.g. in the hub) and routing (what is reachable at all). A proven approach:
- First define flows as a communication matrix (source, destination, port, purpose, owner).
- Then enforce segmentation via subnets and route tables.
- Only after that implement rules in Security Groups/NSGs and firewalls.
This avoids the „firewall as a band-aid“ pattern, where too many exceptions accumulate.
Logging and traceability: No operation without data
Plan from the beginning where you will view connection states and flow logs: VPN status (IKE/ESP), BGP status, drops at firewalls, flow logs in VPC/VNET as well as central Syslog/SIEM integration. Typically helpful are correlatable IDs (tunnel ID, peer IP, BGP neighbor, subnet/ENI/NIC) and time synchronization (NTP), so events line up across systems.
Practice: Properly setting up VPN operations (Checklist)
For the VPN category the priorities are: stability under disruptions, clear test sequences and proper redundancy. The following checklist is deliberately operationally focused.
Preparation
- Validate IP plan: no overlaps; if unavoidable, include NAT design with monitoring and documentation.
- MTU strategy: IPsec reduces the effective MTU (overhead). Plan MSS clamping or an appropriate tunnel MTU (depending on platform). Without this you will encounter „strange“ issues with certain protocols.
- Redundancy: at least two tunnels (or two providers/edges). Define what „Active/Active“ vs. „Active/Standby“ means, and how failover is measured.
- IKEv2 and crypto profiles: choose compatible, modern parameters. Verify lifetimes (rekey) and DPD (Dead Peer Detection, peer reachability).
- Define routing: static (small) or BGP (scaling). For BGP: define prefix filters and max-prefix protection.
Implementation: Minimal commissioning test steps
When the tunnel „stalls“, that’s only the beginning. Check in this order:
- IKE/ESP status: Is there an active Security Association? Are there rekey errors?
- Routes: Is the destination network reachable and does the route actually point to the tunnel/transit?
- Security/Firewall: Are the flows permitted or dropped?
- Path MTU: Do larger packets work? If not, do you see fragmentation/drops?
- DNS: Often „network is down“ is actually a DNS/split-DNS issue.
Quick-Checks vom Linux-Host (Cloud oder On-Prem)
The following commands help classify symptoms. They do not replace gateway debugging, but are quickly available during an incident.
# Routing zum Ziel prüfen
ip route get 10.20.30.40
# Pfad-MTU testen (Don't Fragment). Schrittweise Payload erhöhen.
# Achtung: je nach Umgebung ist ICMP gefiltert; dann ist das Ergebnis begrenzt.
ping -M do -s 1372 -c 3 10.20.30.40
ping -M do -s 1400 -c 3 10.20.30.40
# Traceroute mit TCP (falls ICMP blockiert ist) auf einen Zielport
traceroute -T -p 443 10.20.30.40
# Pakete mitschneiden (Interface anpassen), um SYN/SYN-ACK bzw. ICMP-Frag-needed zu sehen
sudo tcpdump -ni any host 10.20.30.40Why this helps: If ip route get does not show the expected next hop, don’t look in the VPN. If ping -M do fails beyond a certain size, MTU/MSS is a realistic candidate. And tcpdump quickly shows whether packets leave the system, whether replies come back, or whether ICMP error messages occur.
Troubleshooting: common failure patterns and targeted countermeasures
In operation, it’s worth its weight in gold to recognize failure patterns. Here are the typical patterns in hybrid connectivity.
Failure pattern 1: Tunnel is „UP“ but no traffic passes through
- Causes: missing route table association, route propagation off, Security Group/NSG blocked, on-prem firewall blocking the return path, incorrect selector/traffic-selectors (for policy-based VPN), asymmetry.
- Check: route to the destination (cloud and on-prem), allowed ports, flow logs/drops, return path (reverse path).
- Fix: correct routes, enable propagation (or configure statically on purpose), tighten policy definitions, review stateful firewall rules.
Failure pattern 2: „Some applications work, some hang“
- Causes: MTU/MSS issues, PMTUD (Path MTU Discovery) failing, fragmentation being dropped, UDP-heavy protocols sensitive to jitter.
- Check: PMTU tests, tcpdump for ICMP „fragmentation needed“, comparison of small vs. large payloads.
- Fix: MSS clamping on edge/firewall, adjust tunnel MTU, ensure ICMP handling is implemented correctly (do not block blindly).
Failure pattern 3: Connection drops every X minutes
- Causes: Rekey parameters incompatible, DPD/Keepalive too aggressive, provider NAT timeout, load spikes on the gateway.
- Check: Gateway logs (IKE rekey), session timeouts, CPU/throughput on the VPN device, packet loss.
- Fix: Harmonize rekey intervals, stabilize NAT-T, distribute load (more tunnels/more gateways), evaluate a dedicated circuit if necessary.
Issue 4: BGP is up, but routes are missing or „flapping“
- Causes: Prefix filters too strict/too permissive, max-prefix limit triggered, unstable underlay connection, incorrect timers, unclear preferences with multiple paths.
- Check: advertised/received routes, logs for max-prefix events, stability of the underlay connection, consistency of communities/LocalPref.
- Fix: Correct filters, set limits deliberately, stabilize the underlay, document and standardize the routing policy.
Using dedicated connections correctly: Direct Connect/ExpressRoute in practice
Dedicated connections solve many „internet“ problems but introduce new operational tasks. Three points are frequently underestimated in projects:
1) Redundancy is not a „nice to have“
A single port or a single provider circuit is an operational risk. Plan at least two independent paths (ideally different PoPs/Meet-Me-Rooms and providers). Define failover criteria: link down, BGP down, packet loss/latency thresholds. And test failover not only at Go-Live but regularly within maintenance windows.
2) A private circuit does not replace security controls
„Private“ connectivity reduces the attack surface (no open Internet as transport), but your internal risk remains: misconfigurations, lateral movement, accidental exposure. Segmentation, logging and access control remain mandatory. For administrative access it is often better to use a bastion/jump host and strong identity (MFA, Conditional Access) than „RDP/SSH everywhere“.
3) Routing discipline determines stability
With ExpressRoute/Direct Connect the number of prefixes often grows quickly. Without clear filter lists and ownership (who is allowed to announce which networks?) you gradually enter a state where a change at one site has unpredictable effects. Best practice: document prefix ownership, process changes through the change procedure, and set max-prefix limits so that misconfigurations do not disrupt the entire routing.
Migration and fallback strategy: plan so you can sleep at night
A clean fallback strategy is not an additional document but part of the design. For hybrid connectivity the following principles have proven effective:
Parallel operation instead of Big Bang
Where possible, build VPN and dedicated connectivity in parallel. Use routing priorities (e.g. BGP pref, metrics) to switch stepwise. Advantage: you can measure under real load (latency, drops, error rates) and roll back quickly if problems occur.
Explicit cutover steps with checkpoints
Define a checklist for the cutover: reachability of central services (DNS, identity, monitoring), critical business workflows, backup window, admin access. An important stop criterion: which symptom causes you to abort and roll back?
Rollback not only „possible“, but practiced
Rollback often fails because someone under stress makes „quick“ changes to routes and policies and in the end nobody knows what the last stable state was. Practical measures that help:
- Version configurations (including for network devices/cloud-routing objects).
- Make changes in small, roll-backable units.
- Record before/after metrics (latency, packet loss, flow counts, error rates).
Runbook: Operational standard for secure hybrid connectivity
A good runbook prevents every incident from starting from scratch. These contents have proven effective for admin teams:
1) Standardized health checks
- Tunnel status (IKE/ESP), rekey events, DPD status
- BGP neighbor up/down, number of routes received/advertised
- Gateway CPU/throughput, drops/errors
- Flow logs/firewall drops for defined test flows
2) Defined test flows (synthetic)
Select one to two endpoints and ports per zone to check regularly (e.g., HTTPS on the monitoring endpoint, DNS to the resolver, SSH to the bastion). This way you detect routing/policy errors early, before user tickets arrive.
3) Clear escalation points
Who is the owner for: IP plan, cloud routing, on-prem firewall, provider circuit, DNS? Without this assignment, every incident becomes an organizational issue.
Conclusion: Which option fits when?
VPN is the right choice for day-to-day use when you need to get started quickly, the scope is manageable, and you have the typical pitfalls (routing, MTU, rekey, redundancy) under control. Direct Connect/ExpressRoute is worthwhile when stability and scaling are the priority, when many networks/sites are being connected, or when workloads are sensitive to Internet fluctuations. In both cases the deciding factor is not the product label but your architecture: segmentation, routing discipline, monitoring and a practiced fallback plan.
If you are planning your hybrid connection or need to stabilize an existing setup, the next step usually isn’t ‚more bandwidth‘ but a clean communication matrix, a clear transit/hub design, and a runbook with measurable checks.