在 AWS 云上部署资源时,很多开发者习惯直接使用账号每个区域自带的默认 VPC(Amazon Virtual Private Cloud)快速上手。但随着业务迭代,默认网络架构会带来安全隐患与运维负担。本文解析默认 VPC 风险,提供开发、测试环境独立 VPC 划分最佳实践,实现环境强隔离,降低误操作与攻击面。
重要前置说明:
- 验证私有子网连通性不要使用 ping ICMP,很多环境安全组、NACL 会禁用 ICMP;优先使用curl/wget访问 HTTP 服务校验 TCP 出网。
- 数据库数据子网不能配置 NAT/IGW 默认路由,数据库原则上不需要主动访问公网。
- 新建 VPC 之后务必清理 VPC默认安全组,清空全部出入站规则,CIS 安全基线要求;不要依赖默认安全组做业务访问控制。
- NAT 网关按小时计费,只要实例运行就产生费用;Dev、Test 多套 VPC 如果各自部署 NAT 网关,会造成成本叠加;大量非生产环境建议评估集中出口 EgressVPC 方案降本。
- 企业环境务必开启 VPC Flow Logs(VPC 流日志),用于网络排障与安全审计。
- 运维访问优先推荐 SSM Session Manager,不需要 EC2 公网 IP,不需要开放 22 端口对公网;堡垒机仅作为备选,堡垒机 SSH 端口严格限制管理员源 IP。
一、避坑指南:为什么不建议直接使用默认 VPC?
AWS 在每个区域自动生成默认 VPC,目的是降低上手门槛,但不适合企业 Dev/Test 业务长期使用,存在如下风险:
- 安全隐患:默认 VPC 所有子网都是公有子网;实例开启自动分配公网 IP 后直接暴露互联网;一旦安全组配置疏忽,极易遭受扫描爆破攻击AWS。
- 环境混杂风险:开发、测试资源全部跑在同一个网段31.0.0/16,安全组规则臃肿,路由管理混乱,容易发生跨环境误操作。
- CIDR 扩展受限:默认 VPC 网段固定31.0.0/16;未来对接 VPC Peering、Transit Gateway 或者本地 IDC 专线,极易发生网段冲突,网络无法互通,CIDR 一旦冲突没有简单修复手段。
二、架构设计:开发与测试环境独立 VPC 规划
核心原则:先规划 CIDR 网段,再创建资源。开发、测试使用完全独立 VPC,每一套 VPC 内部采用「公有子网 + 私有应用子网 + 私有数据子网」三层架构。
注意:下表为简化示例仅展示单可用区;生产环境公有、私有、数据子网都必须部署至少 2 个可用区,保障高可用;RDS 数据库必须多 AZ 部署。
| 环境 | VPC CIDR | 可用区 (AZ) | 子网类型 | 子网 CIDR | 用途说明 |
| 开发环境 (Dev) | 10.10.0.0/16 | AZA | 公有子网 | 10.10.1.0/24 | 堡垒机、ALB 负载均衡器、NAT 网关部署位置 |
| AZA | 私有子网 | 10.10.11.0/24 | 开发应用服务、缓存,通过 NAT 访问外网 | ||
| AZA | 数据子网 | 10.10.21.0/24 | RDS 数据库,无任何外网默认路由 | ||
| 测试环境 (Test) | 10.20.0.0/16 | AZB | 公有子网 | 10.20.1.0/24 | 测试入口网关、NAT 网关 |
| AZB | 私有子网 | 10.20.11.0/24 | 测试应用服务器 | ||
| AZB | 数据子网 | 10.20.21.0/24 | 测试数据库,无外网路由 |
网段设计:DevVPC 10.10.0.0/16、TestVPC 10.20.0.0/16,CIDR 互相不重叠,未来支持 VPC 对等连接或者 Transit Gateway 打通。
三、核心组件:IGW、NAT 网关与路由表
理解流量走向是 VPC 配置关键:
- Internet Gateway(IGW):VPC 对接互联网的逻辑网关;公有子网路由表配置0.0.0/0指向 IGW,资源才能接收来自互联网流量。
- NAT Gateway:部署在公有子网;私有子网内应用服务器通过 NAT 网关主动访问外网下载补丁、依赖包;互联网无法主动访问私有子网实例。NAT 网关必须放置在公有子网,否则无法工作。
- 路由表 Route Table:控制子网流量下一跳。
- 公有子网:0.0.0/0指向 IGW;
- 应用私有子网:0.0.0/0指向 NAT 网关;
- 数据子网(数据库):不配置0.0.0/0 外网路由,只有 VPC 本地路由,完全隔离互联网。
补充优化:建议创建 S3 Gateway Endpoint,私有子网访问 S3 不走 NAT 网关,减少 NAT 处理流量,节约成本。
安全组件补充:
- 安全组 SG:实例级别、有状态防火墙;推荐使用安全组 ID 互引,不写静态 IP 段;RDS 安全组只允许应用层安全组访问数据库端口,禁止 0.0.0/0。
- NACL 网络访问控制列表:子网级别、无状态防火墙;入站出站规则需要分别配置,用于子网层面补充防护。
- VPC Flow Logs:开启流日志,记录子网全部网络流量,用于排障与安全审计。
四、实操步骤:从零创建自定义 VPC
- 登录 AWS 控制台,进入 VPC 服务面板。
- 点击创建 VPC,选择「VPC 及更多 (VPC and more)」向导,可以一次性生成 VPC、多可用区子网、路由表整套拓扑。
- 填写基础信息:标签名称DevVPC,IPv4 CIDR 填入规划网段10.0.0/16。
- 可用区与子网配置:选择至少 2 个可用区;分别创建公有子网、私有应用子网、私有数据子网,填入规划 CIDR。
- NAT 网关配置:测试环境可以选择单可用区部署降低成本;生产建议每个 AZ 部署一个 NAT 网关实现高可用。
- 附加设置:按需开启 S3 网关终端节点;开启 VPC 流日志。
- 核对拓扑预览,确认无误后点击创建。
- 创建完成后进入 VPC 详情,修改该 VPC 的默认安全组,清空全部入站、出站规则,遵循 CIS 安全基线。
五、验证与计费提醒
连通性验证:在公有子网启动堡垒机,通过 SSM 或者堡垒机登录私有子网无公网 IP 实例;私有实例执行 curl https://aws.amazon.com 能够正常返回页面,代表 NAT 出网正常。不要依靠 ping ICMP 做连通性判断。
计费提醒:
VPC 控制层面本身不收费;主要计费项来自 NAT 网关、弹性 IP (EIP)、数据处理流量:
- NAT 网关:按运行小时 + 处理流量 GB 计费;即使没有业务流量,只要 NAT 网关处于运行状态就持续计费;测试环境用完务必删除。
- 未关联实例的闲置 EIP 会产生小时费用,测试结束必须释放 EIP,否则持续扣费。
删除资源正确顺序:先删除 NAT 网关、释放 EIP,删除终端节点,删除子网,删除 IGW,最后删除 VPC;顺序错误会删除失败。
新手在规划 AWS 网络架构时,常面临账号注册、区域选择及计费项不清晰等问题。在部署前,可咨询翼龙云TG-Yilongcloud 获取专业选型建议,协助梳理开户注册事项,并根据区域、带宽及安全需求确认网络方案,降低试错成本。
六、常见问题 (FAQ):
Q1:AWS VPC 是什么,适合哪些场景,选型时要确认什么? A:AWS VPC 是逻辑隔离虚拟私有网络,用来承载 EC2、RDS 等云资源,自定义规划网段、路由、访问控制。适合开发测试隔离、企业业务部署。选型核对地域、可用区数量、CIDR 规划、NAT 网关部署模式、计费项;VPC 控制面免费,但 NAT、EIP、跨可用区流量会产生费用。
Q2:AWS NAT Gateway 是什么,适合哪些场景,选型时要确认什么? A:NAT 网关让私有子网实例可以主动访问外网,外部不能主动访问私有子网。按运行小时与处理流量计费。选型确认可用区数量;多套测试 VPC 评估是否使用集中 EgressVPC 共享 NAT 降低成本;测试环境用完及时释放,避免闲置账单。
Q3:AWS 中如何实现不同 VPC 或者子网之间安全隔离? A:子网依靠路由表控制流量走向,NACL 做子网无状态过滤;实例级别依靠安全组做有状态访问控制;VPC 之间默认完全隔离。如需 VPC 之间互通,显式创建 VPC Peering 或者 Transit Gateway,注意互通 VPC 之间 CIDR绝对不能重叠,网段重叠无法建立互联AWS。
Q4:私有子网实例无法访问外网,排查思路是什么? A:1. 确认私有子网路由表0.0.0.0/0指向可用状态的 NAT 网关;2.NAT 网关部署在公有子网,公有子网具备指向 IGW 的路由;3. 安全组出站规则没有限制;4. 优先使用 curl/wget 测试 TCP 访问,不要使用 ping;5. 查看 VPC Flow Logs 分析丢包。
Q5:DevVPC 如何安全和 TestVPC 互通? A:两个 VPC CIDR 不能重叠;建立 VPC 对等连接或者接入 Transit Gateway;双向配置路由表;安全组、NACL 只放行业务需要的端口,不开放全量互通。