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

Pulumi部署Azure SQL Managed Instance因网络意图策略错误失败

问题根因梳理

  • 第一阶段Network security group is required报错:你所使用的Azure区域/订阅尚未全量开放SQL MI服务辅助子网自动配置功能,该能力仍处于灰度阶段,多数场景下仍需要手动预配置符合要求的NSG和路由表,仅配置子网委托无法完成部署。
  • 第二阶段Step 3/3 SQL Instance Cleanup报错:主要有两个常见原因,一是你手动绑定的NSG、路由表规则不符合SQL MI的强制准入要求,二是子网CIDR范围不符合最小规格要求,或前次失败部署残留的虚拟集群资源未清理。

具体修复步骤

  1. 子网基础配置校验
    • 确认子网CIDR最小长度:常规用途层实例要求子网掩码不大于/27(至少32个可用地址),业务关键层实例要求子网掩码不大于/27,如需后续扩容实例建议预留/24及以上的地址段
    • 确认子网内未部署任何非SQL MI相关资源,包括VM、网卡、负载均衡、其他服务的委托配置等
  2. 配置符合要求的NSG
    必须在NSG中添加以下规则,且优先级高于所有自定义拒绝规则:
    • 入站规则:放开端口1433、1434、1452、3000039999、4000049999,来源为VirtualNetwork,动作为允许
    • 出站规则:放开端口443、9000、1438、1440、1452、3000039999、4000049999,目标为VirtualNetwork,动作为允许
  3. 配置符合要求的路由表
    • 路由表必须开启传播网关路由选项,不需要手动添加自定义路由,Azure会自动注入SQL MI所需的路由条目
  4. 调整Pulumi代码逻辑
    需将NSG、路由表的创建逻辑提前,在子网配置中关联这两个资源,参考代码片段如下:
    // 创建MI专用NSG
    var miNsg = new NetworkSecurityGroup("mi-nsg", new NetworkSecurityGroupArgs
    {
        ResourceGroupName = mainResourceGroup.Name,
        SecurityRules = new List<SecurityRuleArgs>
        {
            // 补充上述要求的所有入站、出站规则
        }
    });
    // 创建MI专用路由表
    var miRouteTable = new RouteTable("mi-routetable", new RouteTableArgs
    {
        ResourceGroupName = mainResourceGroup.Name,
        DisableBgpRoutePropagation = false // 必须开启传播网关路由
    });
    // 子网配置关联NSG、路由表和委托
    var spokeManagedInstanceSubnet = new Subnet($"{SpokeVirtualNetwork}.{ManagedInstanceSubnet}", new AzureNative.Network.SubnetArgs {
        // 保留原有子网配置参数
        NetworkSecurityGroupId = miNsg.Id,
        RouteTableId = miRouteTable.Id,
        Delegations = new List<DelegationArgs>
        {
            new DelegationArgs
            {
                Name = "mi-delegation",
                ServiceName = "Microsoft.Sql/managedInstances"
            }
        }
    }, new CustomResourceOptions { DependsOn = { spokeVnet, miNsg, miRouteTable } });
    
  5. 清理残留资源后重新部署
    前次部署失败后会残留关联的虚拟集群资源,需要先到对应资源组中删除所有和本次失败部署相关的SQL MI、虚拟集群资源,等待15分钟后再执行pulumi up重新部署,避免残留资源锁定导致部署继续失败。

内容的提问来源于stack exchange,提问作者MD TAREQ HASSAN

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 18:45:01