数据库改为私网访问后,应用可能出现连接超时、拒绝或认证错误。它们分别可能位于名称解析、路由、边界策略、数据库监听或协议认证阶段。按连接路径分层判断,比重新开放公网端口更安全,也能避免把协议层错误误当成网络问题。
从应用运行环境检查数据库主机名、端口和解析结果,而非仅在运维电脑上查询。可用getent hosts db.internal观察该环境中的DNS视图。容器、独立VPC或不同解析器可能返回不同记录;确认解析出的地址落在预期私网范围,并与数据库实例或代理入口对应。连接串使用私有域名不代表最终一定连到私网地址。
核对应用配置是否仍引用旧公网地址、错误端口或备用主机名。若数据库有代理层,确定应用应连接代理还是实例,并验证代理目标池健康状态。📍
从应用子网逐跳核对到数据库子网的路由、VPC互联或专用连接、返回路由、安全组及网络ACL。策略应允许实际应用来源访问数据库协议端口,同时避免无关网段访问。使用nc -vz db.internal 5432做TCP探测;按实际数据库类型替换端口。超时通常提示路径丢弃、无回程或过滤,但仍需结合云侧流日志、路由和监听证据确认。
如果连接立即被拒绝,可能是目标地址可达但端口没有监听,或策略主动拒绝。不同平台的丢弃与拒绝表现并不完全相同,不能只凭一种错误字符串下结论。⚙️
TCP探测成功后,继续查看数据库监听地址、TLS模式、证书信任、账号权限、数据库名称和连接池设置。认证失败或TLS握手报错说明请求已到达更高协议层,继续放宽网络规则通常无效。观察应用连接池等待、创建连接时间、数据库拒绝日志和最大连接占用,区分网络慢、连接耗尽与认证问题。
短时间内应用连接数激增可能耗尽数据库连接额度或代理连接池,表现为部分实例成功、部分超时。通过连接池等待时间和数据库活动连接趋势判断,不要把每个应用实例的错误都归因于网络不稳定。🔬
正向连接成功与负向访问受限都通过,才证明私网设计有效。保留路径图、来源范围和测试结果,后续网络调整时可复用为回归验收基线。✅