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

在GCP虚拟机上运行MLFlow:公网IP访问UI失败求分步操作流程

在GCP VM实例上通过外部IP访问MLflow UI的完整操作流程

我帮你整理了一套亲测有效的完整步骤,一步步来就能解决外部无法访问MLflow UI的问题:

一、先确认VM实例的基础网络配置

  • 登录GCP控制台找到你的VM实例,先检查外部IP地址是否已分配——状态得是“已静态”或“临时”,不能是“无”,没有的话赶紧给实例分配一个外部IP。
  • 确认实例所在的VPC网络是默认网络或者你自定义的允许外部访问的网络,别用完全隔离的内部网络。

二、配置/验证GCP防火墙规则

MLflow默认用5000端口,必须给这个端口开外部访问权限:

  1. 进入GCP控制台的VPC网络 > 防火墙页面
  2. 点击「创建防火墙规则」,按以下信息填写:
    • 名称:取个好记的,比如allow-mlflow-5000
    • 网络:选择你的VM实例所在的VPC网络
    • 方向:选入站(外部流量进VM)
    • 目标:推荐选「指定的目标标签」,然后给你的VM实例加个对应标签(比如mlflow-server)——比开放所有实例更安全;如果图省事也可以选「所有实例在网络中」,但不推荐。
    • 来源IP范围:如果要让所有人访问填0.0.0.0/0,如果只允许自己的IP访问,就填你的本地公网IP(格式比如114.xxx.xxx.xxx/32)
    • 协议和端口:勾选tcp,填写5000
    • 点击「创建」就行
  3. 验证规则:确保规则是“已启用”状态,而且如果用了标签,你的VM实例已经添加上对应的标签(去VM实例详情页的「标签」部分看)

三、在VM上正确启动MLflow服务

这步最关键!很多人踩坑就是因为没绑定0.0.0.0:

  1. 登录VM实例——可以用GCP控制台的SSH按钮直接连,或者本地终端用gcloud compute ssh [你的实例名称]命令登录
  2. 先确认MLflow装好了:跑mlflow --version看看,如果没装就用pip install mlflow装一下
  3. 启动MLflow的时候,必须加上--host 0.0.0.0,这样才能监听所有网络接口,允许外部访问:
    mlflow server --host 0.0.0.0 --port 5000
    
    如果你需要把实验数据存到GCS或者自定义本地目录,再加两个参数就行:
    mlflow server --host 0.0.0.0 --port 5000 --backend-store-uri ./mlruns --default-artifact-root gs://你的存储桶名称/mlflow-artifacts
    
  4. 启动成功后,终端会输出Server is running at http://0.0.0.0:5000,这时候就可以去测试访问了

四、测试访问与问题排查

  1. 打开本地浏览器,输入http://[VM的外部IP]:5000,能打开MLflow UI就大功告成了!
  2. 如果还是访问不了,按下面的步骤排查:
    • 检查VM标签:确认实例已经加了防火墙规则里指定的标签,没加的话赶紧补上
    • 检查VM内部防火墙:有些Linux系统(比如Ubuntu)自带ufw防火墙,得开放5000端口:
      sudo ufw allow 5000/tcp
      sudo ufw reload
      
    • 检查MLflow监听地址:在VM上跑netstat -tulpn | grep 5000,输出得是0.0.0.0:5000,如果是127.0.0.1:5000,说明启动命令没加--host 0.0.0.0,重新启动就行
    • 测试网络连通性:本地终端用telnet [VM外部IP] 5000测试端口是否开放,如果不通,大概率是GCP防火墙规则没配置对

内容的提问来源于stack exchange,提问作者Shadab Hussain

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 22:27:43