name: hybrid-cloud-networking description: 配置企业内部基础设施与云平台之间的安全、高性能连接,使用VPN和专线。适用于构建混合云架构、连接数据中心到云,或实现安全的跨场所网络。
混合云网络
配置企业内部与云环境之间的安全、高性能连接,使用VPN、Direct Connect和ExpressRoute。
目的
在企业内部数据中心与云提供商(AWS、Azure、GCP)之间建立安全、可靠的网络连接。
使用时机
- 连接企业内部到云
- 扩展数据中心到云
- 实施混合主动-主动设置
- 满足合规要求
- 逐步迁移到云
连接选项
AWS 连接性
1. 站点到站点 VPN
- 通过互联网的IPSec VPN
- 每个隧道高达1.25 Gbps
- 成本效益适合中等带宽
- 更高延迟,依赖互联网
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
- 专用网络连接
- 1 Gbps 到 100 Gbps
- 低延迟,稳定带宽
- 更昂贵,需要设置时间
参考: 参见 references/direct-connect.md
Azure 连接性
1. 站点到站点 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
- 通过连接提供商的私有连接
- 高达100 Gbps
- 低延迟,高可靠性
- 全球连接需额外费用
GCP 连接性
1. Cloud VPN
- IPSec VPN(经典或高可用VPN)
- 高可用VPN:99.99% SLA
- 每个隧道高达3 Gbps
2. Cloud Interconnect
- 专用(10 Gbps,100 Gbps)
- 合作伙伴(50 Mbps 到 50 Gbps)
- 比VPN延迟更低
混合网络模式
模式1:中心-辐射
企业内部数据中心
↓
VPN/Direct Connect
↓
传输网关(AWS)/ vWAN(Azure)
↓
├─ 生产 VPC/VNet
├─ 暂存 VPC/VNet
└─ 开发 VPC/VNet
模式2:多区域混合
企业内部
├─ Direct Connect → us-east-1
└─ Direct Connect → us-west-2
↓
跨区域对等
模式3:多云混合
企业内部数据中心
├─ Direct Connect → AWS
├─ ExpressRoute → Azure
└─ Interconnect → GCP
路由配置
BGP 配置
企业内部路由器:
- AS 编号:65000
- 广告:10.0.0.0/8
云路由器:
- AS 编号:64512(AWS),65515(Azure)
- 广告:云 VPC/VNet CIDR
路由传播
- 在路由表上启用路由传播
- 使用BGP进行动态路由
- 实施路由过滤
- 监控路由广告
安全最佳实践
- 使用私有连接(Direct Connect/ExpressRoute)
- 实施加密为VPN隧道
- 使用VPC端点避免互联网路由
- 配置网络ACL和安全组
- 启用VPC流日志进行监控
- 实施DDoS保护
- 使用PrivateLink/私有端点
- 监控连接使用CloudWatch/Monitor
- 实施冗余(双隧道)
- 定期安全审计
高可用性
双VPN隧道
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"
}
主动-主动配置
- 从不同位置的多个连接
- BGP用于自动故障转移
- 等价多路径(ECMP)路由
- 监控所有连接的健康
监控和故障排除
关键指标
- 隧道状态(上/下)
- 输入/输出字节
- 数据包丢失
- 延迟
- BGP会话状态
故障排除
# 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
成本优化
- 根据流量适当调整连接大小
- 对低带宽工作负载使用VPN
- 通过较少连接合并流量
- 最小化数据传输成本
- 对高带宽使用Direct Connect
- 实施缓存以减少流量
参考文件
references/vpn-setup.md- VPN配置指南references/direct-connect.md- Direct Connect设置
相关技能
multi-cloud-architecture- 用于架构决策terraform-module-library- 用于基础设施即代码实施