VPC 网络基础概览

Amazon Virtual Private Cloud (VPC) 让你在 AWS 云中定义逻辑隔离的网络环境。

什么是 VPC

VPC 的作用

虚拟私有云:

VPC 是你在 AWS 云中的私有网络空间:
├─ 完全隔离的网络环境
├─ 自定义 IP 地址范围
├─ 创建子网
├─ 配置路由表
├─ 设置网关
└─ 控制安全策略

核心组件

VPC 主要组成部分:

1. CIDR 块(IP 地址范围)
   └─ 定义 VPC 可用的 IP 地址空间

2. 子网(Subnets)
   ├─ 公有子网:可访问 Internet
   └─ 私有子网:隔离的内部网络

3. 路由表(Route Tables)
   └─ 控制网络流量的路由规则

4. Internet Gateway (IGW)
   └─ VPC 访问 Internet 的网关

5. NAT Gateway
   └─ 私有子网访问 Internet 的出口

6. 安全组 & 网络 ACL
   └─ 实例级和子网级的防火墙

典型架构

┌─────────────────────────────────────────────────────┐
│                   VPC (10.0.0.0/16)                 │
│                                                     │
│  ┌──────────────────┐     ┌──────────────────┐    │
│  │ Public Subnet    │     │ Private Subnet   │    │
│  │ 10.0.1.0/24     │     │ 10.0.11.0/24    │    │
│  │                  │     │                  │    │
│  │ ┌─────────┐     │     │ ┌─────────┐     │    │
│  │ │   Web   │     │     │ │   App   │     │    │
│  │ └─────────┘     │     │ └─────────┘     │    │
│  │      ↕          │     │      ↕          │    │
│  │ NAT Gateway     │     │   Database      │    │
│  └─────────┬────────┘     └─────────┬────────┘    │
│            │                        │             │
│      ┌─────▼────────────────────────▼──────┐     │
│      │        Internet Gateway             │     │
│      └─────────────────────────────────────┘     │
└─────────────────────────────────────────────────────┘
                         │
                    Internet

学习路径

本 VPC 教程已拆分为以下子章节,建议按顺序学习:

1. VPC 核心概念

深入理解 VPC 的基础知识:
├─ VPC 的本质和作用
├─ CIDR 块规划
├─ 子网类型和规划
├─ 路由表工作原理
├─ Internet Gateway 和 NAT Gateway
├─ 弹性 IP 地址
└─ VPC 架构模式(单层、双层、多层高可用)

学习重点:
✓ CIDR 地址规划技巧
✓ 公有子网 vs 私有子网
✓ AWS 保留的 IP 地址
✓ 高可用架构设计

2. 子网和路由设计

掌握子网划分和路由配置:
├─ 子网规划策略
├─ 子网大小选择
├─ 路由表类型和配置
├─ 多 NAT Gateway 高可用
├─ 路由优先级和评估
├─ Transit Gateway 集中路由
└─ IPv6 双栈支持

学习重点:
✓ 多可用区子网规划
✓ 路由表最长前缀匹配
✓ NAT Gateway 成本优化
✓ 高级路由场景

3. VPC 安全控制

学习 VPC 的安全机制:
├─ 安全组(Security Groups)
│   ├─ 有状态防火墙特性
│   ├─ 规则配置
│   ├─ 引用其他安全组
│   └─ 三层架构安全设计
├─ 网络 ACL (NACLs)
│   ├─ 无状态防火墙特性
│   ├─ 规则评估顺序
│   ├─ 临时端口配置
│   └─ 阻止恶意 IP
└─ VPC Flow Logs
    ├─ 流量日志记录
    └─ 安全审计和分析

学习重点:
✓ 安全组 vs NACL 对比
✓ 纵深防御架构
✓ 跳板机访问模式
✓ 流量监控和威胁检测

4. VPC 连接方案

学习 VPC 的各种连接方式:
├─ VPC Peering
│   ├─ 点对点连接
│   ├─ 跨区域/跨账户
│   └─ 非传递性特点
├─ Transit Gateway
│   ├─ 中心化网络架构
│   ├─ 大规模 VPC 互联
│   └─ 网络隔离配置
├─ Site-to-Site VPN
│   ├─ 本地到 AWS 加密连接
│   ├─ IPsec 隧道
│   └─ BGP 动态路由
├─ AWS Direct Connect
│   ├─ 专用网络连接
│   ├─ 更低延迟和成本
│   └─ Direct Connect Gateway
└─ VPC Endpoints
    ├─ Gateway Endpoints(S3/DynamoDB)
    ├─ Interface Endpoints(其他服务)
    └─ PrivateLink 技术

学习重点:
✓ VPC Peering vs Transit Gateway
✓ VPN vs Direct Connect 对比
✓ 高可用连接架构
✓ 成本优化策略

VPC 设计最佳实践

规划阶段

CIDR 规划:

