AWS VPC 上的子网 ( AWS Subnet ) 是什么?

在云计算逐渐成为主流的今天,企业和个人用户在构建云端应用时,对网络环境的安全性、灵活性和可扩展性提出了更高要求。亚马逊网络服务(Amazon Web Services, 简称 AWS)提供的 虚拟私有云(Virtual Private Cloud, VPC),正是满足这些需求的核心服务之一。通过 VPC,用户能够在 AWS 云中创建和管理属于自己的虚拟网络,就像在本地数据中心中构建和管理传统网络一样。

在 VPC 的网络架构中,子网(Subnet) 扮演着至关重要的角色。它不仅决定了资源的网络边界,还影响了应用系统的安全策略、可用性和对外通信方式。理解并合理使用子网,是设计安全高效云上架构的关键。

 

什么是 AWS Subnet?

子网(Subnet) 是对 VPC 内 IP 地址空间的进一步划分。通过子网,用户可以把一个大的 VPC 划分为多个逻辑上的小网络段,不同子网之间可以部署不同类型的资源,并应用差异化的访问控制策略。

例如,一个企业可能会把 VPC 分成以下几类子网:

  • 公有子网(Public Subnet):允许子网内的资源(如 Web 服务器)通过 Internet Gateway 直接访问互联网。
  • 私有子网(Private Subnet):子网内的资源(如数据库、内部 API 服务)无法直接被互联网访问,只能通过 NAT 网关或 VPN 与外部通信。

这种划分方式类似于传统数据中心中的 DMZ 区(Demilitarized Zone)、内部网段等概念,但在 AWS 上更加灵活和易于扩展。

 

子网的基本要素

在创建 AWS 子网时,需要考虑以下几个关键点:

1. CIDR 块

CIDR(Classless Inter-Domain Routing,无类域间路由)块定义了子网的 IP 地址范围。

  • 每个子网必须指定一个 CIDR 块,该范围必须落在所属 VPC 的 CIDR 范围之内。
  • 子网的 CIDR 大小决定了可用 IP 地址数量。例如:
  • 10.0.1.0/24 → 提供 256 个 IP 地址(实际可用 251 个)。
  • 10.0.1.0/28 → 提供 16 个 IP 地址(实际可用 11 个)。

AWS 保留了每个子网中的 5 个 IP 地址(用于网关、DNS、网络管理),因此在规划 CIDR 时要留有余地。

2. 可用区(Availability Zone, AZ)

创建子网时,必须指定其所属的可用区。

  • 每个子网只能位于单一的可用区中。
  • 若要实现高可用,通常需要在同一区域的多个 AZ 内分别创建子网,并在子网中部署冗余的资源。
3. 路由表(Route Table)

子网的流量转发由路由表决定。通过自定义路由规则,可以控制子网内资源是否能够访问互联网、VPC 内其他子网或本地数据中心。

4. 公有子网与私有子网
  • 公有子网:路由表中存在一条指向 Internet Gateway 的路由。
  • 私有子网:没有直通 Internet Gateway 的路由,只能通过 NAT 网关或 VPN 等方式访问外部。

 

子网的应用场景

1. 三层架构部署

在典型的 Web 应用中,可以按照功能分层部署在不同的子网中:

  • Web 层(公有子网):部署对外的 Nginx、Apache 等 Web 服务。
  • 应用层(私有子网):部署后端应用服务,如业务逻辑处理。
  • 数据层(私有子网):部署数据库和缓存,如 RDS、Redis。

这种架构通过子网的隔离性提高了安全性,避免数据库等敏感资源直接暴露在公网中。

2. 混合云架构

企业常常需要将 AWS VPC 与本地数据中心连接,形成混合云。通过在 VPC 中合理划分子网,可以实现本地业务与云端业务的无缝衔接。

3. 不同环境隔离

开发、测试、生产环境需要严格隔离。通过在同一个 VPC 内划分不同的子网,或在不同 VPC 中建立子网,企业可以实现环境级的隔离,降低风险。

4. 高可用和灾备

在多个 AZ 中创建相同功能的子网,并部署冗余的实例,可以大大提升系统的可用性和容错能力。

 

子网与相关 AWS 服务的结合

子网的真正价值,往往体现在与其他网络组件的配合中:

  1. Internet Gateway (IGW)
  2. 公有子网中的实例可以通过 IGW 与互联网进行双向通信。
  3. NAT 网关 / NAT 实例
  4. 允许私有子网中的实例访问互联网(如下载软件更新),但阻止外部主动访问这些实例。
  5. 安全组(Security Group)和网络 ACL
  6. 子网级别的安全控制依赖 网络 ACL,而实例级别的安全由 安全组管理。二者结合,实现细粒度的访问控制。
  7. VPC 对等连接(VPC Peering)
  8. 不同 VPC 的子网可以通过对等连接互通,这在跨区域部署或多团队合作时非常有用。
  9. Transit Gateway
  10. 对于大型企业,可以通过 Transit Gateway 把多个 VPC 的子网集中连接起来,形成星型拓扑,简化网络管理。

 

最佳实践与注意事项

1.合理规划 CIDR
  • 提前设计 IP 地址范围,避免未来扩展时出现冲突。
  • 对不同环境(开发/测试/生产)预留不同的 CIDR 范围。
2.公私子网分离
  • 不要把数据库、敏感系统放在公有子网。
  • 公有子网仅放置需要直接暴露给用户的服务。
3.跨 AZ 部署
  • 在多个可用区中创建子网,提高高可用性。
  • 数据库和应用服务器尽量部署在不同 AZ 的私有子网中。
4.最小化权限原则
  • 安全组和网络 ACL 要遵循 “默认拒绝,只放行必要流量” 的原则。
  • 对 NAT 网关和 IGW 的使用要进行严格的监控。
5.监控与日志
  • 配合 VPC Flow Logs 记录子网内的流量情况,帮助排查安全和网络问题。

 

结论

AWS VPC 的子网(Subnet)是云上网络架构的核心组成部分。通过对子网的合理划分和配置,用户能够:

  • 灵活隔离和管理资源,提升安全性。
  • 支持复杂的应用场景,例如三层架构、混合云和跨区域部署。
  • 借助公私子网的划分,实现既能对外提供服务,又能保护敏感资源的平衡。
  • 借助 AWS 提供的网关、路由表、安全组和监控工具,构建高度可控、弹性扩展的网络环境。

简而言之,子网不仅仅是 IP 地址的划分,更是 AWS 云网络安全、可用性和架构设计的基石。对于任何计划在 AWS 上构建可扩展、高可用系统的企业或个人来说,掌握子网的原理与应用,是必不可少的一步。

更多探索

Tell me what you need