华为云 VPC 虚拟私有云:子网规划与安全组实战
一、VPC 是什么,先画一张网络图
上云第一步常常不是买服务器,而是先把网络搭对。VPC(虚拟私有云)就是你在云上的一张私有网络,里面的云服务器、数据库、负载均衡都在这张网里互相通信,对外则通过弹性公网 IP、NAT 网关或专线出入。网络搭错了,后面不是连不上,就是安全组放得太开埋下隐患。
动手之前先画图:一个 VPC 里分几个子网,哪些子网放 Web 层、哪些放应用层、哪些放数据库,哪些子网需要公网出口、哪些完全内网。这个图不用多精美,但必须先有。很多线上故障追到最后,都是子网划分时把数据库放进了能直接访问公网的子网,或者安全组规则写错了一个端口。
二、子网规划:按层隔离,按需分配
子网是 VPC 内的网段划分。常见做法是按业务层分:Web 子网、应用子网、数据库子网。Web 子网需要公网入口,挂负载均衡;应用子网只接受来自 Web 层的流量;数据库子网只接受来自应用层的流量,不配公网 IP,也不配 NAT 出口。这样即使某一层被攻破,攻击者也很难横向移动到数据库。
网段大小要留余量。一个 /24 子网有 251 个可用地址,听起来不少,但云服务器、容器节点、负载均衡后端都会占地址,业务一扩就容易不够用。建议核心子网按 /24 或更大规划,测试类子网可以小一点。网段一旦创建就不能改大小,扩容只能新建子网再迁移,成本很高。
不同可用区的子网也要规划好。生产环境至少跨两个可用区部署,每个可用区各有一套 Web、应用、数据库子网,单可用区故障时另一套能接管。这是高可用的基础,网络层没做跨可用区,应用层做再多容灾都是空谈。
三、安全组:最小权限,只开必要的口
安全组是挂在云服务器和网卡上的虚拟防火墙,控制进出流量。规则只有两条原则:默认拒绝,按需放行。Web 服务器只开 80 和 443,SSH 只对运维跳板机或指定 IP 开 22,数据库 3306、6379 这类端口只对应用子网的网段开放,绝不对 0.0.0.0/0 开放。
规则要按组引用,不要写死 IP。安全组支持引用另一个安全组作为源,比如数据库的安全组规则写成“允许来自应用层安全组的 3306 流量”,这样应用服务器换了 IP 也不用改规则,伸缩扩容时尤其省事。规则数量有上限,臃肿的规则表既难维护又容易出错,定期清理不再用的规则。
出方向规则也别忽略。默认出方向是放行全部,很多团队从不收紧。出方向建议至少限制数据库子网的出口:数据库不需要访问公网,就把出方向关掉;需要访问外部 API 的应用服务器,出方向只放行必要的地址和端口。万一应用被入侵,收紧的出方向能挡住数据外传。
四、网络 ACL:子网级的第二道防线
安全组管的是实例和网卡,网络 ACL 管的是整个子网,相当于子网门口的保安。两者配合使用:安全组做精细的实例级控制,网络 ACL 做子网级的粗粒度兜底。比如数据库子网的网络 ACL 可以直接拒绝所有来自公网网段的入方向流量,哪怕有人误改了安全组,还有 ACL 兜底。
网络 ACL 是有状态还是无状态,要看具体实现。华为云的网络 ACL 需要同时配入方向和出方向规则,因为返回流量也要有放行规则,配的时候别只配一半,配完用实际连通性测试验证。ACL 规则按编号从小到大匹配,写规则时先写拒绝、后写放行,或者反过来,要想清楚优先级。
不是所有场景都需要 ACL。小型业务只用安全组就够了,ACL 适合对合规要求高、子网多、团队大的场景。上了 ACL 就要有人维护规则表,否则规则越积越多,最后没人敢动。
五、常见坑与排查思路
第一个坑是安全组改了不生效。先确认改的是哪台机器绑的安全组,再确认规则方向是入方向还是出方向,最后确认源地址写的是不是对的。很多时候是把入方向规则写到了出方向,或者源写成了自己的公网 IP 而不是对端地址。
第二个坑是跨 VPC 访问。两个 VPC 默认不通,需要建对等连接,建完还要在双方路由表里加指向对端网段的路由,缺一不可。对等连接不传递路由,A 连 B、B 连 C 不代表 A 能到 C,跨三个 VPC 要逐对建连接。
第三个坑是 DNS 解析。云服务器默认用云上 DNS,解析内网域名没问题;如果改了自定义 DNS,要确认它能解析云内网域名,否则内网服务名解析失败,表现就是间歇性连不上。排查网络问题时,先 ping 内网 IP,再 ping 内网域名,分清是路由问题还是 DNS 问题。
第四个坑是 NAT 网关的带宽。内网机器通过 NAT 上网,带宽是共享的,业务量一大就容易打满,表现是外网访问时快时慢。NAT 网关的规格和带宽要跟业务量匹配,监控里看到 NAT 带宽利用率长期超过 70% 就要扩容。
小结
VPC 网络就三件事:子网按层隔离、网段留足余量、安全组最小权限。再加一道网络 ACL 做兜底,跨 VPC 用对等连接加路由。网络搭对了,后面扩容、容灾、上安全合规都会顺很多;搭错了,每次排障都是从头再来。
- 点赞
- 收藏
- 关注作者
评论(0)