Skip to content

02 - VPC 网络与 SLB 负载均衡 ​

本章目标:网络是运维面试的深水区。要求讲清:VPC/vSwitch/路由表的层级模型、安全组与 NACL 差异、EIP 与 NAT 网关 SNAT(挂靠我的真实 SNAT 用例)、SLB 三兄弟选型、监听与健康检查(挂靠 apiserver 统一接入真实用例)、HTTPS 证书托管。水位:概念与选型【必背】,参数细节【理解】,组网进阶【了解】。


2.1 VPC / vSwitch / 路由表——网络底座【必背】 ​

知识点:

  • VPC(专有网络):租户私有的逻辑网络空间,私网网段自选(常用 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16 段),租户之间二层隔离。所有资源(ECS/SLB/RDS/ACK)都必须落在某个 VPC 里。
  • vSwitch(交换机):VPC 内的子网,对应一个 AZ。规划建议:按"角色/层"拆子网(如业务子网、中间件子网、数据库子网),而不是所有机器堆一个子网。
  • 路由表:控制子网间与出网流向。VPC 内子网默认互通;出公网要挂 NAT 网关/EIP 路由;跨 VPC 走对等连接/云企业网 CEN;上 IDC 走 VPN 网关/专线。
  • 关键红线:两个 VPC 网段不能重叠(否则无法对等互通);选网段要预留扩展空间(默认经验:核心生产 VPC 选 /16 给够余量)。
  • 移动云对标:VPC/子网/路由概念完全同构,我在移动云为 K8s 集群规划了独立 VPC + 按角色划分子网 + NAT 出口。

标准回答(面试官问"讲讲你对 VPC 的理解,子网怎么规划"):

VPC 是租户专属的逻辑网络空间,网段自己定,租户之间二层隔离,云上所有资源都必须挂在某个 VPC 里;VPC 下面是交换机,也就是子网,每个子网对应一个可用区;路由表决定流量走向,VPC 内默认互通,出公网、连其他 VPC、连 IDC 都是配路由实现的。我的子网规划方法是按角色分层而不是按位置堆放:我移动云项目里给 K8s 底座划了独立 VPC,master、worker、中间件、监控分别落不同子网,这样安全组跟着子网角色走、审计和排障也清晰,比如看到来自中间件子网的异常访问一眼就能定位。网段选择我会留足余量选大段,因为 VPC 后续不能随意扩,而且要注意规划的网络之间网段不能重叠——重叠了就没法打通。这套模型在阿里云叫 VPC 加 vSwitch,在移动云名字几乎一样,操作差异只在控制台。

追问 1:两个 VPC 怎么互通?

三条路按场景选。同账号同地域少量 VPC 打通用对等连接,点对点、低延迟、免费流量;多账号多地域的复杂组网用云企业网 CEN,中心化路由,加一个 VPC 就挂一张网,适合有几十个 VPC 的企业级拓扑;连线下 IDC 用 VPN 网关走公网加密,或者专线走物理链路,重要生产一律专线为主 VPN 为备份。我项目里业务集中在单 VPC,没用到 VPC 间互通,但组网概念对标过:这层知识是跨云通用的,移动云、阿里云、华为云都是对等/中心网关/专线三件套,只是产品名不同。

追问 2:VPC 网段怎么选才不留坑?

我有四条经验。一是选私有地址段里"不那么常见"的大段,避免和客户既有网络、专线对端网段撞车——撞了就永远打不通;二是给核心生产 VPC 直接上 /16,子网按 /20 或 /24 切,K8s 场景还要给容器网络留独立网段并且预留 VPC 网段的倍数空间;三是画一张全司网段分配表,跨项目登记,谁也不能私占;四是验证连通性时记得把重叠检查做在方案评审,上线后改网段等于重做。我在移动云项目里是先出网络规划文档、评审通过才创建资源,这一步没省过。


2.2 安全组 vs 网络 ACL【理解】 ​

知识点:

维度安全组网络 ACL
作用层级实例/网卡级(分布式)子网级
状态有状态(响应流量自动放行)无状态(进出都要显式配规则)
默认行为默认拒绝,需显式放行默认放行或拒绝均可配
规则对象IP/CIDR/其他安全组IP/CIDR
典型用途实例级精细管控、组间授权子网级粗粒度边界控制
  • 生产姿势:ACL 做子网边界粗防,安全组做实例精防,两层纵深。阿里云主流实践以安全组为主(ACL 支持有限,概念上对标华为云/AWS 的 Network ACL)。

标准回答(面试官问"安全组和 NACL 有什么区别"):

核心区别三点:作用层级、状态性、默认行为。层级上安全组贴在实例网卡上,是分布式的;ACL 挂在子网上,是这个子网的边界闸门。状态性是最容易被追问的点——安全组是有状态的,入方向放行了,对应的回包自动放行,配规则只配一半;ACL 是无状态的,进和出要各配一条,规则量翻倍。默认行为上安全组默认拒绝一切,必须显式放行;ACL 通常默认放行,靠规则去挡。我的生产姿势是两层叠加:子网层用 ACL 做粗粒度边界,比如直接拒掉已知恶意网段;实例层用安全组做精细管控,重点用组间授权——按角色建组、组与组互相授权,机器增减时规则自动跟随。我在移动云的 K8s 集群就是安全组组间授权为主,master 组只放行 worker 组和 CLB 网段,这套纵深思路跨云通用。

追问:为什么安全组更适合做主策略?

