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位置 │ │
│ └────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────┘
五、PrivateLink #
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高级配置后,接下来可以:
- Route53 DNS - 学习DNS服务
- CloudFront CDN - 学习CDN服务
- 安全最佳实践 - 学习网络安全
最后更新:2026-03-28