
阿里云 VPC(Virtual Private Cloud,专有网络)是在阿里云上创建的逻辑隔离私有网络。不同 VPC 之间在二层网络上相互隔离,彼此的资源默认无法互访,整个网络环境的 IP 地址范围、子网划分、路由规则和访问控制策略都由用户自行定义和管理。
VPC 是阿里云上所有网络相关配置的基础。ECS 实例、RDS 数据库、SLB 负载均衡、Redis 缓存等云产品,都需要部署在某个 VPC 内才能使用内网通信能力。在创建任何云资源之前,先完成 VPC 的规划和配置,是搭建稳定云上架构的前提。
VPC 的核心组成
每个 VPC 至少由三个基础组件构成:私网网段(CIDR 块)、路由器(vRouter)和交换机(vSwitch)。理解这三者的关系,是配置 VPC 的基础。
私网网段以 CIDR 格式指定,决定了 VPC 内所有资源可使用的 IP 地址范围。VPC 的网段在创建后不支持修改,这是 VPC 配置中最需要提前规划的参数。选错网段或网段太小,后期扩展时需要重建整个 VPC,迁移成本极高。
路由器是 VPC 的网络枢纽,系统在 VPC 创建成功后自动生成,负责连接 VPC 内的各个交换机,也是 VPC 对外连接(公网、其他 VPC、本地数据中心)的出口节点。路由器不需要用户手动创建或配置,但用户可以通过管理路由表来控制路由器的转发行为。
交换机是 VPC 内用来划分子网的组件,每个交换机对应一个可用区(AZ)内的子网。同一 VPC 内的不同交换机之间默认内网互通,将资源部署在不同可用区的交换机中,可以避免单个可用区故障影响整体业务。
网段规划:CIDR 的选择与子网划分
网段规划是 VPC 配置中最重要的一步,也是最容易被轻视的一步。选定并使用之后,VPC 网段不能修改,子网与子网之间如果出现冲突,跨 VPC 互通时会直接失败。
VPC 网段的选择
阿里云 VPC 支持使用三类 RFC 1918 标准私网地址作为网段:
- 10.0.0.0/8 及其子网,如 10.0.0.0/16
- 172.16.0.0/12 及其子网,如 172.16.0.0/16
- 192.168.0.0/16 及其子网,如 192.168.0.0/16
推荐掩码范围是 /16 到 /28。/16 意味着可以容纳 65,534 个 IP 地址,对大多数业务来说足够分配给多个子网使用;掩码过大(如 /8)会浪费地址空间,对管理没有实质好处。
禁止使用的地址段包括:100.64.0.0/10、224.0.0.0/4、127.0.0.0/8 和 169.254.0.0/16,这些地址在阿里云内部有特殊用途。
多 VPC 场景的关键原则: 如果当前或未来需要多个 VPC 互联(同地域或跨地域),各 VPC 内需要通信的交换机子网不能有重叠。最稳妥的做法是在规划阶段就为每个 VPC 分配互不重叠的网段。例如,VPC-A 用 10.0.0.0/16,VPC-B 用 10.1.0.0/16,VPC-C 用 10.2.0.0/16。即使当前没有互联需求,保留这个规划习惯可以避免后期扩展时被迫重建网络。
交换机的子网划分
交换机是可用区级别的资源,每个交换机的网段必须是所属 VPC 网段的子集。以 VPC 网段 10.0.0.0/16 为例,可以在其下创建多个交换机:
- 10.0.1.0/24:香港可用区 A,用于 Web 层
- 10.0.2.0/24:香港可用区 B,用于 Web 层(跨可用区冗余)
- 10.0.10.0/24:香港可用区 A,用于应用层
- 10.0.20.0/24:香港可用区 A,用于数据层(RDS、Redis)
按功能分层划分子网,Web 层、应用层、数据层分别在不同交换机,通过安全组控制各层之间的访问权限,是标准的三层隔离架构。
生产环境建议至少将核心服务部署在两个不同可用区的交换机中,实现基础的跨可用区容灾能力。
创建 VPC 与交换机
在阿里云控制台进入「专有网络 VPC」,点击「创建专有网络」,同时配置 VPC 和第一个交换机。
VPC 的配置项相对简单:选择地域、填写 IPv4 CIDR 块、给 VPC 命名。地域选择和 ECS、RDS 等云资源保持一致,VPC 是地域级资源,不同地域的 VPC 不能直接内网通信,必须通过云企业网(CEN)或 VPN 网关实现跨地域连接。
交换机配置需要指定:所属 VPC、可用区、子网网段(必须是 VPC 网段的子集)和名称。子网网段建议比 VPC 网段的掩码多 4–8 位,例如 VPC 是 /16,交换机用 /24,每个子网可容纳 254 个 IP 地址,已足够大多数业务使用。
创建第一个交换机后,还需要为其他可用区和业务层单独创建对应的交换机。例如,分别为 Web 层、应用层和数据层各创建一个交换机,每个交换机分配独立的子网网段。
创建完成后,各交换机下的资源就可以通过内网互相访问,不需要经过公网,也不产生公网流量费用。关于阿里云 ECS 实例如何选择 VPC 和交换机进行部署,可以参考 阿里云 ECS 完整教程的相关配置说明。
路由表配置
VPC 创建成功后,系统自动生成一张默认路由表,包含管理 VPC 内部流量转发的系统路由。系统路由不能手动创建或删除,但可以在路由表中添加自定义路由条目,将指定目标网段的流量导向特定的下一跳。
系统路由表与自定义路由表
默认情况下,VPC 内所有交换机共享同一张系统路由表,适合大多数中小型业务。当不同交换机的路由策略需要明显差异时,可以创建自定义路由表,将其绑定到对应的交换机上,实现更精细的流量控制。每个 VPC 最多支持 10 张路由表(含系统路由表),每个交换机只能绑定一张路由表。
自定义路由的常见场景
需要将某个子网的出站流量指向 NAT 网关时,在对应交换机的路由表中添加一条自定义路由:目标网段填 0.0.0.0/0,下一跳类型选 NAT 网关,下一跳选具体的 NAT 网关实例。这样该交换机下的所有实例访问公网的流量都会经过 NAT 网关,而不是直接走弹性公网 IP。
需要将流量导向 VPN 网关或高速通道(专线)时,在路由表中添加对应的路由条目,目标网段填本地数据中心的私网网段,下一跳类型选 VPN 网关或高速通道。
安全组配置
安全组是 VPC 内的实例级访问控制组件,控制进出 ECS、RDS 等云资源的流量。每个实例必须关联至少一个安全组,一个安全组可以应用到多个实例上。
安全组规则是有状态的:配置了允许某个来源 IP 访问 80 端口的入站规则后,该连接的响应流量会自动被放行,不需要单独配置对应的出站规则。入站方向默认拒绝所有流量,出站方向默认允许所有流量。
安全组规则的配置原则
最小权限原则是安全组配置的基本出发点:只开放业务实际需要的端口和来源,不开放不必要的访问权限。
Web 服务器的安全组入站规则通常只需要两条:允许 TCP 80(HTTP)来自 0.0.0.0/0,允许 TCP 443(HTTPS)来自 0.0.0.0/0。管理端口 SSH(22)应限定为管理员所在的固定 IP 段,严禁对 0.0.0.0/0 开放——将 SSH 暴露在公网会持续受到暴力破解扫描,是最常见的服务器安全事故来源。
应用服务器的安全组入站规则只允许来自 Web 层安全组的流量,不对公网开放任何端口。数据库层的安全组入站规则只允许应用层安全组访问数据库端口(MySQL 3306、PostgreSQL 5432),不对应用层以外的任何来源开放。关于 RDS 与 ECS 内网通信的安全组配置,可以参考 阿里云 RDS 数据库教程的白名单配置部分。
安全组的授权对象支持填写另一个安全组 ID,而不仅仅是具体的 IP 地址。例如,将数据库安全组的 3306 端口入站授权对象设为应用服务器的安全组 ID,当应用服务器扩容或 IP 发生变化时,不需要更新数据库安全组规则,维护成本更低。
三层架构的安全组配置示例
| 层级 | 安全组 | 允许入站 | 来源 |
| Web 层 | sg-web | TCP 80、443 | 0.0.0.0/0 |
| Web 层 | sg-web | TCP 22 | 管理员 IP |
| 应用层 | sg-app | TCP 应用端口 | sg-web |
| 数据层 | sg-db | TCP 3306/5432 | sg-app |
这种分层授权的方式,让攻击者即使突破了 Web 层,也无法直接访问应用层或数据库层,将攻击面控制在最小范围内。
网络 ACL:子网级别的补充访问控制
网络 ACL 是作用于交换机(子网)层面的访问控制,可以作为安全组的补充防护层。与安全组不同,网络 ACL 是无状态的——必须同时配置入站和出站规则,响应流量不会被自动放行,出站方向需要单独允许临时端口(1024–65535)的响应流量才能正常通信。
网络 ACL 适合需要对整个子网流量做统一管控的场景,例如完全禁止某个子网的出站公网访问,或者限定只有特定 IP 段才能进入整个 Web 子网。日常中小型业务通过安全组已经可以满足大多数访问控制需求,网络 ACL 属于进阶配置。
需要注意的是,RDS 实例不受网络 ACL 管控,RDS 的访问控制通过其自身的 IP 白名单实现,这和 ECS 实例的行为不同。
公私网架构:ECS 访问公网的两种方式
部署在私有交换机(没有公网 IP)的 ECS 实例需要访问公网时,有两种常见方式。
**弹性公网 IP(EIP)**直接绑定到 ECS 实例的网卡,实例获得一个固定的公网 IP 地址,可以双向收发公网流量。适合需要固定 IP、对外提供服务的 ECS 实例,如 Web 服务器、游戏服务器。EIP 按小时计费(即使实例停机也会产生费用),不再使用时应及时释放。
NAT 网关部署在 VPC 层面,允许私有子网内的多个 ECS 实例共享少量公网 IP 访问互联网,出站流量经过 NAT 转换后对外只显示 NAT 网关的公网 IP,内部实例 IP 不暴露。适合只需要主动发起出站连接(如访问外部 API、下载更新包),不需要接收外部入站连接的后台服务器。
标准的三层架构是:Web 层实例挂 EIP 或通过 SLB 对外提供服务,应用层和数据层实例不挂 EIP,通过 NAT 网关访问公网,完全不对外暴露真实 IP。
跨 VPC 连接:VPC 对等连接
同地域内两个 VPC 之间的互通,可以通过 VPC 对等连接(VPC Peering)实现。对等连接建立后,两个 VPC 的实例可以通过内网 IP 互相访问,不经过公网,延迟低且不产生公网流量费用。
建立对等连接的前提是两个 VPC 内需要互通的交换机子网没有 IP 地址重叠。如果子网网段冲突,对等连接无法正常路由流量,这也是前面强调网段规划重要性的原因。
跨地域的 VPC 互通,以及同时涉及多个 VPC 和本地数据中心的复杂互联场景,应使用云企业网(CEN)统一管理,比逐对配置对等连接更高效,也更易于维护。关于阿里云网络基础架构的整体说明,可以参考 阿里云 IDC 基础入门知识中的相关内容。
常见配置问题排查
ECS 无法访问同 VPC 内的 RDS: 首先检查 RDS 的 IP 白名单是否添加了 ECS 的内网 IP,其次确认 ECS 和 RDS 是否在同一 VPC 内,最后检查安全组规则是否允许了对应端口的出站流量。
两个 ECS 实例内网互访失败: 确认两者是否在同一 VPC 内(不同 VPC 默认不通);如果在同一 VPC 的不同交换机,检查安全组规则是否允许了对应端口的入站访问;安全组默认不阻断同 VPC 内网流量,但如果主动配置了拒绝规则,需要检查是否误拒。
私有子网实例无法访问公网: 确认 VPC 内是否有 NAT 网关,对应交换机的路由表中是否有指向 NAT 网关的 0.0.0.0/0 路由条目。缺少路由条目时,私有实例的出站公网流量没有出口,访问请求会直接超时。
账号开通与代理充值
使用阿里云 VPC 和相关网络产品需要有效的阿里云国际版账号。VPC 本身免费,NAT 网关、EIP、CEN 等网络产品按实际使用量计费。对于没有海外信用卡或需要 USDT 和对公转账付款的用户,通过 阿里云国际代理 渠道开户更直接,免实名、免绑卡,充值享额度赠金($100 到账 $110,$500 到账 $600,$1000 到账 $1250),账号权重更高,适合正式业务长期使用。