三个理由。一是管理成本低:有状态特性让规则量减半,组间授权不用维护 IP 清单;二是跟实例生命周期绑定:机器迁移、重建规则跟着安全组走,不会像主机 iptables 那样重装即失;三是审计与合规友好:平台托管、变更留痕,等保检查时直接导规则清单。我在移动云把主策略全收敛在安全组层,主机 iptables 只留兜底默认拒绝,这样策略有单一事实来源,出问题时不会出现"到底哪层放行/挡住"的猜谜。


2.3 EIP 与 NAT 网关 SNAT【必背——真实用例】 ​

知识点:

  • 出公网两种模式:
    1. 每台 ECS 绑 EIP:IP 分散、每台暴露、费用按个算——只适合个别机器。
    2. NAT 网关 SNAT 统一出口:ECS 无公网 IP,出网统一走 NAT 网关绑定的 EIP——安全(入向不可达)、可控(出口 IP 唯一,白名单好维护)、省钱(一个 EIP 全网共享)。
  • SNAT 条目:按 vSwitch/网段配置出口 IP;DNAT 条目:把 EIP 的端口映射到内部实例(等价端口映射)。
  • 优先级铁律:实例绑了 EIP 后其出网优先走 EIP,高于 SNAT——生产出口白名单场景要注意。
  • 逆向认知:SNAT 后外部无法主动连入——无公网 IP + SNAT 是安全基线配置。
  • 移动云对标:我的真实用例——移动云生产环境 K8s 集群业务 ECS 全部无公网 IP,出公网(拉取外部镜像源、yum 源、对接第三方 API)统一走公网 NAT 网关 SNAT 出口,出口 IP 单一,第三方白名单只需登记一个 IP。

标准回答(面试官问"私网机器怎么安全上公网"):

标准答案是 NAT 网关加 SNAT。做法是:所有业务 ECS 不绑公网 IP,NAT 网关上配 SNAT 条目,指定某个子网或网段的出网流量统一走 NAT 网关绑定的 EIP 出去。这个模式有三个好处:一是安全,机器没有公网 IP,外部主动连不进来,攻击面直接消失;二是可控,全网出口 IP 是唯一的,第三方接口白名单只需要登记一个 IP,出问题抓包排查也简单;三是经济,一个 EIP 服务整段网段。我在移动云生产环境就是这么配的:K8s 集群七台节点全部无公网 IP,拉镜像源、系统更新、调第三方 API 统一走 NAT 网关 SNAT,出口收敛成一个 IP。有一个生产细节我会主动提:如果某台机器后来临时绑了 EIP,它的出网会优先走 EIP 而不是 SNAT 条目,出口 IP 就变了——对有白名单的场景这是隐形故障源,所以变更流程里我会把"动 EIP"列为高风险操作。

追问 1:SNAT 和 DNAT 分别什么场景?

SNAT 是出方向,改源地址,解决"内网机器怎么出公网",我们集群拉外部镜像源就是这个场景;DNAT 是入方向,改目的地址,把公网 EIP 的端口映射到内网某台机器,解决"外网怎么访问一台没公网 IP 的机器"。方向刚好相反。生产上我的倾向是:入方向优先用负载均衡而不是 DNAT——SLB 自带健康检查、流量分发和弹性,DNAT 是点对点映射,后端挂了它不知道。我们的 apiserver 对外接入走的就是 CLB 四层 VIP 而不是 DNAT 映射单台 master,就是这个原因。DNAT 留给没有负载均衡形态的特殊端口场景,比如临时调试某个内部服务。

追问 2:为什么不给每台机器都绑 EIP?

三个层面反对。安全上每绑一个 EIP 就多一台暴露在公网的机器,攻击面线性增长;管理上十几个出口 IP 意味着十几个要维护的白名单条目和日志源,排障时聚合出口才方便;成本上 EIP 按个计费,NAT 网关模式一个 EIP 共享全段。唯一合理场景是"这台机器确实要独立出入公网且有特殊端口需求"。我项目里的原则是:能走 SNAT 的绝不绑 EIP,能走负载均衡的绝不 DNAT,公网暴露面收敛到只剩 CLB 的 VIP 和堡垒机两个入口。


2.4 SLB 家族:CLB / ALB / NLB【必背】 ​

知识点:阿里云 SLB 是产品家族总称,含三个子产品:

维度CLB(传统型)ALB(应用型)NLB(网络型)
层级四层(TCP/UDP)+ 七层(HTTP/HTTPS,功能较基础)专注七层(HTTP/HTTPS/QUIC)专注四层(TCP/UDP/TCPSSL)
定位老牌经典产品,存量主力面向七层业务,强内容路由、HTTPS 卸载、与 ACK/函数计算集成深超高性能四层,亿级并发连接
转发依据四层按 IP+端口;七层按域名/URL 基础转发域名、路径、Header 等高级转发规则IP+端口
架构集群部署,四层转发走 LVS 类实现七层走 Tengine 类集群高性能四层转发
典型场景传统四层端口转发(TCP 代理、数据库出口等)Web 应用、微服务网关、多域名多路径大并发 TCP 长连接(消息、游戏、apiserver 类)

选型一句话:要按域名/路径/Header 转发、HTTPS 卸载 → ALB;四层超大并发/长连接 → NLB;存量四层端口类转发、简单 TCP 代理 → CLB(我项目同构场景用的就是 CLB 四层 TCP)。

移动云对标:移动云的负载均衡就叫 CLB,我在生产用的是四层 TCP 监听 + VIP——与阿里云 CLB 四层完全同构。

标准回答(面试官问"阿里云负载均衡怎么选型"):

