VPC安全高效拓扑的核心是分层隔离与纵深防御:公有子网部署ALB/Web服务并开放80/443,私有子网部署APP/DB且禁止公网暴露,通过安全组(实例级有状态)与网络ACL(子网级无状态)双控访问,并预留CIDR余量、多AZ冗余以保障扩展性与高可用。

云环境中设计安全高效的 VPC 网络拓扑,核心在于合理划分公网与私网边界、严格控制流量路径、并落实最小权限原则。不是简单把服务器挂到公网或内网,而是通过分层结构+组件协同实现纵深防御。
按业务角色划分公有子网与私有子网
公有子网用于承载需对外提供服务的组件(如 Web 服务器、负载均衡器),必须关联互联网网关(IGW)并配置明确的路由;私有子网则部署数据库、缓存、后台服务等敏感资源,不直接暴露公网 IP,仅通过 NAT 网关访问外部(如下载补丁、调用第三方 API)。
- Web 层放在公有子网,开放 80/443 端口,但禁止 SSH 或 RDP 入站
- APP 层建议放在私有子网,只允许来自 Web 子网的指定端口通信(如 8080)
- DB 层必须部署在独立私有子网,仅接受 APP 子网的连接请求,禁用所有公网出向规则(除非确需访问云服务商管理接口)
用安全组 + 网络 ACL 实现双层访问控制
安全组是实例级有状态防火墙,适合定义“谁可以连我”;网络 ACL 是子网级无状态规则,适合作为第一道过滤网。两者配合使用,能覆盖更细粒度的防护场景。
- 安全组示例:Web 实例只放行 0.0.0.0/0 的 443 入站,但限制出站仅到 APP 子网段的 8080 端口
- 网络 ACL 示例:在 DB 子网入站规则中拒绝所有非 APP 子网 CIDR 的访问,出站默认拒绝,仅放行到监控服务的 9100 端口
- 避免安全组和 ACL 规则冲突,优先用安全组做精细控制,ACL 做兜底阻断
隔离关键通道,避免横向移动风险
即使同属一个 VPC,也要防止攻击者从被入侵的 Web 服务器跳转到数据库。除了子网划分,还需借助路由策略和对等连接控制通信路径。
- 为管理流量单独创建运维子网(如 10.0.10.0/24),仅允许跳板机或堡垒机访问,其他子网默认不路由至此
- 跨子网通信必须显式配置路由表,不要依赖默认本地路由自动互通
- 如需多 VPC 协同(如测试环境与生产环境),用 VPC 对等连接或转发路由器(TR),并关闭反向路由传播,防止意外打通
预留扩展空间,兼顾安全与弹性
VPC 的 CIDR 设计要留余量,子网划分不能过小,否则扩容时需重建资源。同时,高可用不能只靠多 AZ,还要考虑网络组件本身的冗余能力。
- VPC 主 CIDR 推荐用 /16(如 10.0.0.0/16),至少保留一半地址空间供后续新增子网或辅助 CIDR 使用
- 每个功能子网建议 /24 起步,双 AZ 部署时分别划两个 /24(如 Web-AZ1: 10.0.2.0/24,Web-AZ2: 10.0.3.0/24)
- NAT 网关、互联网网关、负载均衡器等共享组件,应启用多可用区部署模式,避免单点故障影响整个网络平面










