Skip to content
Marketplace

hybrid-cloud-networking

by wshobson

Configure secure, high-performance connectivity between on-premises infrastructure and cloud platforms using VPN and dedicated connections. Use when building hybrid cloud architectures, connecting data centers to cloud, or implementing secure cross-premises networking.

Overview

SKILL.mdRead at 46891e7

Hybrid Cloud Networking

Configure secure, high-performance connectivity between on-premises and cloud environments using VPN, Direct Connect, ExpressRoute, Interconnect, and FastConnect.

Purpose

Establish secure, reliable network connectivity between on-premises data centers and cloud providers (AWS, Azure, GCP, OCI).

When to Use

  • Connect on-premises to cloud
  • Extend datacenter to cloud
  • Implement hybrid active-active setups
  • Meet compliance requirements
  • Migrate to cloud gradually

Connection Options

AWS Connectivity
1. Site-to-Site VPN
  • IPSec VPN over internet
  • Up to 1.25 Gbps per tunnel
  • Cost-effective for moderate bandwidth
  • Higher latency, internet-dependent
resource "aws_vpn_gateway" "main" {
  vpc_id = aws_vpc.main.id
  tags = {
    Name = "main-vpn-gateway"
  }
}

resource "aws_customer_gateway" "main" {
  bgp_asn    = 65000
  ip_address = "203.0.113.1"
  type       = "ipsec.1"
}

resource "aws_vpn_connection" "main" {
  vpn_gateway_id      = aws_vpn_gateway.main.id
  customer_gateway_id = aws_customer_gateway.main.id
  type                = "ipsec.1"
  static_routes_only  = false
}
2. AWS Direct Connect
  • Dedicated network connection
  • 1 Gbps to 100 Gbps
  • Lower latency, consistent bandwidth
  • More expensive, setup time required

Reference: See references/direct-connect.md

Azure Connectivity
1. Site-to-Site VPN
resource "azurerm_virtual_network_gateway" "vpn" {
  name                = "vpn-gateway"
  location            = azurerm_resource_group.main.location
  resource_group_name = azurerm_resource_group.main.name

  type     = "Vpn"
  vpn_type = "RouteBased"
  sku      = "VpnGw1"

  ip_configuration {
    name                          = "vnetGatewayConfig"
    public_ip_address_id          = azurerm_public_ip.vpn.id
    private_ip_address_allocation = "Dynamic"
    subnet_id                     = azurerm_subnet.gateway.id
  }
}
2. Azure ExpressRoute
  • Private connection via connectivity provider
  • Up to 100 Gbps
  • Low latency, high reliability
  • Premium for global connectivity
GCP Connectivity
1. Cloud VPN
  • IPSec VPN (Classic or HA VPN)
  • HA VPN: 99.99% SLA
  • Up to 3 Gbps per tunnel
2. Cloud Interconnect
  • Dedicated (10 Gbps, 100 Gbps)
  • Partner (50 Mbps to 50 Gbps)
  • Lower latency than VPN
OCI Connectivity
1. IPSec VPN Connect
  • IPSec VPN with redundant tunnels
  • Dynamic routing through DRG
  • Good fit for branch offices and migration phases
2. OCI FastConnect
  • Private dedicated connectivity through Oracle or partner edge
  • Suitable for predictable throughput and lower-latency hybrid traffic
  • Commonly paired with DRG for hub-and-spoke designs

Hybrid Network Patterns

Pattern 1: Hub-and-Spoke
On-Premises Datacenter
         ↓
    VPN/Direct Connect
         ↓
    Transit Gateway (AWS) / vWAN (Azure)
         ↓
    ├─ Production VPC/VNet
    ├─ Staging VPC/VNet
    └─ Development VPC/VNet
Pattern 2: Multi-Region Hybrid
On-Premises
    ├─ Direct Connect → us-east-1
    └─ Direct Connect → us-west-2
            ↓
        Cross-Region Peering
Pattern 3: Multi-Cloud Hybrid
On-Premises Datacenter
    ├─ Direct Connect → AWS
    ├─ ExpressRoute → Azure
    ├─ Interconnect → GCP
    └─ FastConnect → OCI

Routing Configuration