阿里云 SLB 是一个家族,三个子产品按层级和场景分:ALB 是七层应用型,专吃 HTTP/HTTPS 流量,强项是按域名、路径、Header 做高级转发和 HTTPS 证书卸载,适合 Web 应用和多域名网关场景,单实例能扛百万级 QPS;NLB 是四层网络型,强项是超大并发和长连接,亿级连接级别,适合消息推送、游戏这类 TCP 大流量;CLB 是传统型老产品,四层七层都支持但功能相对基础,存量部署最大,简单四层端口转发是它的舒适区。选型一句话:要内容层转发选 ALB,要四层极致性能选 NLB,传统端口类转发用 CLB 就够。我的实践锚点是移动云——我在生产里用的就是 CLB 四层 TCP 监听做 K8s apiserver 的统一接入,健康检查自动摘除故障 master,这个场景不需要七层内容解析,四层转发加健康检查就是最优解,所以同场景在阿里云我也会选 CLB 或 NLB 四层。

追问 1:四层和七层负载均衡的本质区别?

本质是转发时"看得多深"。四层工作在传输层,只看 IP 和端口,收到连接后原样转发 TCP/UDP 流,不解析应用内容,所以性能高、协议无关——数据库、MQ、apiserver 这类非 HTTP 服务只能用四层;七层工作在应用层,要先完成 HTTP 解析,才能按域名、路径、Cookie、Header 做转发决策,还能做 HTTPS 证书卸载、WAF 联动、会话保持,但每次转发都有解析开销。我的场景判断标准就一条:非 HTTP 协议或需要裸 TCP 性能选四层;需要按业务内容路由或证书统一管理选七层。我在移动云给 apiserver 配的就是四层 TCP——apiserver 是 HTTPS over TCP,负载均衡不需要理解内容,四层透传加健康检查即可,证书留给服务端自己管。

追问 2:ALB 和 Nginx 什么关系,有了 Nginx 还要 ALB 吗?

ALB 内核上和 Nginx/Tengine 是同源思路的七层转发,但 ALB 是托管服务:自动多可用区容灾、弹性扩容、证书托管、和 ACK/安全产品原生集成,这些是自建 Nginx 要自己搭的。选择逻辑:有云上运维团队、流量复杂、要高可用 SLA,托管 ALB 省心;要深度自定义模块、成本敏感、混合部署,自建 Nginx 灵活。我项目里两层都有真实实践:自建 K8s 里业务流量入口是 Ingress Nginx,而 apiserver 接入用云 CLB——对外统一接入交给云负载均衡做高可用,应用层路由交给 Ingress 做业务逻辑,各干各的擅长的事。


2.5 监听与健康检查【必背——真实用例】 ​

知识点:

  • 监听(Listener):负载均衡上"监听什么协议端口 + 转给哪个后端"的规则。CLB 四层监听:TCP/UDP;七层监听:HTTP/HTTPS。
  • 健康检查:CLB 集群内节点向各后端服务器定期发探测请求(TCP 探测:能否建连;HTTP 探测:返回 2xx/3xx 视为健康),连续失败达到阈值判定异常并自动停止向其转发,恢复后自动重新纳入。
  • 关键参数【理解】:健康检查间隔(秒级)、健康/不健康阈值(连续次数)、响应超时、检查端口(可独立于业务端口)。四层 TCP 探测粒度粗但兼容性最好(任何能建连的服务都能探)。
  • 会话保持【理解】:四层基于源 IP,七层基于 Cookie。
  • 移动云对标——我的真实用例(全篇最核心的实战点):移动云 CLB 四层 TCP 监听创建 VIP,后端挂三台 K8s master 的 6443(apiserver),开健康检查:探测间隔秒级、连续失败自动摘除故障 master,kube-apiserver 客户端(kubectl/组件/CI)统一连 VIP。价值:任一 master 故障,CLB 自动把连接导到健康节点,客户端零改动;故障 master 恢复后自动回归负载池。

标准回答(面试官问"讲讲你配置负载均衡健康检查的实战"):

我拿真实项目讲:移动云上我们 K8s 集群三台 master,客户端统一接入用 CLB 四层 TCP 监听。我在 CLB 上创建 VIP 和 TCP 监听,后端挂三台 master 的 6443 端口,开启健康检查——用 TCP 探测,按秒级间隔发探测,连续几次失败判定不健康,自动把它从转发池摘除,恢复后自动加回来。这套配置解决的是控制面单点问题:三台 master 里任何一台的 apiserver 挂了,CLB 几秒内把新连接全部导给健康节点,kubectl、集群组件、CI 流水线都只连 VIP,完全无感知,不用改任何客户端配置。排查过一次健康检查异常:新加的 master 转发不通,最后定位是 CLB 网段到该节点的 6443 在安全组没放行——补上组间授权立刻恢复。这件事给我的经验是:健康检查失败时先查"探测路径上的网络授权",再查服务本身。这套参数逻辑在阿里云 CLB 上完全同构。

追问 1:健康检查用什么协议好,TCP 还是 HTTP?

按服务的表达能力选。TCP 探测只验证"端口能建连",兼容一切 TCP 服务,但粒度粗——服务进程假死但端口还在 LISTEN 时探不出来;HTTP 探测要求服务返回 2xx/3xx 状态码,能验证应用逻辑真的活着,适合 Web 类有健康检查端点的服务。我的配法:Web 业务配 HTTP 探测并约定 /healthz 端点;apiserver 这种协议敏感的服务用 TCP 探测——apiserver 自身有自己的健康接口,但四层监听下 CLB 只做 TCP 探测,深度健康由 K8s 自己的探针体系分层兜底。原则是:健康检查的深度要和服务的能力匹配,探得太浅防不了假死,探得太深又可能误杀。

追问 2:健康检查和 K8s 的探针是什么关系?

