Amazon VPC 的网络设计 - 子网配置与 NAT Gateway 优化
介绍公有/私有子网的分离设计、安全组的分层管理以及通过 Gateway VPC 端点降低 NAT Gateway 成本的方法。
VPC 概述
VPC 是在 AWS 上构建逻辑隔离的虚拟网络的服务。通过 CIDR 块定义 IP 地址范围,使用子网、路由表、安全组和网络 ACL 控制网络。通过公有子网和私有子网的分离,建立面向互联网公开的资源与内部资源的安全边界。
子网设计与 NAT Gateway
公有子网具有到互联网网关的路由,放置 ALB 和 NAT Gateway。私有子网没有到互联网的直接路由,放置 EC2、RDS 和 Lambda。NAT Gateway 为私有子网提供出站通信(包更新、API 调用),但会产生按时计费和数据处理费用。对 S3 和 DynamoDB 的访问使用 VPC 端点(网关型,免费),不经过 NAT Gateway 以降低成本。VPC Flow Logs 将 ENI 级别的流量记录到 CloudWatch Logs 或 S3,用于检测非法访问和调查通信故障。
安全组与 NACL 的设计
安全组是有状态的实例级防火墙,仅定义允许规则。建议按应用层(ALB)、业务逻辑层(EC2/ECS)、数据层(RDS)分离安全组,层间通信通过安全组 ID 引用。网络 ACL 是无状态的子网级防火墙,可以定义允许和拒绝规则。用于明确阻止特定 IP 范围的访问或子网级的粗粒度控制。启用 VPC Flow Logs,分析被安全组和 NACL 拒绝的流量,定期检查规则是否存在过多或不足。
NAT Gateway 的成本优化
NAT Gateway 产生数据处理费(每 GB 约 0.062 美元)和按时计费(约 0.062 美元/小时),在大量出站通信的环境中成本会急剧增加(截至 2026 年 8 月)。对 S3 和 DynamoDB 的通信设置 Gateway VPC 端点(免费)不经过 NAT Gateway 是最有效的削减措施。对 ECR、CloudWatch Logs、STS 等频繁访问的 AWS 服务设置接口 VPC 端点,减少 NAT Gateway 的数据处理量。在多 AZ 配置中于每个 AZ 部署 NAT Gateway 时,不会产生 AZ 之间的数据传输费用,但 NAT Gateway 的按时计费会按 AZ 的数量计算。使用 Cost Explorer 按月跟踪 NAT Gateway 的成本,定量评估添加 VPC 端点带来的削减效果。
CIDR 设计与地址规划
在 VPC 的设计中,首先重要的是地址范围(CIDR)的规划。着眼于将来的扩展以及与其他 VPC 和本地环境的连接,在确保足够空间的同时,分配不重叠的地址空间。如果 CIDR 重叠,通过对等连接或 VPN 连接时将无法正确路由。在整个组织范围内管理地址的分配,有计划地为各 VPC 和子网划分范围,可以防止日后的连接性问题。如果最初采用局促的设计,扩展时就需要重建,因此,留有余地的规划会成为能长期使用的网络的基础。
可用性与多 AZ 设计
生产环境的网络,基本原则是不存在单一故障点的设计。跨多个可用区准备子网,在各个可用区部署相同角色的配置。这样,即使某个可用区发生故障,也能在其他可用区继续提供服务。将负责出站通信的 NAT 也冗余部署在各个可用区,可以防止可用区故障时的通信中断。将负载均衡器和实例分散到各个可用区,采用考虑可用区的配置,可以确保高可用性。冗余化也需要与成本取得平衡,因此要根据需求设计适当的水平。
连接性的选择
VPC 通过与其他网络连接,可以扩大运用的范围。以一对一方式连接少量 VPC 时,对等连接简单易用,但数量增加后管理会变得繁琐。要汇聚大量 VPC 和本地环境时,适合使用作为枢纽发挥作用的 Transit Gateway。如果只想安全地连接到特定服务,使用 PrivateLink 就无需暴露整个网络。与本地环境的连接使用 VPN 或专线。根据连接对象的数量以及所需的安全性和性能,重要的是适当选择并组合这些手段。
监控与故障排除
网络问题难以定位,因此要预先建立可视化的机制。记录通信日志后,可以确认哪些通信被允许或拒绝,有助于调查无法连接的原因。使用分析路径可达性的工具,可以找出因配置错误导致数据包无法到达的位置。通信控制由有状态的安全组和按子网生效的网络 ACL 两层构成,因此要区分是在哪一层被阻止。事先准备好将配置与实际通信进行对照验证的手段,是稳定运营网络的支撑。
总结
VPC 是通过子网分离、安全组和网络 ACL 多层确保网络安全的服务。按应用层、业务逻辑层、数据层分离安全组,通过 VPC Flow Logs 分析流量。通过 Gateway VPC 端点建立到 S3/DynamoDB 的免费私有连接,优化 NAT Gateway 的数据处理成本。
参考资料(AWS 官方)
本页的第一手信息来源是 AWS 官方网站及官方文档。最新的规格与价格请以下列官方页面为准。
如本页内容与官方文档不一致,请以官方文档为准。