Private Link 是需云厂商网络协同配置的私网连接功能,仅对专用集群生效,非“一键开通”;其核心依赖服务端创建(如 Atlas 生成 serviceName)与客户端显式创建接口端点(如 AWS vpc-endpoint 或 GCP service attachment),并严格匹配参数、启用 DNS 支持及私有路由,否则流量将静默回退公网。

私有链接(PrivateLink / Private Service Connect / Private Link)不是“开关一开就通”的功能,它依赖云厂商底层网络资源的协同创建,且只对专用集群(Dedicated)生效。M0/M2/M5 免费或共享集群无法启用。
AWS PrivateLink 配置必须分两步走:Atlas 创建服务 + AWS 创建接口端点
很多人卡在第一步之后就以为完成了,其实 Atlas 侧只生成了 serviceName(形如 com.amazonaws.vpce.us-east-1.vpce-svc-0abc123def4567890),真正的连接能力取决于你在 AWS 中是否成功创建了指向它的 vpc-endpoint。
- Atlas 侧执行
kubectl apply -f atlasproject.yaml后,需等待status.privateEndpoints.serviceName字段出现有效值(通常 2–5 分钟) - AWS 侧必须用
aws ec2 create-vpc-endpoint显式调用,且--service-name必须严格匹配 Atlas 返回的字符串,大小写和连字符都不能错 -
--subnet-ids必须指定至少两个不同可用区的子网 ID,否则接口端点状态会卡在pendingAcceptance - 接口端点创建后,AWS 会自动分配私有 IP,但 Atlas 集群连接字符串中的 host 名称不会变——你仍要用原始的
cluster-name.mongodb.net,DNS 解析会自动回落到私有 IP
Google Cloud 的 Private Service Connect 不支持直接复用已有服务目录
和 AWS 不同,GCP 的 Private Service Connect 要求你先在 Atlas 中启用私有端点,再在 GCP 控制台中手动创建一个 service attachment,而不是导入已存在的服务。常见错误是试图把其他项目或非 Atlas 的 service attachment 绑定过去,这会导致连接超时。
- Atlas 创建私有端点时,
provider: "GCP"会触发 Atlas 在对应 region 部署psc-service - GCP 侧必须新建
service attachment,类型选Private Service Connect,backend service 指向 Atlas 提供的 endpoint URI(格式类似https://private.googleapis.com/v1/projects/xxx/regions/us-central1/serviceAttachments/atl-pse-12345) - 客户端 VPC 需要配置
forwarding rule和endpoint policy,否则流量不会被重定向到 PSC
私有端点生效后,连接字符串仍走公网?检查 DNS 解析路径
即使私有端点已就绪,应用连接仍可能走公网,根本原因常是 DNS 解析未命中私有网络域。Atlas 不提供独立的私有 DNS 域名,它依赖云厂商的私有 DNS 解析机制自动覆盖公共解析结果。
- AWS:确保你的 VPC 启用了
enableDnsHostnames和enableDnsSupport,否则接口端点的私有 IP 不会被注入本地 DNS 缓存 - Azure:确认对等 VNet 已在
Private DNS Zone中注册,并将mongodb.net区域链接到该 Zone - GCP:检查
Service Directory是否启用了private Google access,且 client VPC 的private Google access开关已打开 - 验证方式:在 client VPC 内某台机器上执行
dig cluster-name.mongodb.net,返回的 A 记录应为 10.0.0.0/8、172.16.0.0/12 或 192.168.0.0/16 网段内的地址,而非公网 IP
最易被忽略的一点:私有端点不改变连接字符串本身,也不提供新域名;它完全依赖云厂商的 DNS 和路由层透明劫持。一旦 DNS 解析失败或路由表未同步,流量就会无声无息地回退到公网,而错误日志里往往只显示“connection timeout”,不会提示“走了公网”。


