两层不同位置的保活机制,配合使用。云负载均衡的健康检查管"节点级":探测某台机器上的端口是否可达,决定流量是否导给它,粒度是机器;K8s 的 liveness/readiness 探针管"Pod 级":readiness 失败就把 Pod 从 Service 的 endpoint 里摘掉,liveness 失败直接重启容器,粒度是应用实例。我们的链路是:客户端 → CLB VIP → 节点 6443,CLB 摘的是坏节点,集群内部 Service/Endpoint 摘的是坏 Pod,流量先进到健康节点、再由集群内部机制导到健康 Pod。我在移动云排查健康检查异常时就同时核对过这两层——先看 CLB 后端状态,再进节点看 Pod 探针事件,两层状态对齐了才算真正闭环。


2.6 HTTPS 证书托管【理解】 ​

知识点:

  • 阿里云有数字证书管理服务(SSL 证书):购买/免费申请 DV 证书 → 控制台托管 → 一键部署到 CLB/ALB/CDN/WAF,证书到期自动提醒。
  • 负载均衡侧做法:七层 HTTPS 监听上托管证书,SSL 卸载在负载均衡层完成,后端走 HTTP 或重加密。
  • 免费证书:个人/测试可用 DV 单域名证书(一年期,需续);企业生产常买 OV/EV 或通配符。
  • 七层转发规则支持域名+路径维度 → 多站点共用一个负载均衡实例。
  • 移动云对标:CLB 七层同样支持证书托管(我项目 apiserver 是四层 TCP,证书由 apiserver 自持,未走 LB 卸载——这个细节能讲清更显真实)。

标准回答(面试官问"云上 HTTPS 证书怎么管"):

云上证书管理的正确姿势是证书托管加统一卸载。阿里云有数字证书管理服务,证书申请下来后托管在平台,可以一键部署到负载均衡、CDN、WAF,到期前自动告警,不用手工登机器换证书。负载均衡侧配 HTTPS 监听时绑定证书,SSL 卸载在负载均衡层完成——解密开销不落在业务机器上,后端可以走内网 HTTP 提升效率,安全要求高的场景也可以到后端再加密一次。我的真实情况是:移动云项目里对外的 apiserver 接入走的是四层 TCP,证书不做 LB 卸载,由 apiserver 自己持证——因为四层是透传,证书必须留在服务端,这也是四层和七层在证书处理上的典型差异,我正好两边都实践过:业务 Web 入口如果要统一管证书,就该上七层 HTTPS 监听做卸载。阿里云这边托管机制同构,概念完全对得上。


2.7 转发算法与会话保持【理解】 ​

知识点:

  • 转发算法三档:轮询(默认,均匀分发)、加权轮询(后端性能不齐时加权)、加权最小连接数(长连接场景按当前连接数分)。
  • 会话保持:四层基于源 IP(同一源 IP 固定进同一后端);七层基于 Cookie(平台注入/重写)。
  • 生产陷阱:会话保持与滚动发布冲突——老用户被粘在旧版本节点,流量切换不彻底。
  • 最佳实践:应用无状态化(会话进 Redis),负载均衡不需要会话保持,调度纯轮询。
  • 移动云对标:CLB 同样有调度算法与会话保持配置;我的集群会话放主备 Redis,LB 纯轮询。

标准回答(面试官问"负载均衡的调度和会话保持怎么配"):

转发算法有三档常用:轮询是均匀分发,适合后端规格一致;加权轮询给性能强的机器更高权重,适合后端配置不齐;加权最小连接数看每台机器当前连接数,把新请求给最闲的,长连接场景分布更均匀。会话保持解决"同一用户的请求要粘在同一后端":四层基于源 IP 哈希,七层基于 Cookie 注入。但我要主动讲一个生产陷阱:会话保持和滚动发布天然冲突——发布时一部分后端是新旧两个版本,会话保持把老用户持续粘在旧节点,流量切换不彻底、新版本验证不充分。我在移动云的解法是应用无状态化:会话数据放我们本来就有主备热备的 Redis 里,负载均衡完全不配会话保持,调度纯轮询,发布和扩缩容都干净利落。这是架构选择倒逼配置简化的典型案例,也是我在架构里坚持"状态集中存储"的原因——无状态换来每一层的自由。

追问:为什么说无状态化是最佳实践?

因为无状态让每一层都获得自由:负载均衡不用配会话保持、任意算法可调度;扩缩容随时加减机器;发布可以任意滚动重启;故障可以任意摘除节点。代价是要维护一个共享会话存储——通常就是高可用的 Redis,会话过期时间与业务对齐。状态集中之后,"任意一台机器随时可死"成为架构假设而不是祈祷,这是云上弹性能力的底层前提。我的移动云项目里 Redis 主备热备正好承担这个角色,发布期间的会话零丢失。

2.8 VPC 互通与混合云组网【理解】 ​

知识点:

  • 对等连接:点对点 VPC 互通,低延迟,两个 VPC 场景首选;N 个 VPC 全互通需要 N×(N-1)/2 条连接,规模大管理爆炸。
  • 云企业网 CEN:中心化多 VPC/多地域组网,新 VPC 挂载即全网可达。
  • VPN 网关:公网加密隧道连 IDC,成本低、受公网质量影响。
  • 物理专线:生产混合云首选,时延稳定带宽保障;标准姿势专线主 + VPN 备。
  • 选型口诀:两个 VPC 对等;几十个 VPC/多地域 CEN;连 IDC 生产专线为主。
  • 移动云对标:组网概念完全同构(对等/云联网类/专线/VPN);我的项目单 VPC 集中部署,组网知识用于方案设计。

标准回答(面试官问"VPC 之间怎么互通,连 IDC 呢"):

