AWS Direct Connect offers a dedicated, private connection to AWS, bypassing the public internet, while VPNs use encrypted tunnels over the public internet.

Let’s see Direct Connect in action. Imagine you’re migrating a large dataset or running latency-sensitive workloads like financial trading platforms on AWS. You’ve provisioned a 1 Gbps Direct Connect connection.

# Example of traffic flowing over Direct Connect (conceptual - actual monitoring is via AWS console/CloudWatch)
# You wouldn't run this command directly, but this is what's happening under the hood.
# Imagine this is a network flow from your on-prem server to an EC2 instance in AWS.

# On-prem router/firewall logs showing traffic routed via the Direct Connect interface
# This would not show up as internet traffic, but as traffic destined for AWS VPC CIDR blocks.

# AWS CloudWatch metrics for Direct Connect:
# - BytesInPerSecond: 980,000,000 (close to 1 Gbps)
# - BytesOutPerSecond: 950,000,000
# - PacketsInPerSecond: 1,500,000
# - PacketsOutPerSecond: 1,400,000

# Latency to an EC2 instance in the same region:
ping -c 10 ec2-xx-xx-xx-xx.compute-1.amazonaws.com
# PING ec2-xx-xx-xx-xx.compute-1.amazonaws.com (x.x.x.x) 56(84) bytes of data.
# 64 bytes from ec2-xx-xx-xx-xx.compute-1.amazonaws.com (x.x.x.x): icmp_seq=1 ttl=228 time=4.50 ms
# 64 bytes from ec2-xx-xx-xx-xx.compute-1.amazonaws.com (x.x.x.x): icmp_seq=2 ttl=228 time=4.30 ms
# ...
# round-trip min/avg/max/mdev = 4.300/4.450/4.500/0.080 ms

Now, contrast this with a Site-to-Site VPN. You’ve configured a 500 Mbps VPN connection.

# On-prem firewall logs showing traffic encrypted and sent to AWS VPN endpoint IP.
# You'd see traffic on your public internet interface, then encrypted traffic to AWS.

# AWS CloudWatch metrics for VPN:
# - VPN Connection BytesIn: 450,000,000 (around 500 Mbps, accounting for encryption overhead)
# - VPN Connection BytesOut: 420,000,000
# - VPN Tunnel State: UP

# Latency to the same EC2 instance via VPN:
ping -c 10 ec2-xx-xx-xx-xx.compute-1.amazonaws.com
# PING ec2-xx-xx-xx-xx.compute-1.amazonaws.com (x.x.x.x) 56(84) bytes of data.
# 64 bytes from ec2-xx-xx-xx-xx.compute-1.amazonaws.com (x.x.x.x): icmp_seq=1 ttl=227 time=15.2 ms
# 64 bytes from ec2-xx-xx-xx-xx.compute-1.amazonaws.com (x.x.x.x): icmp_seq=2 ttl=227 time=14.8 ms
# ...
# round-trip min/avg/max/mdev = 14.800/15.100/15.200/0.150 ms

The core problem Direct Connect solves is variable network performance and potential security concerns inherent in using the public internet for business-critical connectivity. VPNs, while secure via encryption, are still subject to the congestion and unpredictable latency of the internet. Direct Connect provides a consistent, lower-latency path by establishing a physical, private link from your network to an AWS Direct Connect location. This bypasses the public internet entirely for traffic between your on-premises environment and your AWS Virtual Private Cloud (VPC).

The mental model for Direct Connect involves a physical leased line. You order a port (e.g., 1 Gbps or 10 Gbps) at an AWS Direct Connect location, which is essentially a colocation facility. You then arrange for a cross-connect from your equipment in that facility to the AWS equipment. This creates a Layer 2 connection, over which you establish BGP sessions to advertise your on-premises IP prefixes to AWS and vice-versa, creating virtual interfaces (VIFs) to your VPCs. It’s like having a private fiber optic cable directly into AWS’s network backbone.

For VPNs, the mental model is a secure, encrypted tunnel. Your on-premises router or firewall establishes an IPsec tunnel to an AWS VPN endpoint. All traffic destined for your VPC is encrypted, encapsulated, and sent over the public internet. On the AWS side, the VPN endpoint decrypts the traffic and forwards it to your VPC. This is inherently less predictable because it relies on the public internet’s routing and congestion.

The cost difference is significant. Direct Connect incurs port hour charges (e.g., $0.03/hour for 1 Gbps, $0.09/hour for 10 Gbps) and data transfer OUT charges (which are lower than over the internet, e.g., $0.02/GB for US East). Crucially, there are also often one-time or recurring costs for cross-connects and potentially port charges from your network provider to get to the Direct Connect location. VPNs have no port hour charges, but data transfer OUT charges are typically higher (e.g., $0.09/GB for US East), and you’re still paying for your existing internet bandwidth.

The key lever you control with Direct Connect is the port speed (1 Gbps, 10 Gbps) and the number of virtual interfaces (VIFs) you establish to different VPCs or AWS accounts. You can also choose between hosted connections (provided by partners) or dedicated connections. For VPNs, you control the tunnel configuration (encryption algorithms, pre-shared keys, Diffie-Hellman groups) and the bandwidth of your internet connection.

When you configure a Direct Connect connection, you’re not just enabling a faster pipe; you’re entering into a service level agreement (SLA) for availability and performance. The latency you experience with Direct Connect is generally much lower and more consistent than with VPNs because you’re not subject to the myriad of hops and potential bottlenecks on the public internet. This consistency is vital for applications that are sensitive to jitter and packet loss.

The most surprising thing about the cost of Direct Connect is that it’s not just the AWS port fee. You must factor in the cost of the cross-connect within the colocation facility (often a one-time fee of a few hundred to a couple thousand dollars, depending on the provider) and, more significantly, the recurring cost from your telecom provider to establish a physical circuit from your premises to that colocation facility. This circuit can easily cost thousands of dollars per month for a 1 Gbps or 10 Gbps line, making Direct Connect a substantial investment that’s only justifiable for high-bandwidth, consistent, or latency-sensitive workloads where the cost of internet-based VPNs becomes prohibitive or performance is unacceptable.

The next concept to explore is how to leverage multiple Direct Connect connections for high availability and increased throughput.

Want structured learning?

Take the full Aws course →