第一次开通阿里云ECS时,实例详情里通常会同时出现公网IP和私有IP。两个地址容易混在一起看,但用途不同。公网IP负责让外部访问服务器,而阿里云私有IP,也叫私网IP,只在专有网络VPC内部生效,互联网无法直接访问。同一个VPC里的ECS、RDS、Redis靠它互相通信,所以应用连接数据库时,连接串里一般写的是内网地址。

私有IP的归属关系可以按三层理解。每台ECS的私网IP,都从它所在交换机(vSwitch)的网段中分配。交换机属于某个VPC,VPC的地址范围由创建时指定的CIDR决定。排查网络问题时,可以先顺着这三层看:实例在哪个交换机,交换机在哪个VPC,两个资源的网段是否在同一个VPC内。大部分“连不上”的问题,都能从这里找到线索。
私有IP常用的网段
私有地址空间由RFC 1918规定,常用的有三段:
- 10.0.0.0/8:地址空间最大,适合大型业务或预计长期扩展的系统。
- 172.16.0.0/12:规模居中,不少企业内网已经在使用,需要注意是否与现有网段重叠。
- 192.168.0.0/16:多见于小型业务或测试环境,地址数量相对有限。
选网段时有两件事值得提前想清楚。一是以后是否要和本地机房、办公网络或其他云厂商的网络打通。如果两边网段重叠,后期配置专线或VPN时会很麻烦,有时只能重建网络。二是要给扩容留余量。VPC的主网段创建后不能直接修改,调整通常意味着新建网络,或追加辅助网段,所以第一次规划时宁可大一点。
私有IP的分配规则
交换机网段里的地址并不全部可以分给实例。系统会保留一部分地址用于网关等基础用途,具体保留数量以阿里云官方文档为准。实际可用的IP数量会比按掩码算出来的少,如果把网段切得刚好够用,后面增加一台服务器就可能没有地址可分。
ECS主网卡的私有IP在创建实例时自动分配。之后更换主网卡地址比较麻烦,通常需要停机或重新创建实例,所以数据库这类需要固定地址的服务,最好在创建时就规划好。如果一台服务器要绑定多个内网地址,比如同一台机器上部署多个服务,或者要做高可用切换,可以使用辅助私有IP。它能给实例增加内网地址,但具体的绑定和系统内配置仍要自己处理,不要以为绑定后服务就自动可用。
一个小团队的数据库内网改造思路
设想一个小型电商团队的情况。应用服务器和MySQL最初都放在带公网IP的ECS上,数据库只靠端口白名单限制访问。白名单能挡住一部分请求,但数据库端口一直暴露在公网,扫描和尝试连接会持续发生,跨公网的数据交互也会产生额外的流量费用。
改造可以分四步走:
- 新建VPC,网段选10.0.0.0/16,再划分应用层交换机10.0.1.0/24和数据层交换机10.0.2.0/24,两层分开管理。
- 把数据库ECS放到数据层交换机,私有IP固定为10.0.2.10,并解绑公网IP。这一步要在低峰期做,先确认备份完整。
- 应用服务器部署在应用层,连接数据库时使用10.0.2.10,连接串里只写内网地址,不再依赖公网域名。
- 数据库的安全组只允许应用层网段10.0.1.0/24访问3306端口,其余来源一律拒绝。
改完之后,数据库不再直接暴露在公网,外部扫描自然无法触达。同地域、同VPC内的ECS通过私网通信,一般不产生公网流量费用,这部分成本会随着业务量增长变得明显。运维入口也可以收敛到堡垒机,减少直接登录数据库服务器的路径。这个思路是通用的,具体的网段和规则要结合自己的业务来调整。
私有IP常见的访问问题
实际使用中,遇到的问题大致集中在下面几类:
- 跨VPC访问不通:私有IP默认只在同一VPC内互通。跨VPC需要配置对等连接,或通过云企业网CEN连接多个VPC。
- 本地机房访问不到VPC:需要通过专线或VPN网关打通两边网络,并提前核对网段是否冲突。
- 实例能内网通信但无法访问外网:内网IP本身没有出网能力。需要配置NAT网关,或为实例绑定弹性公网IP。
- 端口连接被拒绝:先检查安全组入方向规则,确认端口已放行;再确认服务是否监听在正确的私有IP上,比如只监听了127.0.0.1的服务,内网其他机器是连不上的。
使用建议
多数业务可以按三条原则来做。数据库、缓存这类核心服务只用私有IP,不绑定公网。按功能划分交换机,把应用层、数据层、管理层隔开,再用安全组限制访问来源,只放行必要的端口和网段。网段在项目初期就要定好,避免和本地网络重叠,也留出足够的扩容空间。
这三条做到了,阿里云私有IP既能守住安全边界,后续加机器、接专线、做高可用时也不用推倒重来。