VPC 之间的组网按规模选。两个 VPC 点对点打通用对等连接,配置简单、延迟低;但要打通 N 个 VPC 就是平方级的连接数,管理爆炸,这种规模用云企业网——中心化路由,新 VPC 挂上来全网可达,适合多账号多地域的企业级架构。连接线下 IDC 两条路:VPN 网关走公网加密隧道,成本低、见效快,但受公网质量影响;物理专线是生产混合云的正解,时延稳定、带宽有保障,标准做法是专线主、VPN 备的双链路冗余。我项目环境集中在单 VPC,跨 VPC 组网没有生产实操,但这个知识域是完整的——做上云方案时我专门画过组网图:迁移期用 VPN 快速打通验证链路,生产稳定后评估切专线。组网选型的本质是"规模和可靠性等级决定形态",这套判断逻辑跨云通用,移动云、阿里云、华为云都是这四件套,只是名字不同。

追问 1:混合云组网最需要注意什么?

三条。第一,网段不重叠是红线——VPC 网段、IDC 网段、专线对端网段在规划期统一登记,一旦重叠永远打不通,只能重建;第二,路由完整——两端路由表逐条核对,漏一条就是"一半通一半不通"的经典故障,测试要覆盖所有网段组合;第三,安全边界重构——专线把内网边界延伸到了云端,访问控制要在两端同时收紧,云端资源和 IDC 资源不能因为"都是内网"就互信。我这三条全部写进了网络规划评审清单,规划期比排障期便宜一百倍。

追问 2:跨 VPC 流量收费吗,怎么规划省成本?

对等连接跨 VPC 流量一般按流量计费,同地域内网互通方向有费率;规划上首先是架构降流量——数据库和应用尽量同 VPC 部署,跨 VPC 只留必要的管理和同步流量;其次评估云企业网与多条对等的费率差,规模大时中心网关更划算。我的习惯是把"哪些流量跨 VPC"写进架构文档,流量路径可控,成本才可控。


2.9 SLB 常见故障案例三则【理解——案例复盘】 ​

案例清单:

  1. 后端负载不均:症状是几台后端 CPU 差异巨大。常见原因三档:调度算法配错(应加权却纯轮询)、会话保持把老用户粘在个别节点、后端某台自身慢(CPU/线程池满)导致"分到一样多、处理不一样快"。
  2. 健康检查频繁抖动:后端在健康/不健康间反复横跳。原因:探测阈值过严(一次失败就摘)、后端高负载时响应超时、检查端口与服务实际监听不一致。
  3. 七层监听返回 504:后端处理耗时超过监听的超时配置——慢 SQL、下游依赖阻塞传导到网关。

标准回答(面试官问"负载均衡的故障你处理过吗"):

我讲一个真实案例加两个典型形态。真实案例是我移动云 apiserver 接入的健康检查异常:新扩 master 不接流量,我按探测链路查——CLB 配置对、服务本机监听对,最后发现是 CLB 网段到新节点的安全组没放行,补组间授权立即恢复,从此扩容检查单里多了"探测路径授权"一项。另外两个典型形态我也有预案:负载不均先查三件事——调度算法是否匹配后端规格、会话保持是否造成粘滞、后端是否有某台自身变慢;健康检查抖动先调阈值和超时的匹配关系,再查后端负载,抖动本质是"探测能力扛不住后端波动"。第三个形态是七层 504,那是后端处理慢传导到网关超时,根因排查要往后端依赖链走。我的方法论是"负载均衡层的问题,一半根因在后面"——它是个透明转发层,监控上要区分"入口指标"和"后端指标"两层看,才不会被表象带偏。

追问 1:502 和 504 怎么区分根因?

502 是网关收到了无效响应——后端进程挂了、连接被重置、返回了不合法内容,偏"连接层坏了";504 是后端长时间不响应超过网关超时——偏"处理层慢了"。我的定位顺序:502 先看后端进程存活和错误日志,504 先看后端耗时分布和依赖链——数据库、下游接口哪个环节拖住的。两种码都说明问题大概率在后端,负载均衡只是报信的。

追问 2:什么时候该扩后端而不是调参数?

看曲线形态:如果后端水位长期在 70% 以上、响应时间随水位同步上涨,这是容量问题,调参数只是推迟爆炸,正确动作是加节点或升配;如果水位不高但耗时异常,是效率问题——慢 SQL、锁竞争、下游阻塞,扩容没用。我的判据是"水位和耗时要一起看",单看哪个都会误判。扩容后还要回看调度算法——新节点权重是否合理、健康检查是否放行,扩容引发的问题我在真实案例里吃过一回。


2.10 实操模板 ​

模板 A:负载均衡选型决策表 ​

问题若是若否
是否 HTTP/HTTPS 流量?进入 ALB/CLB 七层判断选四层:NLB 或 CLB 四层
是否需要域名/路径/Header 转发、证书统一卸载?ALB(七层首选)简单四层转发 → CLB
四层是否超大并发/长连接(万级以上)?NLBCLB 四层(中小规模足够)
是否非 HTTP 协议(数据库/MQ/apiserver)?四层(CLB/NLB TCP)—
存量环境迁移(保持架构不变)?CLB新建优先 ALB/NLB

模板 B:apiserver 统一接入参数清单(我的真实配置口径) ​

配置项我的取值/做法说明
产品形态CLB 四层 TCP 监听非 HTTP 内容转发,四层透传
VIP 用途所有客户端(kubectl/组件/CI)统一连此地址故障切换客户端零改动
后端3 × master:6443etcd 三副本仲裁
健康检查TCP 探测,秒级间隔,连续 N 次失败摘除摘除/恢复全自动
安全组master 组放行 CLB 网段 + worker 组访问 6443组间授权,不写裸 IP
证书apiserver 自持(四层透传不卸载)与七层卸载场景区分
出口侧集群出网走 NAT 网关 SNAT与入向 VIP 分离

