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

使用Databricks连接Azure SQL:自动添加集群IP至防火墙方案咨询

解决Databricks集群自动添加IP到Azure SQL防火墙的方案

方案一:集群初始化脚本+Azure REST API(临时IP自动管理)

这是适配临时集群场景的自动化方案,通过集群启动时的初始化脚本自动获取出口IP并添加防火墙规则,同时配合清理机制避免规则堆积:

  1. 配置权限
    给Databricks集群使用的托管身份(或服务主体)授予目标Azure SQL服务器的Network Contributor角色,确保拥有修改防火墙规则的权限。

  2. 编写集群初始化脚本
    在Databricks工作区创建初始化脚本(例如add_sql_firewall.sh),示例内容如下:

    # 获取集群出口公网IP
    CLUSTER_IP=$(curl -s https://api.ipify.org)
    # 定义Azure SQL服务器核心信息
    SQL_SERVER_NAME="your-sql-server-name"
    RESOURCE_GROUP="your-resource-group"
    # 用时间戳命名规则,避免重复冲突
    RULE_NAME="databricks-cluster-$(date +%Y%m%d%H%M%S)"
    RULE_START_IP=$CLUSTER_IP
    RULE_END_IP=$CLUSTER_IP
    
    # 调用Azure CLI添加防火墙规则
    az sql server firewall-rule create \
      --resource-group $RESOURCE_GROUP \
      --server $SQL_SERVER_NAME \
      --name $RULE_NAME \
      --start-ip-address $RULE_START_IP \
      --end-ip-address $RULE_END_IP
    
    • 脚本需确保集群节点已安装Azure CLI,若未预装,可在脚本开头添加安装命令;也可直接调用Azure REST API完成规则创建。
    • 敏感信息(如服务主体凭据)需存储在Databricks Secrets中,脚本通过密钥读取方式调用。
  3. 配置规则清理机制
    为避免防火墙规则过多,可通过Databricks集群生命周期钩子,在集群终止时触发作业调用API删除对应规则;或使用Azure自动化账户定期清理过期的临时规则。

方案二:VNet集成(长期稳定方案)

若流水线为长期固定运行,推荐采用VNet注入将Databricks集群部署至Azure虚拟网络,后续只需一次配置即可永久解决IP问题:

  • 在Azure SQL服务器防火墙规则中添加该VNet的子网IP范围,允许内网直接访问;
  • 或给Azure SQL服务器配置VNet服务端点,限制仅指定VNet子网能访问,全程无需依赖公网IP,安全性更高。

方案三:允许所有Azure服务访问(仅测试环境可用)

Azure SQL提供"允许Azure服务和资源访问此服务器"的开关,开启后所有Azure服务(含Databricks)均可访问,但此配置会大幅扩大攻击面,生产环境严禁使用,仅适合临时测试场景。


内容的提问来源于stack exchange,提问作者harsh panday

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 12:15:03