AI News HubLIVE
站内改写

構建帶有嵌入式Amazon SageMaker AI MLflow應用的自定義門户

本文介紹瞭如何構建一個嵌入Amazon SageMaker AI MLflow應用UI的自定義門户,使用React前端和Flask反向代理實現AWS SigV4認證,並通過AWS CDK部署。該方案提供持久書籤URL,簡化訪問管理,並支持SSO集成。

文章情報

工程師入門

要點

  • 使用React前端和Flask反向代理架構,嵌入SageMaker AI MLflow應用UI。
  • 通過AWS CDK部署,自動處理SigV4認證,無需直接管理AWS憑證。
  • 提供持久、可書籤的URL,支持SSO集成和程序化API訪問。
  • 涵蓋部署步驟、驗證方法和安全考慮。

為甚麼重要

這條新聞值得關注,因為使用React前端和Flask反向代理架構,嵌入SageMaker AI MLflow應用UI。

技術影響

可能影響模型選型、推理成本、產品能力和評測基準。

隨着機器學習團隊的擴展,將Amazon SageMaker AI MLflow應用嵌入到自定義門户中需要可擴展的訪問管理方法。對於擁有數十名數據科學家的團隊,分發預簽名URL無法擴展,而授予個人AWS管理控制台訪問權限會增加管理員的管理開銷。依賴SSO集成內部門户的團隊需要能夠通過單一可書籤URL訪問其MLflow實驗跟蹤以及其他內部應用。通過自定義門户,您可以減少新團隊成員的上線時間,簡化訪問管理,併為數據科學家提供跨內部工具的一致體驗。

該解決方案為ML團隊提供了一個持久的、可書籤的URL,用於訪問完整的MLflow Web UI,無需預簽名URL或AWS管理控制台訪問。您可以將MLflow實驗跟蹤UI直接嵌入到組織的SSO集成內部門户或自定義儀表板中,使用户只需一次認證即可訪問實驗跟蹤以及其他內部工具。您的持續集成和持續交付(CI/CD)管道和自動化腳本可以通過相同的代理端點以編程方式與MLflow REST API交互,SigV4認證在後台處理。

**解決方案概述**

您部署一個自定義React Web應用,其中通過iframe嵌入SageMaker AI MLflow應用UI,並由運行在Amazon EC2上的Flask反向代理支持。架構由四個組件組成:

  • **應用程序負載均衡器(ALB)**:作為單一入口點,處理HTTPS終止,路由流量到後端目標,並與組織的DNS和證書基礎設施集成。
  • **React前端門户**:提供品牌化入口點,在iframe中嵌入MLflow跟蹤UI,並通過Flask代理從/app路徑提供靜態文件。
  • **Flask反向代理服務**:位於前端和MLflow後端之間,處理認證。它攔截請求,使用通過承擔專用IAM角色獲得的臨時憑證進行SigV4簽名,轉發請求到SageMaker AI MLflow應用端點,並重寫URL以適配iframe。
  • **Amazon SageMaker AI MLflow應用**:完全託管的MLflow後端,無需配置或修補服務器。

**架構與請求工作流程**

當用户導航到門户時,ALB將請求路由到EC2實例上的Flask代理。Flask代理提供React儀表板(來自/app路徑)。React應用渲染頁面並在指向/mlflow-ui/的iframe中加載MLflow UI。此後,iframe的每個請求都通過Flask代理,代理使用臨時憑證進行SigV4簽名並轉發到MLflow應用端點。代理在響應返回前重寫絕對URL為相對路徑,並移除X-Frame-Options頭以允許iframe渲染。

**部署步驟**

前提條件包括AWS賬户、AWS CLI v2.34.5+、Python 3.13+、AWS CDK v2、Node.js 18.x+、以及足夠的IAM權限。部署使用deploy.sh腳本自動執行CDK堆棧部署和MLflow應用創建。

  1. 克隆倉庫並安裝依賴:git clone ... && npm install
  2. 設置環境變量如賬户ID和區域。
  3. 引導CDK環境:cdk bootstrap
  4. 運行部署腳本:bash deploy.sh
  5. 登錄EC2實例(通過Session Manager),安裝Python 3.13及依賴,並設置MLflow代理服務。
  6. 通過瀏覽器打開ALB URL驗證,或使用curl測試REST API(如創建實驗、記錄運行)。

**清理**

運行bash cleanup.sh以逆序刪除資源,包括Flask應用堆棧、MLflow應用、SageMaker域等。

**安全考慮**

生產環境應使用HTTPS(通過ACM證書),並限制IAM角色權限。Flask代理使用最小權限原則,僅允許必要的MLflow API操作。

該方案為ML團隊提供了安全、可擴展的MLflow訪問方式,簡化了管理並提升了用户體驗。