模板 C:公网暴露面收敛清单(我的出口治理口径) ​

检查项目标状态
ECS 公网 IP无——业务网段全部无公网 IP
公网出口仅 NAT 网关 SNAT 一个出口 IP
对外服务入口仅负载均衡 VIP(CLB 四层)一个
管理入口仅堡垒机,22/3389 不对公网
安全组 0.0.0.0/0业务安全组清零(仅公共资源例外)
白名单登记出口 IP 已在第三方白名单登记归档

模板 D:端口不通四层排查法(顺序执行) ​

  1. 查源/目标安全组规则(协议、端口、授权对象)。
  2. 查主机内服务监听(ss/netstat 是否 LISTEN 于目标地址端口)与主机防火墙。
  3. 查中间设备:SLB 监听与健康检查状态、NAT/DNAT 映射、K8s Service/NetworkPolicy。
  4. 链路验证:telnet/nc 探端口、traceroute 定位断点、抓包比对 SYN 是否到达。

2.11 章末自测(一句话答案) ​

  1. 阿里云 SLB 家族三个产品?——CLB 传统型、ALB 七层应用型、NLB 四层网络型。
  2. 要按域名路径转发选哪个?——ALB。
  3. 四层和七层转发的本质区别?——四层只看 IP 端口透传,七层解析 HTTP 内容按业务规则转发。
  4. 安全组和 ACL 最大的状态差异?——安全组有状态(回包自动放行),ACL 无状态(进出各配)。
  5. SNAT 和 DNAT 方向?——SNAT 出公网改源地址,DNAT 入访问改目的地址。
  6. 实例绑 EIP 后出网走谁?——优先走 EIP,高于 NAT SNAT 条目。
  7. CLB 健康检查 TCP 探测的局限?——只验证端口可建连,防不了进程假死,深度健康要靠 HTTP 探测或应用探针。
  8. 我的 apiserver 接入方案一句话?——移动云 CLB 四层 TCP VIP 挂三台 master 6443,健康检查自动摘除,客户端统一连 VIP。
  9. 四层监听下 HTTPS 证书在哪里?——服务端自持(透传不卸载);要卸载就上七层 HTTPS 监听。
  10. 出公网为什么首选 NAT SNAT 而不是每机绑 EIP?——暴露面收敛、出口 IP 唯一白名单好维护、成本更低。
  11. 会话保持与滚动发布的冲突?——粘滞让老用户持续打旧版本节点,无状态化后显式关闭会话保持。
  12. 内网 DNS 解析异常排查口诀?——nslookup 验证结果、查私有解析区绑定、查 resolv.conf 是否被改、跨实例对比隔离。
  13. 四层拿真实 IP 与七层的差异?——四层透传源 IP 即真实 IP,七层要在 X-Forwarded-For 头里取。

2.12 高频追问补充包(连环追问应对) ​

追问 A:SLB 本身能抗 DDoS 吗?

云负载均衡自带基础防护能力,配合平台 DDoS 原生防护可以抗常见流量攻击;超大攻击要上高防类产品——清洗中心扩容能力强。我的分层认知:负载均衡解决"流量怎么分",DDoS 防护解决"流量过不过得来",WAF 解决"进来的流量干不干净",三者是串联的纵深不是互相替代。

追问 B:长连接应用选什么调度算法?

加权最小连接数更合适——长连接下轮询按"新建连接"分发,老连接常驻会导致先启动的节点积压;最小连接数看实时连接数分新请求,天然均衡。我的真实场景里 apiserver 的 gRPC 类长连接就是这个逻辑,虽然 CLB 四层 TCP 我没细调算法,但这个选型原理是清楚的。

追问 C:客户端真实 IP 四层和七层怎么获取?

四层 TCP 透传时源 IP 本来就是客户端真实 IP,后端直接看得到;七层因为负载均衡代替客户端向后端建连,后端看到的源是 LB 的 IP,真实 IP 在 X-Forwarded-For 头里传递。这个差异影响日志、风控、访问控制——我在排查 apiserver 访问日志时就要区分连接源和真实源。

追问 D:VIP 要变更时客户端怎么办?

理想情况客户端永远配域名不配 IP——DNS 指向 VIP,变更 VIP 只改 DNS,客户端无感。我项目里 kubeconfig 里写的就是 VIP,如果真要换 VIP 就得重发 kubeconfig,这是硬成本——所以接入层地址一旦下发就当"半永久资产"管理,变更要走公告加双跑。这提醒我:接入层规划时域名化能省未来很多事。

追问 E:CLB 和 WAF 怎么串联?

标准串联是公网流量先进 WAF 清洗七层攻击,WAF 回源到 CLB,CLB 再分发到后端——WAF 在前负责过滤,CLB 在后负责分发。证书可以放在 WAF 层统一管理,CLB 到后端走内网。我在移动云的 WAF 就是入口串联架构的一部分,串联的顺序和证书位置是方案评审过的。

追问 F:健康检查正常、后端也健康,但用户说慢,查哪里?

分段计时:用户端到 VIP 的公网段(DNS 解析、公网质量)、VIP 到后端的内网段、后端自身处理段。用拨测和后端日志的耗时分解定位:拨测慢而后端日志快,问题在公网段或 LB;都慢就是后端处理段。我的习惯是先把"慢"拆成数字——每段多少毫秒,再谈优化,凭感觉聊慢没有意义。


