很多团队第一次把业务搬上云,最先卡住的往往是网络怎么搭。机器放哪个网段,内外流量怎么走,数据库能不能碰公网,这些都会影响后面的安全和扩容。阿里云VPC(专有网络)就是为这类问题准备的。你可以在云上拿到一块逻辑隔离的网络,自己规划IP、切分子网、配置路由和访问规则,用起来和在机房里搭一套私有网络差不多。

先定网段
创建VPC时要选一个私网网段,常见的是10.0.0.0/8、172.16.0.0/12或192.168.0.0/16中的某一段。这一步看起来随手,后面却最难改。子网、路由表和安全策略都要围绕它排布。以后如果要和本地机房或其他VPC互联,两边网段一旦重叠,路由就会冲突,到时候只能重新规划。
实际做法上,我一般建议多留空间。比如给VPC分配10.10.0.0/16,再按业务和可用区切块:10.10.1.0/24放前端,10.10.2.0/24放应用,10.10.3.0/24放数据库。每个子网只属于一个可用区,跨可用区部署后,单个可用区出问题时,服务还能在另一个区里撑着。
子网、路由和访问控制
子网是公网还是私网,看的是路由表:有没有指向互联网网关的默认路由。负载均衡一般放在公网子网,应用和数据库放在私网子网,只开放必要的内部通信。
访问控制通常分两层。安全组工作在实例级别,是有状态防火墙,适合规定某台ECS允许哪些来源访问。网络ACL工作在子网级别,是无状态规则,适合做网段级的粗粒度拦截。两层配合使用,安全边界会比较清楚,运维复杂度也不会明显上去。
案例:一家电商团队的调整
某中型电商团队早期把订单服务和MySQL直接挂在公网IP上,靠安全组端口白名单撑着。业务涨起来以后,两个问题很快冒出来:数据库被扫描的次数明显变多,每次发版又要人工核对白名单,偶尔就漏掉一条。
后来他们重新规划了VPC。在10.10.0.0/16里划出三类子网,前端由负载均衡接入公网,应用服务器和RDS数据库全部放进私网子网。数据库不再分配公网地址,只允许应用子网的安全组访问3306端口。应用调用第三方接口时,请求经NAT网关统一出站,服务器本身不暴露。调整之后,数据库的公网暴露面基本消失,白名单也不用天天改。
跨地域与混合云互通
业务分布到多个地域,或者要和机房里的老系统打通,就得选好VPC之间、VPC与本地网络的连接方式。常见的有对等连接、云企业网CEN,以及通过VPN网关或高速通道连接IDC。
两个VPC之间点对点互通,用对等连接最省事。但VPC一多,每一对之间都要单独配置,管理成本会涨得很快。这时候云企业网更合适,多个VPC、多个地域和本地网络可以挂到同一张网上,路由策略集中在转发路由器里统一管理。
本地机房的连接方式要看对延迟和稳定性的要求。IPsec VPN部署快、成本低,但跑在公网上,遇到抖动只能靠经验排查。高速通道走专线,稳定性更好,不过采购周期长,要提前排期。选型前建议先画一张拓扑图,把现在的结构和未来一两年的规划都标出来,再决定用哪种方案。
容易踩的坑
- 网段随手选:先查清本地机房和已有VPC用的是哪些网段,新VPC主动避开,不要等到要互联时才发现冲突。
- 实例全放公网子网:数据库和内部服务应放在私网子网,需要外部访问的只让负载均衡或堡垒机出面。
- 只靠安全组:先按功能把子网分好,再用网络ACL做网段级拦截。真出问题时可以直接隔离整个子网,不用逐台改安全组。
- 没算流量费:跨地域和公网出入的流量要提前估算,可以拿现有业务的流量数据粗略过一遍,别等月底账单出来才着急。
收尾
VPC的好处是网络结构由你自己定。前期把网段、子网分层和访问规则想清楚,后面扩容、互联和加固都会省事。如果正准备迁移业务,先画一张网段和子网的草图,核对无误再动手,比边搭边改稳得多。