You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Terraform配置MongoDB Atlas至Azure网络对等连接遇错求助

Azure市场MongoDB Atlas网络对等连接创建失败排查

尝试通过Terraform从Azure市场提供的MongoDB Atlas向Azure环境添加网络对等连接,使用的Terraform代码如下:

resource "mongodbatlas_network_peering" "peering" {
  project_id            = mongodbatlas_project.project.id
  container_id          = mongodbatlas_cluster.cluster.container_id
  provider_name         = "AZURE"
  azure_directory_id    = data.azurerm_client_config.current.tenant_id
  azure_subscription_id = data.azurerm_subscription.subscription.id
  resource_group_name   = data.azurerm_virtual_network.vnet.resource_group_name
  vnet_name             = data.azurerm_virtual_network.vnet.name
  depends_on = [ azurerm_role_assignment.mongodb_role_assignment ]
}  

执行时出现错误:

error creating MongoDB Network Peering Connection: POST https://cloud.mongodb.com/api/atlas/v1.0/groups/xxxxxxxxxxxxxxxxxxxxxxxxxx/peers: 404 (request "AZURE_CUSTOMER_NETWORK_UNREACHABLE") External Azure subscription unreachable.

运行Terraform代码的Azure SPN已拥有订阅参与者权限及VNet网络参与者权限,且当前VNet无防火墙拦截,疑问:是否需要将该SPN添加为MongoDB用户?


回答

不需要将该SPN添加为MongoDB用户,这个错误的核心是Atlas服务无法访问到你的Azure订阅资源,可从以下几个方向排查:

  • 确认SPN已被授予Microsoft.Network/virtualNetworks/peer/action权限(虽然订阅参与者权限理论上包含该权限,但可单独验证权限配置是否生效)。
  • 检查Azure订阅是否允许跨租户网络对等连接,部分订阅会通过Azure Policy限制外部租户的对等操作,需确保没有相关策略阻止。
  • 验证Terraform配置中的container_id是否正确,该ID对应Atlas集群所在的Azure容器资源,必须与目标VNet处于同一区域且匹配网络范围。
  • 确认Atlas项目已完成Azure集成授权,在Atlas控制台中检查是否已通过服务主体授权Atlas访问你的Azure订阅资源。
  • 排查Azure订阅的资源提供商注册状态,确保Microsoft.Network已完成注册(未注册会导致网络API调用失败)。

内容的提问来源于stack exchange,提问作者pieter-jan goeman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 09:16:14