追问 G:公网带宽按带宽计费还是按流量计费?

两种模式各有适用:按带宽计费固定峰值、单价稳定,流量大的稳态业务划算;按流量计费用多少付多少,峰谷差大、峰值集中的业务划算,空闲时段不付费。我的判断方法看流量形态:平均流量接近峰值选按带宽,峰谷差大选按流量,拿监控里的带宽曲线算笔账就清楚。移动云项目是包带宽模式——政企预算制,成本可预期优先。

追问 H:一个负载均衡能挂多张证书吗?

七层监听支持多证书:按扩展域名/SNI 匹配,一个入口服务多个域名,各域名挂各的证书;四层透传没有证书概念,证书在服务端。我管理证书的习惯三条:托管在平台证书服务、到期告警必须配、变更留窗口灰度切。证书过期是最高频的"低级事故"——浏览器拦截、API 客户端 TLS 失败,必须机制化消灭,不能靠记忆。

追问 I:负载均衡的日志能分析什么?

七层监听的访问日志可以投递到日志服务:状态码分布、响应耗时分布、来源 IP、URL 热度。实际用途:5xx 突增的定位——按状态码和 URL 聚合秒级缩小范围;CC 攻击识别——单源 IP 频次异常;慢请求分析——耗时分布的尾部谁在贡献。我的建议是至少把 5xx 比例和 P99 耗时的告警配上,日志是负载均衡排障的第一现场,没有日志的排障全靠猜。

追问 J:多地部署怎么统一流量入口?

全局流量管理类产品:在 DNS 层按地域就近或健康状态把用户导到不同地域的入口,每个地域内部再是各自的负载均衡;主备容灾也是它——主地域健康检查失败自动切备地域,健康检查从实例级上升到了地域级。我概念对标过这套架构:它解决的是"单一入口层再之上的可用性",容灾演练时要专门验证地域切换的实际生效时间,DNS 缓存会让切换比预期慢,这是常见认知差。


2.13 专题:负载均衡上线检查与变更纪律【理解】 ​

知识点(上线六项检查单):

  1. 监听协议端口与后端端口核对(四层/七层选型方案阶段定死)。
  2. 健康检查三件套(间隔/阈值/超时)与业务容忍匹配,不用默认值糊弄。
  3. 调度算法与会话保持明确决策(无状态则显式关闭会话保持)。
  4. 安全组放行 LB 网段访问后端端口(组间授权)——我的真实教训项。
  5. 证书托管 + 到期告警。
  6. 上线前摘除演练:停一台后端,实测自动摘除与恢复时延。

标准回答(面试官问"负载均衡上线你怎么把关"):

我有一张固定检查单。上线六项逐条过:监听协议端口与后端端口核对,四层七层的选型在方案阶段就定死不临时改;健康检查的间隔、阈值、超时三件套按业务容忍配置,不用默认值糊弄;调度算法与会话保持做明确决策——我们应用无状态化后会话保持显式关闭,避免滚动发布的粘滞陷阱;安全组放行负载均衡网段访问后端端口,用组间授权——这项是我的真实教训,新节点漏放行导致健康检查异常,从此它进了检查单;证书托管加到期告警;最后一项是摘除演练——上线前手动停一台后端,实测自动摘除和恢复的时延,把高可用机制在上线前触发一次。变更纪律两条:改监听配置要公告窗口,四层长连接会中断;后端增减先授权后挂载,顺序颠倒就是我踩过的坑。这张检查单在移动云 CLB 上线时逐项执行过,迁移到阿里云 CLB/ALB 参数名不同、纪律相同。

追问:为什么上线前一定要做摘除演练?

因为高可用机制只有被触发过一次才算存在:健康检查参数配错、安全组放行不全、后端权重异常,这些问题在"一切正常"时全部隐藏,摘除演练用两分钟把它们暴露在上线前而不是故障中。演练还顺带产出两个实测数字——摘除时延和恢复时延,这两个数就是故障恢复能力的真值,写进 SLA 和应急预案才有底气。我的观点:上线前的演练是买保险,故障中的验证是赔本生意。


2.14 专题:HTTPS 证书运维全流程【理解】 ​

知识点(证书生命周期五环):

  1. 选型:DV(域名验证,个人/测试)、OV(组织验证,企业)、EV(增强验证)、通配符(*.example.com,子域多时省心)、多域名 SAN。
  2. 申请:平台证书服务在线申请/上传第三方证书。
  3. 托管:统一管理、到期告警、一键部署到 SLB/CDN/WAF。
  4. 部署:七层 HTTPS 监听绑定证书,SSL 卸载在入口层。
  5. 续期/更换:提前 30 天窗口更换,灰度验证,旧证书保留可回滚。

标准回答(面试官问"HTTPS 证书运维你怎么管"):

我把证书管理拆成生命周期五环讲。选型按业务等级:个人测试 DV 就够,企业生产至少 OV——证书里带组织信息可信度更高;子域名多选通配符证书一张管一片,新增子域名不用重新申请;多品牌域名用 SAN 多域名证书。申请和托管环节用平台证书服务统一管:在线申请、集中存放、到期告警、一键部署到负载均衡、CDN、WAF——部署分散在各产品时统一托管尤其重要,否则"哪层哪台配了哪个证书"会变成没人说得清的糊涂账。部署环节七层监听绑定证书,SSL 卸载在入口层完成,后端走内网。续期更换是事故高发环:我的纪律是提前 30 天进窗口、更换后多域名抽样验证、旧证书保留随时回滚——证书过期和"换了新证书部分用户异常"两类事故都源于没有窗口和回滚意识。我的移动云项目里 apiserver 证书的到期台账就是这套管理的产物。证书运维是典型的"小事做成机制",机制的目的是让低级事故在结构上不可能发生。

