AI 快讯 编译自 aws_ml_blog #AWS#MLflow#REST API

AWS 发布 Flask 代理服务,通过 REST API 安全访问 SageMaker MLflow,无需 SDK

AWS 推出基于 Flask 的 MLflow 代理服务,通过 HTTPS REST API 访问 SageMaker MLflow,无需 MLflow SDK。适合企业安全策略限制或遗留系统集成场景,支持 IAM 认证和请求签名。本文详解架构、部署步骤及对中文企业用户的意义。

编译发布 2026/05/28 原文发布 2026/05/28

一句话看懂

AWS 发布了一个 Flask 代理服务,让企业通过标准 HTTPS REST API 安全访问 SageMaker MLflow,无需安装 MLflow SDK。

详细发生了什么

AWS 官方博客发布了一篇技术文章,介绍如何构建一个基于 Flask 的 MLflow 代理服务,用于安全地通过 HTTPS 访问 Amazon SageMaker MLflow。该方案主要面向正在经历云转型的企业,这些企业因安全策略、网络限制或遗留系统约束,无法直接使用 MLflow SDK,但希望保留现有 ML 工作流并采用云原生服务。

核心架构包含三个组件:

  1. Application Load Balancer (ALB):作为入口路由器,处理流量分发、SSL 终止和自定义域名支持。
  2. Flask MLflow Proxy Service:Python Flask 应用,负责拦截 HTTPS 请求、处理 AWS IAM 认证、URL 预签名和请求转换。
  3. Amazon SageMaker MLflow:AWS 托管的 MLflow 服务,支持两种部署模式——MLflow Tracking Server(托管跟踪服务器)和 MLflowApp(无服务器应用)。

请求流程:客户端发起 HTTPS 请求 → ALB 路由到 Flask 代理 → 代理进行 IAM 认证和 URL 预签名 → 调用 SageMaker MLflow REST API → 返回响应给客户端。

部署步骤包括:使用 AWS CDK 部署基础设施(VPC、SageMaker 域、MLflow 服务、Flask 应用),在 EC2 实例上安装 Python 3.13 和依赖,启动代理服务,并通过 curl 或 Python 脚本验证 REST API 访问。

中文圈视角

对于中文企业用户,这个方案有几点值得关注:

  1. 解决 SDK 限制问题:很多国内企业有严格的安全策略,不允许直接安装第三方 SDK 或访问外网。通过 HTTPS REST API 代理,可以绕过这些限制,用标准 HTTP 请求与 MLflow 交互,兼容现有企业防火墙和代理配置。

  2. 国产替代对比:国内类似服务如阿里云 PAI、百度 BML、华为云 ModelArts 也提供 MLflow 集成,但通常需要 SDK 或特定客户端。AWS 这个方案更灵活,适合多云或混合云场景。如果企业已使用 AWS,可直接部署;如果使用国内云,可参考此思路自建代理服务。

  3. 合规与数据安全:代理服务通过 IAM 认证和预签名 URL 确保安全,数据不经过第三方。对于有数据出境合规要求的企业,可以确保 MLflow 访问在 AWS 内部完成,避免数据泄露风险。

  4. 中文文档缺失:目前 AWS 官方博客只有英文,中文社区对此方案讨论较少。建议国内用户关注 GitHub 仓库(aws-samples/sample-sagemaker-mlflow-rest-apis)的更新,或自行翻译部署脚本。

几条值得记住的细节

  • 部署时间约 40 分钟,使用 AWS CDK 一键部署四个堆栈(网络、SageMaker 域、MLflow、Flask 应用)。
  • 支持两种 MLflow 模式:Tracking Server(托管)和 Serverless(无服务器),通过参数 mlflowType 选择。
  • 代理服务运行在 EC2 实例上,使用 systemd 管理,日志通过 journalctl -u mlflowproxy 查看。
  • 验证方式:使用 curl 或 Python 脚本调用 MLflow REST API 端点,如 list_experiments
  • 成本主要来自 EC2 实例、ALB、SageMaker 资源和 S3 存储,建议使用 AWS Pricing Calculator 预估。

一句话总结

如果你的企业因安全策略无法使用 MLflow SDK,这个 Flask 代理方案让你通过标准 REST API 安全集成 SageMaker MLflow。