1. 选择合适的 CIDR 大小
   ├─ /16:65,536 IP(推荐用于大型 VPC)
   ├─ /20:4,096 IP(中型 VPC)
   └─ /24:256 IP(小型 VPC)

2. 避免地址冲突
   ├─ 不与本地网络重叠
   ├─ 不与其他 VPC 重叠
   └─ 考虑 VPC Peering 需求

3. 预留扩展空间
   ├─ 不要用完所有 CIDR
   └─ 为未来服务预留子网

子网设计:

1. 多可用区部署
   ├─ 至少使用 2-3 个 AZ
   ├─ 每个 AZ 有公有和私有子网
   └─ 确保高可用性

2. 按用途分层
   ├─ 公有子网:Web、负载均衡器
   ├─ 私有子网:应用服务器
   └─ 数据子网:数据库、缓存

3. 统一子网大小
   ├─ 每个 AZ 使用相同大小
   └─ 简化管理和扩展

安全策略

分层防护:

1. 网络层(NACL)
   ├─ 子网级别的防护
   ├─ 阻止已知恶意 IP
   └─ 合规要求的网络控制

2. 实例层(安全组)
   ├─ 最小权限原则
   ├─ 使用安全组引用
   └─ 按层次划分(Web/App/DB)

3. 主机层
   ├─ 操作系统防火墙
   ├─ 入侵检测系统
   └─ 安全补丁管理

访问控制:

1. 管理访问
   ├─ 使用跳板机(Bastion Host)
   ├─ 或使用 SSM Session Manager
   └─ 限制 SSH/RDP 来源 IP

2. 服务访问
   ├─ 使用 VPC Endpoints 访问 AWS 服务
   ├─ 避免通过 NAT Gateway
   └─ 降低成本和延迟

3. 跨 VPC 访问
   ├─ VPC Peering 或 Transit Gateway
   ├─ 明确的路由规则
   └─ 安全组跨 VPC 引用

成本优化

降低网络成本:

1. VPC Endpoints
   ├─ S3/DynamoDB:使用免费的 Gateway Endpoints
   ├─ 其他服务:评估 Interface Endpoints 的必要性
   └─ 避免 NAT 数据处理费用

2. NAT Gateway 优化
   ├─ 开发环境:单个 NAT 或 NAT Instance
   ├─ 生产环境:每个 AZ 一个 NAT
   └─ 定期审查流量模式

3. 数据传输优化
   ├─ 同区域数据传输免费
   ├─ 跨区域使用 VPC Peering
   ├─ 批量处理减少传输次数
   └─ 使用 CloudFront 缓存

快速参考

常用 CIDR 计算:

/16 = 65,536 IP
/20 = 4,096 IP
/24 = 256 IP
/28 = 16 IP

AWS 保留:每个子网 5 个 IP
├─ .0:网络地址
├─ .1:VPC 路由器
├─ .2:DNS 服务器
├─ .3:预留(未来使用)
└─ .255:广播地址

端口范围参考:

临时端口(Ephemeral Ports):
├─ Linux:32768-60999
├─ Windows Server 2003:1025-5000
├─ Windows Server 2008+:49152-65535
└─ NAT Gateway:1024-65535

成本参考(us-east-1):

NAT Gateway:
├─ 小时费:$0.045/小时 = $32.4/月
└─ 数据处理:$0.045/GB

VPC Peering:
├─ 同区域:免费(仅数据传输费)
└─ 跨区域:$0.01-0.02/GB

Transit Gateway:
├─ TGW:$0.05/小时 = $36/月
├─ Attachment:$0.05/小时 = $36/月
└─ 数据处理:$0.02/GB

Site-to-Site VPN:
├─ VPN 连接:$0.05/小时 = $36/月
└─ 数据传输:标准费率

Direct Connect:
├─ 端口费:$0.30/小时 = $216/月(1Gbps)
└─ 数据传输:$0.02/GB

故障排查

常见问题:

1. 无法访问 Internet
   ✓ 检查 Internet Gateway 是否附加
   ✓ 检查路由表是否有 0.0.0.0/0 → igw
   ✓ 检查安全组出站规则
   ✓ 检查 NACL 规则

2. 私有子网无法访问 Internet
   ✓ 检查 NAT Gateway 状态
   ✓ 检查路由表 0.0.0.0/0 → nat
   ✓ NAT 必须在公有子网
   ✓ NAT 需要弹性 IP

3. VPC Peering 无法通信
   ✓ 检查两端路由表
   ✓ 检查安全组规则
   ✓ 检查 NACL 规则
   ✓ CIDR 不能重叠

4. 无法解析域名
   ✓ 启用 DNS resolution
   ✓ 启用 DNS hostnames
   ✓ 检查 DHCP 选项集

相关资源

官方文档:

工具和服务:

VPC 是 AWS 网络的基础,正确的规划和配置至关重要!


准备好了吗? 点击上方的子章节链接,开始深入学习 VPC 的各个方面!