刚接触阿里云时,很多人会被“内网”两个字绕住。控制台上明明是一串私有IP,换个地域就访问不通,等服务跑起来才发现网络规划时少想了一步。这篇文章从实际场景出发,讲清楚阿里云内网是什么、ECS之间怎么走内网,以及几个常见的坑。

阿里云内网是什么
阿里云内网指的是同一个私有网络环境里,资源之间通过私有IP通信。这类流量走阿里云内部网络,不经过公网,延迟通常更低,也不产生公网流量费用。创建VPC时,常见的私有网段有10.0.0.0/8、172.16.0.0/12和192.168.0.0/16三段,按业务规模选一段就够用。
公网IP任何人都可以尝试访问,内网IP则只有同一VPC内的资源能直接访问,或者通过对等连接、云企业网打通的网络才能访问。数据库、缓存、内部接口这类组件本来就不该暴露在外网,放在内网里是基础的安全做法。
先弄清楚几个概念
设置之前,下面几个概念要分清,否则配置时容易找错地方:
- 专有网络VPC:你自己的逻辑隔离网络,是内网的最外层容器。
- 交换机(vSwitch):VPC下的子网,每个交换机属于一个可用区,ECS实例挂在交换机上。
- 安全组:实例级别的访问控制,决定哪些来源的哪些端口能访问它。
- 路由表:决定内网流量往哪里走。同一VPC内默认互通,跨VPC或连接本地数据中心时需要额外配置。
- 对等连接与云企业网CEN:跨VPC、跨地域甚至跨账号打通内网的方式。
ECS之间走内网的设置步骤
以最常见的场景为例:应用服务器(ECS-A)要通过内网访问另一台ECS上的服务(ECS-B)。两台机器在同一地域、同一VPC内时,按下面的顺序检查即可:
- 确认两台ECS在同一地域,并且都挂在同一个VPC下。交换机可以不同,同VPC内默认互通。
- 在ECS控制台的实例详情里记下ECS-B的私有IP。业务代码里写私有IP或内网地址,不要写公网IP。
- 检查ECS-B所在安全组的入方向规则。来源可以填ECS-A所在的安全组,或者ECS-A的私有IP,然后只放行需要的端口,比如3306或8080。
- 在ECS-A上用telnet或nc测试端口是否通,例如执行 nc -zv 10.0.1.23 8080。端口通了,说明网络和安全组都没问题;不通就回到第三步看规则。
- ping不通不一定是故障。很多安全组默认不放行ICMP,需要时单独添加规则再测。
多数连不通的问题都出在安全组或地域上,按这个顺序排查,通常很快能定位。
跨VPC或跨地域时怎么办
如果两台ECS分属不同VPC,同地域可以用VPC对等连接打通,然后在双方路由表里添加对端网段的路由。跨地域的情况一般需要借助云企业网CEN,并按带宽配置跨地域连接。这类连接会产生相应费用,开通前最好先算一下成本。
一个电商后台的内网改造
设想一个比较常见的情况。某中型电商团队最初给应用服务器、Redis和MySQL都绑了公网IP,靠白名单限制访问。有一次运维误把安全组规则设成了0.0.0.0/0,数据库端口直接暴露在公网上,很快就收到了大量扫描记录。
后来他们的改造思路很直接:
- 新建一个VPC,划分两个交换机,一个放应用层,一个放数据层。
- 数据库和Redis只保留内网地址,取消公网IP,应用配置统一改成内网地址。
- 应用服务器之间通过安全组做最小授权,只放行必要端口。
- 管理员需要登录时,走堡垒机或VPN接入内网,不直接连数据库。
改完之后,数据库的公网暴露面归零,内网通信延迟也有所下降。压测和数据迁移时,团队不必再担心公网带宽被占满,成本也更容易估算。
使用内网时的常见坑
地域不一致
VPC是地域级资源,内网默认只在同一地域内互通。ECS在华东1、RDS在华北2时,即使IP段看起来能通,也无法直接访问,需要借助云企业网或高速通道打通。
网段冲突
两个VPC如果用了重叠的网段,比如都选了192.168.0.0/16里的同一段,之后做互联就会出问题,而且很难事后修改。建议一开始就规划好网段,给未来的扩展留足空间。
安全组过于宽松
内网不等于绝对安全。同一VPC里有一台机器被攻破,它就可能成为横向移动的跳板。安全组仍然要按最小权限配置,不能因为是内网就放开所有端口。
内网和公网地址用错
很多云数据库同时提供内网地址和公网地址。应用配置里如果用错了,轻则延迟变高,重则产生额外流量费用。上线前核对一遍连接串,是很小但很值得的习惯。
小结
阿里云内网本身并不复杂,花时间的往往是前期的网络规划和权限设计。把VPC、交换机、安全组、路由理顺,ECS之间用私有IP直连,再配合清晰的连接地址,大多数业务都能跑得稳,也更省成本。如果正准备搭新环境,可以先画一张网络拓扑图,标出哪些服务放内网、哪些必须对外,后面会轻松很多。