步驟 4. 建立管道 - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

步驟 4. 建立管道

建立管道。

在邏輯上定義管道之後,是時候建立基礎設施以支援管道。此步驟至少需要下列功能:

  • 儲存,以託管和管理管道輸入和輸出,包括程式碼、模型成品和用於訓練和推論執行的資料。

  • 運算 (GPU 或 CPU),用於建模和推論,以及資料預先處理和後置處理。

  • 協調,以管理正在使用的資源並排程任何定期執行。例如,當有新資料可用時,可能會定期重新訓練模型。

  • 記錄和提醒、監控管道模型準確性、資源使用率和故障診斷。

使用 實作 AWS CloudFormation

建立我們使用的管道 AWS CloudFormation,這是一種以程式碼形式部署和管理基礎設施 AWS 的服務。 AWS CloudFormation 範本包含使用 Step Functions SDK 在上一個步驟中建立的 Step Functions 定義。此步驟包含建立 AWS 受管的 Step Functions 執行個體,稱為 Step Functions 狀態機器。在此階段不會建立訓練和推論資源,因為訓練和推論任務只有在需要時才隨需執行,做為 SageMaker AI 任務。此步驟也包含建立 AWS Identity and Access Management (IAM) 角色以執行 Step Functions、執行 SageMaker AI,以及從 Amazon S3 讀取和寫入。

修改 Step Functions SDK 的輸出

我們必須對上一節的 AWS CloudFormation 輸出進行一些微幅修改。我們使用簡單的 Python 字串比對來執行下列動作:

  • 我們新增了建立 AWS CloudFormation 範本Parameters區段的邏輯。這是因為我們希望建立兩個角色,並將管道名稱定義為 參數以及部署環境。此步驟也涵蓋您可能想要建立的任何其他資源和角色,如步驟 6 所述。

  • 我們會重新格式化三個欄位,使其具有必要的!Sub字首和引號,以便做為部署程序的一部分動態更新:

    • StateMachineName 屬性,其會命名狀態機器。

    • DefinitionString 屬性,定義狀態機器。

    • 狀態機器傳回的 RoleArn 屬性。