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訪問方式,簡化了管理並提升了使用者體驗。