BGP Configuration
On-Premises Router:
- AS Number: 65000
- Advertise: 10.0.0.0/8

Cloud Router:
- AS Number: 64512 (AWS), 65515 (Azure), provider-assigned for GCP/OCI
- Advertise: Cloud VPC/VNet CIDRs
Route Propagation
  • Enable route propagation on route tables
  • Use BGP for dynamic routing
  • Implement route filtering
  • Monitor route advertisements

Security Best Practices

  1. Use private connectivity (Direct Connect/ExpressRoute/Interconnect/FastConnect)
  2. Implement encryption for VPN tunnels
  3. Use VPC endpoints to avoid internet routing
  4. Configure network ACLs and security groups
  5. Enable VPC Flow Logs for monitoring
  6. Implement DDoS protection
  7. Use PrivateLink/Private Endpoints
  8. Monitor connections with CloudWatch/Azure Monitor/Cloud Monitoring/OCI Monitoring
  9. Implement redundancy (dual tunnels)
  10. Regular security audits

High Availability

Dual VPN Tunnels
resource "aws_vpn_connection" "primary" {
  vpn_gateway_id      = aws_vpn_gateway.main.id
  customer_gateway_id = aws_customer_gateway.primary.id
  type                = "ipsec.1"
}

resource "aws_vpn_connection" "secondary" {
  vpn_gateway_id      = aws_vpn_gateway.main.id
  customer_gateway_id = aws_customer_gateway.secondary.id
  type                = "ipsec.1"
}
Active-Active Configuration
  • Multiple connections from different locations
  • BGP for automatic failover
  • Equal-cost multi-path (ECMP) routing
  • Monitor health of all connections

Monitoring and Troubleshooting

Key Metrics
  • Tunnel status (up/down)
  • Bytes in/out
  • Packet loss
  • Latency
  • BGP session status
Troubleshooting
# AWS VPN
aws ec2 describe-vpn-connections
aws ec2 get-vpn-connection-telemetry

# Azure VPN
az network vpn-connection show
az network vpn-connection show-device-config-script

# OCI IPSec VPN
oci network ip-sec-connection list
oci network cpe list

Cost Optimization

  1. Right-size connections based on traffic
  2. Use VPN for low-bandwidth workloads
  3. Consolidate traffic through fewer connections
  4. Minimize data transfer costs
  5. Use dedicated private links for high bandwidth
  6. Implement caching to reduce traffic

Related Skills

  • multi-cloud-architecture - For architecture decisions
  • terraform-module-library - For IaC implementation

Files 2 files

Install it by hand

Deska runs this for you, for every agent you pick. To run it yourself in a terminal:

npx skills add wshobson/agents --skill hybrid-cloud-networking

More from wshobson

  • typescript-advanced-typeswshobsonMaster TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications. Use when implementing complex type logic, creating reusable type utilities, or ensuring compile-time type safety in TypeScript projects.84.3K installs on skills.sh0
  • tailwind-design-systemwshobsonBuild scalable design systems with Tailwind CSS v4, design tokens, component libraries, and responsive patterns. Use when creating component libraries, implementing design systems, or standardizing UI patterns.67.3K installs on skills.sh0
  • nodejs-backend-patternswshobsonBuild production-ready Node.js backend services with Express/Fastify, implementing middleware patterns, error handling, authentication, database integration, and API design best practices. Use when creating Node.js servers, REST APIs, GraphQL backends, or microservices architectures.47.1K installs on skills.sh0
  • brand-landingpagewshobsonBrand-first landing page designer — runs a brand-identity interview (colors, typography, shape language), then generates and iterates on a polished landing page via Stitch with deployment-ready HTML. Use when the user asks to create, design, or build a landing page, homepage, or marketing page and has no established visual direction. Skip when they have a design mockup, need a dashboard or app UI, are working at component level, building a multi-page app, or restyling with known design tokens — use frontend-design instead.39K installs on skills.sh0
  • nextjs-app-router-patternswshobsonMaster Next.js 14+ App Router with Server Components, streaming, parallel routes, and advanced data fetching. Use when building Next.js applications, implementing SSR/SSG, or optimizing React Server Components.31.4K installs on skills.sh0
All skills by wshobson