使用 REST API 代理简化对 Amazon SageMaker MLflow 的外部访问

在本文中,我们演示如何构建基于 Flask 的安全 MLflow 代理服务,该服务提供对 Amazon SageMaker MLflow 的 HTTPS 访问,而无需 MLflow SDK。该解决方案适用于正在进行云转型、希望在采用云原生服务的同时保留现有机器学习工作流程的组织。

来源:亚马逊云科技 _机器学习

机器学习 (ML) 团队使用 MLflow 有效管理其 ML 生命周期。Amazon SageMaker MLflow 提供全面的 ML 实验跟踪和模型管理功能。然而,许多企业现有的基础设施要求需要基于 HTTPS 的集成,而不是直接使用 SDK。

许多组织需要将 Amazon SageMaker MLflow 与其已建立的系统集成,同时维护其安全性和基础设施模式。这种集成挑战会影响由于公司安全策略、网络限制或旧系统限制而无法直接使用 SDK 的团队。

在本文中,我们演示如何构建基于 Flask 的安全 MLflow 代理服务,该服务提供对 Amazon SageMaker MLflow 的 HTTPS 访问,而无需 MLflow SDK。该解决方案适用于正在进行云转型、希望在采用云原生服务的同时保留现有机器学习工作流程的组织。

这篇文章涵盖以下主题:

  • 为 MLflow HTTPS 请求实现 MLflow 代理服务。
  • 配置 AWS Identity and Access Management (IAM) 身份验证以实现安全访问。
  • 管理 URL 预签名和请求转换。
  • 实施此解决方案后,您可以:

  • 通过标准 HTTPS 端点安全地访问 SageMaker MLflow。
  • 保持符合组织的安全要求。
  • 将 MLflow 与现有企业系统集成。
  • 降低实施复杂性和维护开销。
  • 解决方案概述

    基于 Flask 的轻量级 MLflow 代理架构通过三个关键组件提供企业系统和 Amazon SageMaker MLflow 之间的安全集成。

    组件 1:应用程序负载均衡器 (ALB)

    AWS Application Load Balancer 充当上游路由器,提供以下功能:

  • MLflow UI 和 REST API 请求的流量分配。
  • 初始请求处理和路由。
  • 支持自定义域名和 SSL 终止。
  • 组件 2:Flask MLflow 代理服务

    请求工作流程