VPC高级配置 #

一、NAT网关 #

1.1 NAT网关概述 #

text
NAT网关特点:
├── 网络地址转换
├── 私有子网访问互联网
├── 高可用
│   └── 单可用区内冗余
│
├── 自动扩展
│   └── 最高45Gbps
│
├── 托管服务
│   └── AWS管理维护
│
└── 收费
    ├── 按小时计费
    └── 按数据传输量计费

1.2 创建NAT网关 #

bash
aws ec2 allocate-address --domain vpc

aws ec2 create-nat-gateway \
    --subnet-id subnet-12345678 \
    --allocation-id eipalloc-12345678 \
    --tag-specifications "ResourceType=natgateway,Tags=[{Key=Name,Value=MyNAT}]"

1.3 配置NAT网关路由 #

text
私有子网路由表:
┌──────────────────┬────────────────────┐
│ 目标             │ 目标               │
├──────────────────┼────────────────────┤
│ 10.0.0.0/16      │ local              │
│ 0.0.0.0/0        │ nat-xxxxxx         │
└──────────────────┴────────────────────┘

1.4 NAT网关架构 #

text
NAT网关架构:
┌─────────────────────────────────────────────────────────────┐
│                          VPC                                 │
│  ┌──────────────────┐         ┌──────────────────┐          │
│  │    公有子网       │         │    私有子网       │          │
│  │  ┌────────────┐  │         │  ┌────────────┐  │          │
│  │  │  NAT网关   │  │         │  │    EC2     │  │          │
│  │  │  (EIP)    │  │         │  │  (私有IP)  │  │          │
│  │  └────────────┘  │         │  └────────────┘  │          │
│  │        │         │         │         │        │          │
│  │        ▼         │         │         │        │          │
│  │  ┌────────────┐  │         │         │        │          │
│  │  │  IGW      │  │◄────────┼─────────┘        │          │
│  │  └────────────┘  │         │                  │          │
│  └──────────────────┘         └──────────────────┘          │
└─────────────────────────────────────────────────────────────┘

1.5 NAT网关 vs NAT实例 #

特性 NAT网关 NAT实例
管理 AWS管理 用户管理
可用性 高可用 需手动配置
性能 最高45Gbps 取决于实例
成本 按使用付费 实例费用
端口转发 不支持 支持

二、VPC对等连接 #

2.1 对等连接概述 #

text
VPC对等连接特点:
├── 两个VPC之间的网络连接
├── 可跨账户、跨区域
├── 无单点故障
├── 无带宽瓶颈
├── 使用私有IP通信
└── 不可传递

2.2 创建对等连接 #

bash
aws ec2 create-vpc-peering-connection \
    --vpc-id vpc-12345678 \
    --peer-vpc-id vpc-87654321 \
    --peer-region us-west-2 \
    --tag-specifications "ResourceType=vpc-peering-connection,Tags=[{Key=Name,Value=MyPeering}]"

2.3 接受对等连接 #

bash
aws ec2 accept-vpc-peering-connection \
    --vpc-peering-connection-id pcx-12345678

2.4 配置路由 #

text
VPC A路由表:
┌──────────────────┬────────────────────┐
│ 目标             │ 目标               │
├──────────────────┼────────────────────┤
│ 10.0.0.0/16      │ local              │
│ 172.16.0.0/16    │ pcx-xxxxxx         │
└──────────────────┴────────────────────┘

VPC B路由表:
┌──────────────────┬────────────────────┐
│ 目标             │ 目标               │
├──────────────────┼────────────────────┤
│ 172.16.0.0/16    │ local              │
│ 10.0.0.0/16      │ pcx-xxxxxx         │
└──────────────────┴────────────────────┘

2.5 对等连接限制 #

text
对等连接限制:
├── CIDR不能重叠
├── 不能传递
│   └── A-B, B-C 不等于 A-C
│
├── 边缘到边缘路由限制
│   └── 不能通过VPN/Direct Connect
│
└── 最大对等连接数
    └── 默认125个(可提升)

三、VPN连接 #

3.1 Site-to-Site VPN #

text
Site-to-Site VPN特点:
├── 连接本地数据中心到AWS
├── IPSec隧道
├── 双隧道高可用
├── 静态路由或BGP
└── 加密传输

3.2 创建VPN连接 #

bash
aws ec2 create-customer-gateway \
    --type ipsec.1 \
    --public-ip 203.0.113.1 \
    --bgp-asn 65000

aws ec2 create-vpn-gateway \
    --type ipsec.1 \
    --tag-specifications "ResourceType=vpn-gateway,Tags=[{Key=Name,Value=MyVGW}]"

aws ec2 attach-vpn-gateway \
    --vpc-id vpc-12345678 \
    --vpn-gateway-id vgw-12345678

aws ec2 create-vpn-connection \
    --type ipsec.1 \
    --customer-gateway-id cgw-12345678 \
    --vpn-gateway-id vgw-12345678

3.3 VPN架构 #

text
VPN架构:
┌─────────────────────────────────────────────────────────────┐
│                          AWS云                               │
│  ┌─────────────────────────────────────────────────────────┐│
│  │                          VPC                             ││
│  │  ┌─────────────────────────────────────────────────────┐││
│  │  │              VPN网关 (VGW)                          │││
│  │  └────────────────────────┬────────────────────────────┘││
│  └───────────────────────────┼──────────────────────────────┘│
│                              │                               │
│                    IPSec隧道 │                               │
│                              │                               │
└──────────────────────────────┼───────────────────────────────┘
                               │