追问 1:通配符证书和多域名证书怎么选?

看域名结构:同一主域下子域名会持续增加——API、静态资源、各环境子域——选通配符,一张证书覆盖新增子域,运维成本最低;跨多个不同主域且数量固定——选 SAN 多域名证书,一张覆盖所有明确域名。通配符的风险提示:私钥泄漏时影响面是整个主域,所以通配符证书的私钥管理要更严——只放在入口层,不下发到业务机器。

追问 2:证书更换的操作流程和回滚怎么做?

流程四步:新证书申请验证完成先托管备用;变更窗口内在入口层绑定新证书;抽样验证——各域名浏览器和客户端各验一遍,重点验证书链完整性——链不全会导致部分客户端失败;旧证书保留 30 天再清理。回滚:入口层把绑定切回旧证书即可,分钟级。我强调一个坑:证书链不全是"换了证书反而出问题"的头号原因——中间证书没配全,部分老客户端验证失败,所以抽样验证必须覆盖不同客户端类型,不能只看浏览器。


追问 K:内网 DNS 解析异常怎么排查?

云上内网解析由平台 DNS 服务承载,排查四步:先在实例上 nslookup 目标内网域名,确认解析结果是否正确;解析错误查私有域名记录配置——私有域名解析区是否绑定到对应 VPC;解析超时查实例的 DNS 服务器配置——/etc/resolv.conf 是否被改过,这是经典人为故障;最后看是否为缓存问题,换一台实例对比解析结果隔离故障面。我的经验:私有域名解析区绑定 VPC 的范围要和业务 VPC 规划对齐,新增 VPC 忘绑解析区是"新环境一半服务不通"的高频原因。

追问 L:VPC 内流量是免费的吗?有没有容易忽略的流量费?

同 VPC/同地域内网流量一般免费,容易忽略的收费流量有三类:跨地域流量——对等连接和跨地域复制都按量计费;公网出入流量——EIP/带宽按带宽或按流量计费,NAT 网关流量另算;负载均衡的公网流量费。我的成本习惯:流量路径画进架构图,标注每条路径的计费属性——免费内网、计费跨域、计费公网,成本优化的对象就一目了然。OSS 外网流出、快照跨地域复制是我见过最常被忽略的两项。


追问 M:HTTPS 监听转发到后端还是 HTTPS 吗?

默认不是:七层 HTTPS 监听在负载均衡层卸载 TLS,转发到后端默认走 HTTP;有安全要求可配后端再加密(HTTPS 回源或双向认证)。我选型的口径:入口卸载加内网明文是主流——内网段威胁模型不同;合规或零信任要求高时后端重加密,代价是后端也要证书管理。apiserver 是四层透传不走这套,证书自持——两种模式我都实践过,差异能讲清。

追问 N:负载均衡的高可用怎么演练?

三个层次:摘除演练——停一台后端,验证健康检查摘除与恢复时延;可用区演练——模拟单 AZ 后端全挂,验证多可用区分发兜底;实例演练——负载均衡实例本身是集群化服务,主要验证监听配置变更期间的会话影响。我上线前必做摘除演练,季度做一次全链路可用性演练——实测数据(摘除时延、恢复时延、切换时长)写进 SLA 报告,替代假设值。


追问 O:公网入口的突发限流和过载保护怎么做?

分四层设防:负载均衡层——监听连接数和带宽上限,超限的新连接直接拒绝,保住已有连接;WAF/网关层——CC 防护的频次规则挡住恶意刷量;应用层——限流熔断(令牌桶类)保护核心接口;容量层——弹性扩容兜底真实流量增长。我的设计顺序是"先限恶意再保核心":限流的目标不是拒绝用户,而是流量超过容量时有秩序地拒绝一部分,而不是全部一起倒。这套分层在移动云入口链路里我按 WAF 频次规则加应用限流落地过。


参考资料(链接采集时间 2026-10) ​

以下链接均于 2026 年 10 月通过搜索与抓取核实可用:

  1. 负载均衡 SLB 产品家族介绍(CLB/ALB/NLB 定位与选型):https://help.aliyun.com/zh/slb/product-overview/slb-overview
  2. CLB 支持的监听类型及使用场景(四层/七层监听说明):https://help.aliyun.com/zh/slb/classic-load-balancer/user-guide/listener-overview
  3. CLB 健康检查原理概述:https://help.aliyun.com/zh/slb/classic-load-balancer/user-guide/health-check-overview
  4. 配置和管理 CLB 健康检查:https://help.aliyun.com/zh/slb/classic-load-balancer/user-guide/configure-and-manage-health-checks
  5. CLB 健康检查 FAQ:https://help.aliyun.com/zh/slb/classic-load-balancer/support/faq-about-health-checks
  6. CLB 四层和七层监听的功能特性对比:https://help.aliyun.com/zh/slb/classic-load-balancer/product-overview/functional-characteristics
  7. NAT 网关用户指南(公网 NAT 网关 SNAT 实现公网访问):https://help.aliyun.com/zh/nat-gateway/user-guide
  8. VPC NAT 网关介绍:https://help.aliyun.com/zh/nat-gateway/user-guide/what-is-a-vpc-nat-gateway
  9. NAT 网关常见问题(EIP 与 SNAT 优先级等):https://help.aliyun.com/zh/nat-gateway/support
  10. 安全组应用指导和案例(ECS):https://help.aliyun.com/zh/ecs/user-guide/security-groups-for-different-use-cases
  11. NAT 网关产品页:https://www.aliyun.com/product/nat