┌──────────────────────────────┼───────────────────────────────┐
│                     本地数据中心                              │
│  ┌───────────────────────────┴────────────────────────────┐  │
│  │              客户网关 (CGW)                             │  │
│  └────────────────────────────────────────────────────────┘  │
└──────────────────────────────────────────────────────────────┘

3.4 Client VPN #

text
Client VPN特点:
├── 远程用户访问VPC
├── 基于OpenVPN
├── 证书或AD认证
├── 按连接时间计费
└── 安全访问内部资源

四、Direct Connect #

4.1 Direct Connect概述 #

text
Direct Connect特点:
├── 专用网络连接
├── 1Gbps - 100Gbps
├── 低延迟
├── 高带宽
├── 绕过公共互联网
└── 可与VPN配合使用

4.2 Direct Connect架构 #

text
Direct Connect架构:
┌─────────────────────────────────────────────────────────────┐
│                          AWS云                               │
│  ┌─────────────────────────────────────────────────────────┐│
│  │                          VPC                             ││
│  │  ┌─────────────────────────────────────────────────────┐││
│  │  │           Direct Connect网关                        │││
│  │  └────────────────────────┬────────────────────────────┘││
│  └───────────────────────────┼──────────────────────────────┘│
│                              │                               │
│                    专用连接   │                               │
│                              │                               │
└──────────────────────────────┼───────────────────────────────┘
                               │
┌──────────────────────────────┼───────────────────────────────┐
│                     本地数据中心                              │
│  ┌───────────────────────────┴────────────────────────────┐  │
│  │              Direct Connect位置                        │  │
│  └────────────────────────────────────────────────────────┘  │
└──────────────────────────────────────────────────────────────┘

5.1 PrivateLink概述 #

text
PrivateLink特点:
├── 私有连接到服务
├── 不需要VPC对等
├── 数据不经过互联网
├── 支持AWS服务和自定义服务
└── 使用接口端点

5.2 接口端点 #

bash
aws ec2 create-vpc-endpoint \
    --vpc-id vpc-12345678 \
    --service-name com.amazonaws.us-east-1.s3 \
    --vpc-endpoint-type Interface \
    --subnet-id subnet-12345678 \
    --security-group-id sg-12345678

5.3 网关端点 #

text
网关端点特点:
├── 仅支持S3和DynamoDB
├── 免费使用
├── 使用路由表配置
└── 不需要ENI
bash
aws ec2 create-vpc-endpoint \
    --vpc-id vpc-12345678 \
    --service-name com.amazonaws.us-east-1.s3 \
    --vpc-endpoint-type Gateway \
    --route-table-ids rtb-12345678

六、VPC Flow Logs #

6.1 Flow Logs概述 #

text
Flow Logs特点:
├── 捕获网络流量信息
├── 可发送到CloudWatch Logs或S3
├── 用于安全分析和故障排除
└── 可在VPC、子网、ENI级别启用

6.2 创建Flow Logs #

bash
aws ec2 create-flow-logs \
    --resource-type VPC \
    --resource-ids vpc-12345678 \
    --traffic-type ALL \
    --log-group-name my-flow-logs \
    --deliver-logs-permission-arn arn:aws:iam::123456789012:role/flowlogsRole

6.3 Flow Logs记录示例 #

text
${version} ${account-id} ${interface-id} ${srcaddr} ${dstaddr} ${srcport} ${dstport} ${protocol} ${packets} ${bytes} ${start} ${end} ${action} ${log-status}

2 123456789012 eni-12345678 192.168.1.100 10.0.0.1 443 49752 6 20 4200 1626144000 1626144060 ACCEPT OK

七、Transit Gateway #

7.1 Transit Gateway概述 #

text
Transit Gateway特点:
├── 集中式网络枢纽
├── 连接多个VPC
├── 连接VPN和Direct Connect
├── 可跨区域
├── 简化网络架构
└── 支持路由表

7.2 Transit Gateway架构 #

text
Transit Gateway架构:
                    ┌─────────────────┐
                    │ Transit Gateway │
                    └────────┬────────┘
                             │
        ┌────────────────────┼────────────────────┐
        │                    │                    │
        ▼                    ▼                    ▼
┌───────────────┐   ┌───────────────┐   ┌───────────────┐
│     VPC A     │   │     VPC B     │   │     VPC C     │
│   (开发环境)   │   │   (测试环境)   │   │   (生产环境)   │
└───────────────┘   └───────────────┘   └───────────────┘

八、网络最佳实践 #

8.1 架构建议 #

text
架构建议:
├── 多可用区部署
├── 使用Transit Gateway简化网络
├── 合理规划CIDR
├── 使用PrivateLink访问服务
├── 启用VPC Flow Logs
└── 文档化网络架构

8.2 安全建议 #

text
安全建议:
├── 最小权限原则
├── 使用私有子网
├── 启用Flow Logs审计
├── 定期审查安全组
├── 使用VPN或Direct Connect
└── 加密敏感数据传输

九、小结 #

本章介绍了VPC高级配置:

内容 要点
NAT网关 私有子网访问互联网
VPC对等 VPC间通信
VPN 连接本地数据中心
PrivateLink 私有访问服务
Transit Gateway 集中式网络枢纽

下一步学习 #

了解VPC高级配置后,接下来可以:

  1. Route53 DNS - 学习DNS服务
  2. CloudFront CDN - 学习CDN服务
  3. 安全最佳实践 - 学习网络安全
最后更新:2026-03-28